fix: enrollment eligibility conditions

This commit is contained in:
Jannat Patel
2025-12-22 10:55:36 +05:30
parent 09c668f7ed
commit 01094cd10a
2 changed files with 7 additions and 2 deletions

View File

@@ -39,7 +39,7 @@ class LMSEnrollment(Document):
"reference_doctype": "LMS Course",
"reference_docname": self.course,
"member": self.member,
"payment_receipt": True,
"payment_received": True,
},
)

View File

@@ -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(