diff --git a/lms/lms/doctype/lms_enrollment/lms_enrollment.py b/lms/lms/doctype/lms_enrollment/lms_enrollment.py index e4c46360..11f6b292 100644 --- a/lms/lms/doctype/lms_enrollment/lms_enrollment.py +++ b/lms/lms/doctype/lms_enrollment/lms_enrollment.py @@ -39,7 +39,7 @@ class LMSEnrollment(Document): "reference_doctype": "LMS Course", "reference_docname": self.course, "member": self.member, - "payment_receipt": True, + "payment_received": True, }, ) diff --git a/lms/lms/utils.py b/lms/lms/utils.py index 2bf2be7c..3a737108 100644 --- a/lms/lms/utils.py +++ b/lms/lms/utils.py @@ -1800,7 +1800,7 @@ def validate_enrollment_eligibility(batch_doc, payment_doc=None): if not payment_doc or not payment_doc.payment_received: frappe.throw(_("Payment is required to enroll in this batch.")) - elif not batch_doc.allow_self_enrollment: + elif not batch_doc.allow_self_enrollment and not is_admin(): frappe.throw(_("Enrollment in this batch is restricted. Please contact the Administrator.")) students = frappe.db.count("LMS Batch Enrollment", {"batch": batch_doc.name}) @@ -1808,6 +1808,11 @@ def validate_enrollment_eligibility(batch_doc, payment_doc=None): frappe.throw(_("There are no seats available in this batch.")) +def is_admin(): + roles = frappe.get_roles(frappe.session.user) + return "Course Creator" in roles or "Moderator" in roles or "Batch Evaluator" in roles + + def create_enrollment(batch, payment_doc=None): new_student = frappe.new_doc("LMS Batch Enrollment") new_student.update(