I am building a new website to replace a Drupal 7 website that has an online training platform using quiz, quiz_certificate and certificate and a custom content type called syllabus. The website also uses panels and interjections of custom php, both of which I am not interested in doing.
We need to display the date that a user passed the quiz and earned the certificate, this is of utmost important as our users return on a regular basis to earn the same certificate. The previous dev used a current date token so that whenever they download a certificate, it has the current date on it and not the date of when they passed the quiz.
I am wondering if it can't display tokens related to user's quiz results because I am using it incorrectly or it's not designed to do that, and if not then I am wondering what Certificate is supposed do when it is used with Quiz. The token for the time the quiz was passed or ended should be end_time
.
Furthermore, anyone can access a certificate, whether they passed or not unless I block their access to it using a math equation in a view based on their score. They could theoretically just go to our website and construct a certain URL to get the certificate (node/[nid]/certificate
). The quiz is set to "award certificate" and the individual quiz nodes are set to "manual".
If it is not possible to get quiz result-based tokens into the certificate, could I build a view that will act like a certificate?
If anyone is interested, the view I build to allow users to access their certificate if they got a passing score but not if they didn't can be downloaded here. The math expression I had to use was to rewrite any non-zero number as "download certificate" with the link and then hide for zero. They get a zero for anything less than passing with abs(([score]+1)-[pass_rate])+(([score]+1)-[pass_rate])
.