chore: Remove deprecated doctype and related links

This commit is contained in:
Rehan Ansari
2025-12-14 21:16:02 +05:30
parent 80deed2be7
commit b0a96641ef
5 changed files with 5 additions and 123 deletions

View File

@@ -66,75 +66,6 @@ def save_current_lesson(course_name, lesson_name):
frappe.db.set_value("LMS Enrollment", name, "current_lesson", lesson_name)
@frappe.whitelist()
def join_cohort(course, cohort, subgroup, invite_code):
"""Creates a Cohort Join Request for given user."""
course_doc = frappe.get_doc("LMS Course", course)
cohort_doc = course_doc and course_doc.get_cohort(cohort)
subgroup_doc = cohort_doc and cohort_doc.get_subgroup(subgroup)
if not subgroup_doc or subgroup_doc.invite_code != invite_code:
return {"ok": False, "error": "Invalid join link"}
data = {
"doctype": "Cohort Join Request",
"cohort": cohort_doc.name,
"subgroup": subgroup_doc.name,
"email": frappe.session.user,
"status": "Pending",
}
# Don't insert duplicate records
if frappe.db.exists(data):
return {"ok": True, "status": "record found"}
else:
doc = frappe.get_doc(data)
doc.insert()
return {"ok": True, "status": "record created"}
@frappe.whitelist()
def approve_cohort_join_request(join_request):
r = frappe.get_doc("Cohort Join Request", join_request)
sg = r and frappe.get_doc("Cohort Subgroup", r.subgroup)
if not sg or r.status not in ["Pending", "Accepted"]:
return {"ok": False, "error": "Invalid Join Request"}
if not sg.is_manager(frappe.session.user) and "System Manager" not in frappe.get_roles():
return {"ok": False, "error": "Permission Deined"}
r.status = "Accepted"
r.save()
return {"ok": True}
@frappe.whitelist()
def reject_cohort_join_request(join_request):
r = frappe.get_doc("Cohort Join Request", join_request)
sg = r and frappe.get_doc("Cohort Subgroup", r.subgroup)
if not sg or r.status not in ["Pending", "Rejected"]:
return {"ok": False, "error": "Invalid Join Request"}
if not sg.is_manager(frappe.session.user) and "System Manager" not in frappe.get_roles():
return {"ok": False, "error": "Permission Deined"}
r.status = "Rejected"
r.save()
return {"ok": True}
@frappe.whitelist()
def undo_reject_cohort_join_request(join_request):
r = frappe.get_doc("Cohort Join Request", join_request)
sg = r and frappe.get_doc("Cohort Subgroup", r.subgroup)
# keeping Pending as well to consider the case of duplicate requests
if not sg or r.status not in ["Pending", "Rejected"]:
return {"ok": False, "error": "Invalid Join Request"}
if not sg.is_manager(frappe.session.user) and "System Manager" not in frappe.get_roles():
return {"ok": False, "error": "Permission Deined"}
r.status = "Pending"
r.save()
return {"ok": True}
@frappe.whitelist(allow_guest=True)
def get_user_info():
if frappe.session.user == "Guest":

View File

@@ -19,9 +19,7 @@
"comments",
"latest_submission",
"member",
"member_email",
"member_cohort",
"member_subgroup"
"member_email"
],
"fields": [
{
@@ -121,27 +119,11 @@
"label": "Member Email",
"options": "User",
"search_index": 1
},
{
"fetch_from": "member.cohort",
"fieldname": "member_cohort",
"fieldtype": "Link",
"label": "Member Cohort",
"options": "Cohort",
"search_index": 1
},
{
"fetch_from": "member.subgroup",
"fieldname": "member_subgroup",
"fieldtype": "Link",
"label": "Member Subgroup",
"options": "Cohort Subgroup",
"search_index": 1
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-12-08 22:58:46.312863",
"modified": "2025-12-14 20:56:52.370697",
"modified_by": "Administrator",
"module": "LMS",
"name": "Exercise Latest Submission",
@@ -160,7 +142,9 @@
"write": 1
}
],
"row_format": "Dynamic",
"sort_field": "modified",
"sort_order": "DESC",
"states": [],
"track_changes": 1
}

View File

@@ -179,18 +179,6 @@ class LMSCourse(Document):
batch_names = {m.batch_old for m in memberships}
return [b for b in batches if b.name in batch_names]
def get_cohorts(self):
return frappe.get_all(
"Cohort",
{"course": self.name},
["name", "slug", "title", "begin_date", "end_date"],
order_by="creation",
)
def get_cohort(self, cohort_slug):
name = frappe.get_value("Cohort", {"course": self.name, "slug": cohort_slug})
return name and frappe.get_doc("Cohort", name)
def reindex_exercises(self):
for i, c in enumerate(get_chapters(self.name), start=1):
self._reindex_exercises_in_chapter(c, i)

View File

@@ -19,8 +19,6 @@
"purchased_certificate",
"certificate",
"section_break_8",
"cohort",
"subgroup",
"batch_old",
"column_break_12",
"member_type",
@@ -101,18 +99,6 @@
"label": "Progress",
"read_only": 1
},
{
"fieldname": "cohort",
"fieldtype": "Link",
"label": "Cohort",
"options": "Cohort"
},
{
"fieldname": "subgroup",
"fieldtype": "Link",
"label": "Subgroup",
"options": "Cohort Subgroup"
},
{
"fieldname": "column_break_12",
"fieldtype": "Column Break"
@@ -155,7 +141,7 @@
"grid_page_length": 50,
"index_web_pages_for_search": 1,
"links": [],
"modified": "2025-07-02 21:27:30.733482",
"modified": "2025-12-14 20:59:37.166118",
"modified_by": "Administrator",
"module": "LMS",
"name": "LMS Enrollment",

View File

@@ -356,13 +356,6 @@ def is_mentor(course, email):
return frappe.db.count("LMS Course Mentor Mapping", {"course": course, "mentor": email})
def is_cohort_staff(course, user_email):
"""Returns True if the user is either a mentor or a staff for one or more active cohorts of this course."""
staff = {"doctype": "Cohort Staff", "course": course, "email": user_email}
mentor = {"doctype": "Cohort Mentor", "course": course, "email": user_email}
return frappe.db.exists(staff) or frappe.db.exists(mentor)
def get_mentors(course):
"""Returns the list of all mentors for this course."""
course_mentors = []