From 40445cbb946f8f953973205014c5fa3930c61dd9 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Thu, 4 May 2023 12:08:01 +0530 Subject: [PATCH] fix: share certificate with member on creation --- .../doctype/lms_certificate/lms_certificate.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/lms/lms/doctype/lms_certificate/lms_certificate.py b/lms/lms/doctype/lms_certificate/lms_certificate.py index 5e4f8688..232770e6 100644 --- a/lms/lms/doctype/lms_certificate/lms_certificate.py +++ b/lms/lms/doctype/lms_certificate/lms_certificate.py @@ -9,7 +9,10 @@ from lms.lms.utils import is_certified class LMSCertificate(Document): - def before_insert(self): + def validate(self): + self.validate_duplicate_certificate() + + def validate_duplicate_certificate(self): certificates = frappe.get_all( "LMS Certificate", {"member": self.member, "course": self.course} ) @@ -20,6 +23,18 @@ 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, + } + ) + share.save(ignore_permissions=True) + @frappe.whitelist() def create_certificate(course):