diff --git a/lms/install.py b/lms/install.py index fca317b0..3bd0539b 100644 --- a/lms/install.py +++ b/lms/install.py @@ -9,6 +9,7 @@ def after_install(): def after_sync(): create_lms_roles() set_default_home() + set_default_certificate_print_format() add_all_roles_to("Administrator") @@ -76,7 +77,7 @@ def create_course_creator_role(): "desk_access": 0, } ) - role.save(ignore_permissions=True) + role.save() def create_moderator_role(): @@ -89,7 +90,7 @@ def create_moderator_role(): "desk_access": 0, } ) - role.save(ignore_permissions=True) + role.save() def create_evaluator_role(): @@ -102,7 +103,26 @@ def create_evaluator_role(): "desk_access": 0, } ) - role.save(ignore_permissions=True) + role.save() + + +def set_default_certificate_print_format(): + filters = { + "doc_type": "LMS Certificate", + "property": "default_print_format", + } + if not frappe.db.exists("Property Setter", filters): + filters.update( + { + "doctype_or_field": "DocType", + "property_type": "Data", + "value": "Certificate", + } + ) + + doc = frappe.new_doc("Property Setter") + doc.update(filters) + doc.save() def delete_custom_fields(): diff --git a/lms/lms/doctype/lms_certificate/lms_certificate.py b/lms/lms/doctype/lms_certificate/lms_certificate.py index bf3fc1c0..daa400e4 100644 --- a/lms/lms/doctype/lms_certificate/lms_certificate.py +++ b/lms/lms/doctype/lms_certificate/lms_certificate.py @@ -24,17 +24,15 @@ class LMSCertificate(Document): _("{0} is already certified for the course {1}").format(full_name, course_name) ) - def after_insert(self): - share = frappe.get_doc( - { - "doctype": "DocShare", - "read": 1, - "share_doctype": "LMS Certificate", - "share_name": self.name, - "user": self.member, - } + def on_update(self): + frappe.share.add_docshare( + self.doctype, + self.name, + self.member, + write=1, + share=1, + flags={"ignore_share_permission": True}, ) - share.save(ignore_permissions=True) @frappe.whitelist() diff --git a/lms/lms/print_format/certificate/certificate.json b/lms/lms/print_format/certificate/certificate.json index cea5f505..47b27f51 100644 --- a/lms/lms/print_format/certificate/certificate.json +++ b/lms/lms/print_format/certificate/certificate.json @@ -1,7 +1,7 @@ { "absolute_value": 0, "align_labels_right": 0, - "creation": "2023-02-22 21:36:54.560420", + "creation": "2023-08-09 17:02:21.430320", "css": ".outer-border {\n font-family: \"Inter\" sans-serif;\n font-size: 16px;\n border-radius: 0.5rem;\n border: 1px solid #E2E6E9;\n padding: 1rem;\n}\n\n.inner-border {\n border: 10px solid #0089FF;\n border-radius: 8px;\n text-align: center;\n padding: 6rem 4rem;\n background-color: #FFFFFF;\n}\n\n.certificate-logo {\n height: 1.5rem;\n margin-bottom: 4rem;\n}\n\n.certificate-name {\n font-size: 2rem;\n font-weight: 500;\n color: #192734;\n margin-bottom: 0.5rem;\n}\n\n.certificate-footer {\n margin: 4rem auto 0;\n width: 70%;\n text-align: center;\n}\n\n.certificate-footer-item {\n color: #192734;\n}\n\n.cursive-font {\n font-family: cursive;\n font-weight: 600;\n}\n\n.certificate-divider {\n margin: 0.5rem 0;\n}\n\n.certificate-expiry {\n margin-left: 2rem;\n}", "custom_format": 1, "disabled": 0, @@ -10,14 +10,14 @@ "doctype": "Print Format", "font_size": 14, "format_data": "{\"header\":\"
{{ doc.name }}
\\n| \n \n \n {{ _(\"Course Instructor\") }} \n | \n {% endif %}\n \n {% if certificate.expiry_date %}\n \n \n | \n \n \n {{ _(\"Expiry Date\") }} \n | \n {% endif %}\n
| \n \n \n {{ _(\"Course Instructor\") }} \n | \n {% endif %}\n \n {% if certificate.expiry_date %}\n \n \n | \n \n \n {{ _(\"Expiry Date\") }} \n | \n {% endif %}\n