blob: c4c1cd78eb703b9a0a08409b5548a6a95163aa91 [file] [log] [blame]
Shivam Mishra16b41292019-06-05 17:29:48 +05301import frappe
2
Chillar Anand915b3432021-09-02 16:44:59 +05303import erpnext.education.utils as utils
4
Shivam Mishra16b41292019-06-05 17:29:48 +05305no_cache = 1
6
Ankush Menat494bd9e2022-03-28 18:52:46 +05307
Shivam Mishra16b41292019-06-05 17:29:48 +05308def get_context(context):
Shivam Mishrabd499fc2019-06-05 17:38:12 +05309 if frappe.session.user == "Guest":
Ankush Menat494bd9e2022-03-28 18:52:46 +053010 frappe.local.flags.redirect_location = "/lms"
Shivam Mishrabd499fc2019-06-05 17:38:12 +053011 raise frappe.Redirect
12
Shivam Mishra16b41292019-06-05 17:29:48 +053013 context.student = utils.get_current_student()
Shivam Mishrabd499fc2019-06-05 17:38:12 +053014 if not context.student:
Ankush Menat494bd9e2022-03-28 18:52:46 +053015 context.student = frappe.get_doc("User", frappe.session.user)
Shivam Mishra16b41292019-06-05 17:29:48 +053016 context.progress = get_program_progress(context.student.name)
17
Ankush Menat494bd9e2022-03-28 18:52:46 +053018
Shivam Mishra16b41292019-06-05 17:29:48 +053019def get_program_progress(student):
Ankush Menat494bd9e2022-03-28 18:52:46 +053020 enrolled_programs = frappe.get_all(
21 "Program Enrollment", filters={"student": student}, fields=["program"]
22 )
Shivam Mishra16b41292019-06-05 17:29:48 +053023 student_progress = []
24 for list_item in enrolled_programs:
25 program = frappe.get_doc("Program", list_item.program)
26 progress = utils.get_program_progress(program)
27 completion = utils.get_program_completion(program)
Ankush Menat494bd9e2022-03-28 18:52:46 +053028 student_progress.append(
29 {
30 "program": program.program_name,
31 "name": program.name,
32 "progress": progress,
33 "completion": completion,
34 }
35 )
Shivam Mishra16b41292019-06-05 17:29:48 +053036
Ankush Menat4551d7d2021-08-19 13:41:10 +053037 return student_progress