From c350ce1b6029cac3bdf0dd8a5062d494fc822bc6 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Sat, 26 Aug 2023 15:44:19 +0530 Subject: [PATCH] fix: replaced batch references --- lms/lms/doctype/lms_batch_old/lms_batch_old.json | 2 +- lms/lms/doctype/lms_batch_old/lms_batch_old.py | 8 ++++---- lms/lms/doctype/lms_course/lms_course.py | 6 +++--- lms/lms/doctype/lms_course/test_lms_course.py | 2 ++ lms/lms/doctype/lms_enrollment/lms_enrollment.py | 8 ++++---- lms/lms/doctype/lms_enrollment/test_lms_enrollment.py | 2 +- lms/lms/utils.py | 8 ++++---- lms/www/batch/join.html | 2 +- lms/www/batch/learn.py | 2 +- 9 files changed, 21 insertions(+), 19 deletions(-) diff --git a/lms/lms/doctype/lms_batch_old/lms_batch_old.json b/lms/lms/doctype/lms_batch_old/lms_batch_old.json index dbe24d1c..5f643ca2 100644 --- a/lms/lms/doctype/lms_batch_old/lms_batch_old.json +++ b/lms/lms/doctype/lms_batch_old/lms_batch_old.json @@ -119,7 +119,7 @@ { "group": "Members", "link_doctype": "LMS Enrollment", - "link_fieldname": "batch" + "link_fieldname": "batch_old" } ], "modified": "2022-09-28 18:43:22.955907", diff --git a/lms/lms/doctype/lms_batch_old/lms_batch_old.py b/lms/lms/doctype/lms_batch_old/lms_batch_old.py index 07373d1a..2be04d01 100644 --- a/lms/lms/doctype/lms_batch_old/lms_batch_old.py +++ b/lms/lms/doctype/lms_batch_old/lms_batch_old.py @@ -28,7 +28,7 @@ class LMSBatchOld(Document): 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: filters["member_type"] = member_type return frappe.db.exists("LMS Enrollment", filters) @@ -37,7 +37,7 @@ class LMSBatchOld(Document): """Returns the membership document of given user.""" name = frappe.get_value( doctype="LMS Enrollment", - filters={"batch": self.name, "member": email}, + filters={"batch_old": self.name, "member": email}, fieldname="name", ) return frappe.get_doc("LMS Enrollment", name) @@ -53,7 +53,7 @@ def save_message(message, batch): doc = frappe.get_doc( { "doctype": "LMS Message", - "batch": batch, + "batch_old": batch, "author": frappe.session.user, "message": message, } @@ -84,7 +84,7 @@ def switch_batch(course_name, email, batch_name): membership.save() # 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"): doc = frappe.get_doc("Exercise Submission", name) print("updating exercise submission", name) diff --git a/lms/lms/doctype/lms_course/lms_course.py b/lms/lms/doctype/lms_course/lms_course.py index 0e22f237..6b51022d 100644 --- a/lms/lms/doctype/lms_course/lms_course.py +++ b/lms/lms/doctype/lms_course/lms_course.py @@ -121,7 +121,7 @@ class LMSCourse(Document): batch_name = frappe.get_value( doctype="LMS Enrollment", 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) @@ -129,7 +129,7 @@ class LMSCourse(Document): batches = frappe.get_all("LMS Batch Old", {"course": self.name}) if mentor: # 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} 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): 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: membership.batch_title = frappe.db.get_value( diff --git a/lms/lms/doctype/lms_course/test_lms_course.py b/lms/lms/doctype/lms_course/test_lms_course.py index ac6af21f..8907f1fc 100644 --- a/lms/lms/doctype/lms_course/test_lms_course.py +++ b/lms/lms/doctype/lms_course/test_lms_course.py @@ -36,6 +36,8 @@ class TestLMSCourse(unittest.TestCase): frappe.db.delete("Exercise Latest Submission", {"course": "test-course"}) frappe.db.delete("LMS Exercise", {"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 Course Mentor Mapping", {"course": "test-course"}) frappe.db.delete("Course Instructor", {"parent": "test-course"}) diff --git a/lms/lms/doctype/lms_enrollment/lms_enrollment.py b/lms/lms/doctype/lms_enrollment/lms_enrollment.py index 25194f95..04f51875 100644 --- a/lms/lms/doctype/lms_enrollment/lms_enrollment.py +++ b/lms/lms/doctype/lms_enrollment/lms_enrollment.py @@ -14,7 +14,7 @@ class LMSEnrollment(Document): def validate_membership_in_same_batch(self): filters = {"member": self.member, "course": self.course, "name": ["!=", self.name]} if self.batch_old: - filters["batch"] = self.batch_old + filters["batch_old"] = self.batch_old previous_membership = frappe.db.get_value( "LMS Enrollment", filters, fieldname=["member_type", "member"], as_dict=1 ) @@ -43,7 +43,7 @@ class LMSEnrollment(Document): "member_type": "Student", "course": self.course, }, - fields=["batch", "member_type", "name"], + fields=["batch_old", "member_type", "name"], ) if memberships: @@ -63,7 +63,7 @@ def create_membership( frappe.get_doc( { "doctype": "LMS Enrollment", - "batch": batch, + "batch_old": batch, "course": course, "role": role, "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) current_membership = frappe.get_all( - "LMS Enrollment", {"batch": batch, "member": member} + "LMS Enrollment", {"batch_old": batch, "member": member} ) if len(current_membership): frappe.db.set_value("LMS Enrollment", current_membership[0].name, "is_current", 1) diff --git a/lms/lms/doctype/lms_enrollment/test_lms_enrollment.py b/lms/lms/doctype/lms_enrollment/test_lms_enrollment.py index b6cc5ca1..8a077834 100644 --- a/lms/lms/doctype/lms_enrollment/test_lms_enrollment.py +++ b/lms/lms/doctype/lms_enrollment/test_lms_enrollment.py @@ -41,7 +41,7 @@ class TestLMSEnrollment(unittest.TestCase): doc = frappe.get_doc( { "doctype": "LMS Enrollment", - "batch": batch_name, + "batch_old": batch_name, "member": member_name, "member_type": member_type, "course": course, diff --git a/lms/lms/utils.py b/lms/lms/utils.py index d5c65640..f41480b5 100644 --- a/lms/lms/utils.py +++ b/lms/lms/utils.py @@ -63,14 +63,14 @@ def get_membership(course, member=None, batch=None): filters = {"member": member, "course": course} if batch: - filters["batch"] = batch + filters["batch_old"] = batch is_member = frappe.db.exists("LMS Enrollment", filters) if is_member: membership = frappe.db.get_value( "LMS Enrollment", filters, - ["name", "batch", "current_lesson", "member_type", "progress"], + ["name", "batch_old", "current_lesson", "member_type", "progress"], as_dict=True, ) @@ -196,7 +196,7 @@ def get_students(course, batch=None): filters = {"course": course, "member_type": "Student"} if batch: - filters["batch"] = batch + filters["batch_old"] = batch return frappe.get_all("LMS Enrollment", filters, ["member"]) @@ -650,7 +650,7 @@ def get_all_memberships(member): return frappe.get_all( "LMS Enrollment", {"member": member}, - ["name", "course", "batch", "current_lesson", "member_type", "progress"], + ["name", "course", "batch_old", "current_lesson", "member_type", "progress"], ) diff --git a/lms/www/batch/join.html b/lms/www/batch/join.html index 824cf13d..e2ccd60d 100644 --- a/lms/www/batch/join.html +++ b/lms/www/batch/join.html @@ -51,7 +51,7 @@ frappe.ready(() => { frappe.call({ "method": "lms.lms.doctype.lms_batch_membership.lms_batch_membership.create_membership", "args": { - "batch": {{ batch.name }}, + "batch_old": {{ batch.name }}, "course": {{ batch.course }} }, "callback": (data) => { diff --git a/lms/www/batch/learn.py b/lms/www/batch/learn.py index 4f90125b..36244a2f 100644 --- a/lms/www/batch/learn.py +++ b/lms/www/batch/learn.py @@ -72,7 +72,7 @@ def get_context(context): context.page_extensions = get_page_extensions(context) context.page_context = { "course": context.course.name, - "batch": context.batch_old, + "batch_old": context.batch_old, "lesson": context.lesson.name if context.lesson.name else "New Lesson", "is_member": context.membership is not None, }