fix: add new batch form enhancements
This commit is contained in:
@@ -6,12 +6,23 @@ from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe.model.document import Document
|
||||
from community.www.courses.utils import get_member_with_email
|
||||
from frappe import _
|
||||
from community.lms.doctype.lms_batch_membership.lms_batch_membership import create_membership
|
||||
|
||||
class LMSBatch(Document):
|
||||
def validate(self):
|
||||
self.validate_if_mentor()
|
||||
if not self.code:
|
||||
self.generate_code()
|
||||
|
||||
def validate_if_mentor(self):
|
||||
course = frappe.get_doc("LMS Course", self.course)
|
||||
if not course.is_mentor(frappe.session.user):
|
||||
frappe.throw(_("You are not a mentor of the course {0}").format(course.title))
|
||||
|
||||
def after_insert(self):
|
||||
create_membership(batch=self.title, member_type="Mentor")
|
||||
|
||||
def generate_code(self):
|
||||
short_code = frappe.db.get_value("LMS Course", self.course, "short_code")
|
||||
course_batches = frappe.get_all("LMS Batch",{"course":self.course})
|
||||
|
||||
@@ -29,7 +29,7 @@ class LMSBatchMembership(Document):
|
||||
frappe.throw(_("{0} is already a {1} of {2} course through {3} batch").format(member_name, membership.member_type, course, membership.batch))
|
||||
|
||||
@frappe.whitelist()
|
||||
def create_membership(batch, course=None, member=None, member_type="Student", role="Member"):
|
||||
def create_membership(batch, member=None, member_type="Student", role="Member"):
|
||||
if not member:
|
||||
member = frappe.db.get_value("Community Member", {"email": frappe.session.user}, "name")
|
||||
frappe.get_doc({
|
||||
@@ -39,7 +39,4 @@ def create_membership(batch, course=None, member=None, member_type="Student", ro
|
||||
"member_type": member_type,
|
||||
"member": member
|
||||
}).save(ignore_permissions=True)
|
||||
if course:
|
||||
course_slug = frappe.db.get_value("LMS Course", {"title": course}, ["slug"])
|
||||
return course_slug
|
||||
return "OK"
|
||||
|
||||
Reference in New Issue
Block a user