I changed his last name in his user profile and told him to regenerate his certificate, but it's still giving him the one with the old last name on it.
Thinking I was being smart, I went in to moodledata and found his certificate and deleted the PDF file, hoping it would pull the new last name from his user profile - but it didn't.
Does anybody have a suggestion for how to get around this?
Sorry it took me so long to reply. You have to find and delete it in the mysql. I was misreading your post and thought that you had done that. Go to the mdl certificate issues table. If you have phpmyadmin it will look like this and you can then use the x to delete the issued certificate. The student name appears under student name but I scrubbed them from the screen shot for privacy reasons.
First, I believe these instructions are for the latest version of certificate that works with 1.9.7
Are the steps:
Correct student's name via the profile.
Find the pdf file for the certificate in moodledata under the course folder and delete it.
Find the record in the certificate_issued table and delete it.
Go back in as the student and create the certificate.
Is that right? I am guessing nasty things happen if the pdf is left in Moodledata.
I have a 1.9.1 test server with certificate. This does not have a list of pdfs in the report of all certificates issued like my production server (1.9.7). And in my 1.9.1 server there are no certificates stored in Moodledata (moodledata/course#/Certificate/user#), but I can see empty folders. I was able to edit the name in certificate_issue table. When I went in as the student and viewed the certificate, it evidently created a new view of the certificate (with the old security code) with the certificate_issue student name. Editing the student name in their profile had no impact.
In any case, the certificate_issue table is what counts when it comes to a name.
Next ideal correction: I want the real issue date to appear (when they completed the course). Was guessing in the latest and greatest, if the student enters the certificate activity but never views the certificate, then a record is created. I can then edit the certificate_issue record with a new data. Then when the certificate is viewed by the student for the first time, it will use the stored information in the record. Whew, but will it work?
Not really. Entering the certificate activity does nothing. Once the student gets certificate it pops out. The date and time of issue are stored in the same database table seen in the screen shot. The certificate issue date is either date of course completion (and ending date needs to be set on the course for this to work) or date of issue.
I had to reissue 3 certificates in the last week because the spelling was wrong. People pay for things with their parents credit card or we make a data entry mistake and it is not caught until they see their fancy certificate.
I do not have rights to the database but our site admin is friendly. My previous posts basically asks if both the moodledata pdf file and MySQL table record have to be deleted, so the student can create a new corrected certificate?
I have a work around from the interface side. My solution was to create a "Special Certificate" in the course. It has the same conditions to get it, I just hide it. I correct the spelling on the user, turn on the "special", login as the user, go to the special and view my certificate. Save a copy of the certificate on my computer, log backin and hide the special. Send the customer and customer service a copy of the "new" certificate.
I give myself a gold star for working on the weekend and assisting customer service!
Still curious about the moodledata pdf and MySQL record deletion question.
Thanks helping people with Certificate.
Yes you have to delete both the sql entry and the moodledata.
I love a good work around too. 1/2 of what I suggest is just outside the box stuff.
Would creating a new user with the proper name, issuing the certificate and then switching the PDF files in moodledata work?