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",
"link_doctype": "LMS Enrollment",
"link_fieldname": "batch"
"link_fieldname": "batch_old"
}
],
"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.
"""
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)

View File

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

View File

@@ -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"})

View File

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

View File

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

View File

@@ -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"],
)

View File

@@ -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) => {

View File

@@ -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,
}