fix: replaced batch references

This commit is contained in:
Jannat Patel
2023-08-26 15:44:19 +05:30
parent 09dbe0fed7
commit c350ce1b60
9 changed files with 21 additions and 19 deletions

View File

@@ -119,7 +119,7 @@
{ {
"group": "Members", "group": "Members",
"link_doctype": "LMS Enrollment", "link_doctype": "LMS Enrollment",
"link_fieldname": "batch" "link_fieldname": "batch_old"
} }
], ],
"modified": "2022-09-28 18:43:22.955907", "modified": "2022-09-28 18:43:22.955907",

View File

@@ -28,7 +28,7 @@ class LMSBatchOld(Document):
If member_type is specified, checks if the person is a Student/Mentor. If member_type is specified, checks if the person is a Student/Mentor.
""" """
filters = {"batch": self.name, "member": email} filters = {"batch_old": self.name, "member": email}
if member_type: if member_type:
filters["member_type"] = member_type filters["member_type"] = member_type
return frappe.db.exists("LMS Enrollment", filters) return frappe.db.exists("LMS Enrollment", filters)
@@ -37,7 +37,7 @@ class LMSBatchOld(Document):
"""Returns the membership document of given user.""" """Returns the membership document of given user."""
name = frappe.get_value( name = frappe.get_value(
doctype="LMS Enrollment", doctype="LMS Enrollment",
filters={"batch": self.name, "member": email}, filters={"batch_old": self.name, "member": email},
fieldname="name", fieldname="name",
) )
return frappe.get_doc("LMS Enrollment", name) return frappe.get_doc("LMS Enrollment", name)
@@ -53,7 +53,7 @@ def save_message(message, batch):
doc = frappe.get_doc( doc = frappe.get_doc(
{ {
"doctype": "LMS Message", "doctype": "LMS Message",
"batch": batch, "batch_old": batch,
"author": frappe.session.user, "author": frappe.session.user,
"message": message, "message": message,
} }
@@ -84,7 +84,7 @@ def switch_batch(course_name, email, batch_name):
membership.save() membership.save()
# update exercise submissions # update exercise submissions
filters = {"owner": email, "batch": old_batch.name} filters = {"owner": email, "batch_old": old_batch.name}
for name in frappe.db.get_all("Exercise Submission", filters=filters, pluck="name"): for name in frappe.db.get_all("Exercise Submission", filters=filters, pluck="name"):
doc = frappe.get_doc("Exercise Submission", name) doc = frappe.get_doc("Exercise Submission", name)
print("updating exercise submission", name) print("updating exercise submission", name)

View File

@@ -121,7 +121,7 @@ class LMSCourse(Document):
batch_name = frappe.get_value( batch_name = frappe.get_value(
doctype="LMS Enrollment", doctype="LMS Enrollment",
filters={"course": self.name, "member_type": "Student", "member": email}, filters={"course": self.name, "member_type": "Student", "member": email},
fieldname="batch", fieldname="batch_old",
) )
return batch_name and frappe.get_doc("LMS Batch Old", batch_name) return batch_name and frappe.get_doc("LMS Batch Old", batch_name)
@@ -129,7 +129,7 @@ class LMSCourse(Document):
batches = frappe.get_all("LMS Batch Old", {"course": self.name}) batches = frappe.get_all("LMS Batch Old", {"course": self.name})
if mentor: if mentor:
# TODO: optimize this # TODO: optimize this
memberships = frappe.db.get_all("LMS Enrollment", {"member": mentor}, ["batch"]) memberships = frappe.db.get_all("LMS Enrollment", {"member": mentor}, ["batch_old"])
batch_names = {m.batch_old for m in memberships} batch_names = {m.batch_old for m in memberships}
return [b for b in batches if b.name in batch_names] return [b for b in batches if b.name in batch_names]
@@ -160,7 +160,7 @@ class LMSCourse(Document):
def get_all_memberships(self, member): def get_all_memberships(self, member):
all_memberships = frappe.get_all( all_memberships = frappe.get_all(
"LMS Enrollment", {"member": member, "course": self.name}, ["batch"] "LMS Enrollment", {"member": member, "course": self.name}, ["batch_old"]
) )
for membership in all_memberships: for membership in all_memberships:
membership.batch_title = frappe.db.get_value( membership.batch_title = frappe.db.get_value(

View File

@@ -36,6 +36,8 @@ class TestLMSCourse(unittest.TestCase):
frappe.db.delete("Exercise Latest Submission", {"course": "test-course"}) frappe.db.delete("Exercise Latest Submission", {"course": "test-course"})
frappe.db.delete("LMS Exercise", {"course": "test-course"}) frappe.db.delete("LMS Exercise", {"course": "test-course"})
frappe.db.delete("LMS Enrollment", {"course": "test-course"}) frappe.db.delete("LMS Enrollment", {"course": "test-course"})
frappe.db.delete("Course Lesson", {"course": "test-course"})
frappe.db.delete("Course Chapter", {"course": "test-course"})
frappe.db.delete("LMS Batch Old", {"course": "test-course"}) frappe.db.delete("LMS Batch Old", {"course": "test-course"})
frappe.db.delete("LMS Course Mentor Mapping", {"course": "test-course"}) frappe.db.delete("LMS Course Mentor Mapping", {"course": "test-course"})
frappe.db.delete("Course Instructor", {"parent": "test-course"}) frappe.db.delete("Course Instructor", {"parent": "test-course"})

View File

@@ -14,7 +14,7 @@ class LMSEnrollment(Document):
def validate_membership_in_same_batch(self): def validate_membership_in_same_batch(self):
filters = {"member": self.member, "course": self.course, "name": ["!=", self.name]} filters = {"member": self.member, "course": self.course, "name": ["!=", self.name]}
if self.batch_old: if self.batch_old:
filters["batch"] = self.batch_old filters["batch_old"] = self.batch_old
previous_membership = frappe.db.get_value( previous_membership = frappe.db.get_value(
"LMS Enrollment", filters, fieldname=["member_type", "member"], as_dict=1 "LMS Enrollment", filters, fieldname=["member_type", "member"], as_dict=1
) )
@@ -43,7 +43,7 @@ class LMSEnrollment(Document):
"member_type": "Student", "member_type": "Student",
"course": self.course, "course": self.course,
}, },
fields=["batch", "member_type", "name"], fields=["batch_old", "member_type", "name"],
) )
if memberships: if memberships:
@@ -63,7 +63,7 @@ def create_membership(
frappe.get_doc( frappe.get_doc(
{ {
"doctype": "LMS Enrollment", "doctype": "LMS Enrollment",
"batch": batch, "batch_old": batch,
"course": course, "course": course,
"role": role, "role": role,
"member_type": member_type, "member_type": member_type,
@@ -82,7 +82,7 @@ def update_current_membership(batch, course, member):
frappe.db.set_value("LMS Enrollment", membership.name, "is_current", 0) frappe.db.set_value("LMS Enrollment", membership.name, "is_current", 0)
current_membership = frappe.get_all( current_membership = frappe.get_all(
"LMS Enrollment", {"batch": batch, "member": member} "LMS Enrollment", {"batch_old": batch, "member": member}
) )
if len(current_membership): if len(current_membership):
frappe.db.set_value("LMS Enrollment", current_membership[0].name, "is_current", 1) frappe.db.set_value("LMS Enrollment", current_membership[0].name, "is_current", 1)

View File

@@ -41,7 +41,7 @@ class TestLMSEnrollment(unittest.TestCase):
doc = frappe.get_doc( doc = frappe.get_doc(
{ {
"doctype": "LMS Enrollment", "doctype": "LMS Enrollment",
"batch": batch_name, "batch_old": batch_name,
"member": member_name, "member": member_name,
"member_type": member_type, "member_type": member_type,
"course": course, "course": course,

View File

@@ -63,14 +63,14 @@ def get_membership(course, member=None, batch=None):
filters = {"member": member, "course": course} filters = {"member": member, "course": course}
if batch: if batch:
filters["batch"] = batch filters["batch_old"] = batch
is_member = frappe.db.exists("LMS Enrollment", filters) is_member = frappe.db.exists("LMS Enrollment", filters)
if is_member: if is_member:
membership = frappe.db.get_value( membership = frappe.db.get_value(
"LMS Enrollment", "LMS Enrollment",
filters, filters,
["name", "batch", "current_lesson", "member_type", "progress"], ["name", "batch_old", "current_lesson", "member_type", "progress"],
as_dict=True, as_dict=True,
) )
@@ -196,7 +196,7 @@ def get_students(course, batch=None):
filters = {"course": course, "member_type": "Student"} filters = {"course": course, "member_type": "Student"}
if batch: if batch:
filters["batch"] = batch filters["batch_old"] = batch
return frappe.get_all("LMS Enrollment", filters, ["member"]) return frappe.get_all("LMS Enrollment", filters, ["member"])
@@ -650,7 +650,7 @@ def get_all_memberships(member):
return frappe.get_all( return frappe.get_all(
"LMS Enrollment", "LMS Enrollment",
{"member": member}, {"member": member},
["name", "course", "batch", "current_lesson", "member_type", "progress"], ["name", "course", "batch_old", "current_lesson", "member_type", "progress"],
) )

View File

@@ -51,7 +51,7 @@ frappe.ready(() => {
frappe.call({ frappe.call({
"method": "lms.lms.doctype.lms_batch_membership.lms_batch_membership.create_membership", "method": "lms.lms.doctype.lms_batch_membership.lms_batch_membership.create_membership",
"args": { "args": {
"batch": {{ batch.name }}, "batch_old": {{ batch.name }},
"course": {{ batch.course }} "course": {{ batch.course }}
}, },
"callback": (data) => { "callback": (data) => {

View File

@@ -72,7 +72,7 @@ def get_context(context):
context.page_extensions = get_page_extensions(context) context.page_extensions = get_page_extensions(context)
context.page_context = { context.page_context = {
"course": context.course.name, "course": context.course.name,
"batch": context.batch_old, "batch_old": context.batch_old,
"lesson": context.lesson.name if context.lesson.name else "New Lesson", "lesson": context.lesson.name if context.lesson.name else "New Lesson",
"is_member": context.membership is not None, "is_member": context.membership is not None,
} }