blob: 840beee3ad2beabeddfe06a9a94da28ebf110966 [file] [log] [blame]
Shivam Mishrad7e82982019-05-20 11:55:17 +05301import frappe
2
Chillar Anand915b3432021-09-02 16:44:59 +05303import erpnext.education.utils as utils
4
Shivam Mishrad7e82982019-05-20 11:55:17 +05305no_cache = 1
6
Ankush Menat494bd9e2022-03-28 18:52:46 +05307
Shivam Mishrad7e82982019-05-20 11:55:17 +05308def get_context(context):
Shivam Mishra147d5d92019-06-12 16:01:02 +05309 try:
Ankush Menat494bd9e2022-03-28 18:52:46 +053010 program = frappe.form_dict["program"]
11 course_name = frappe.form_dict["name"]
Shivam Mishra147d5d92019-06-12 16:01:02 +053012 except KeyError:
Ankush Menat494bd9e2022-03-28 18:52:46 +053013 frappe.local.flags.redirect_location = "/lms"
Shivam Mishra147d5d92019-06-12 16:01:02 +053014 raise frappe.Redirect
15
Shivam Mishrad7e82982019-05-20 11:55:17 +053016 context.education_settings = frappe.get_single("Education Settings")
Ankush Menat494bd9e2022-03-28 18:52:46 +053017 course = frappe.get_doc("Course", course_name)
Shivam Mishra147d5d92019-06-12 16:01:02 +053018 context.program = program
Shivam Mishrad7e82982019-05-20 11:55:17 +053019 context.course = course
Shivam Mishra6d4c6662019-06-03 14:41:05 +053020
Shivam Mishra4991fca2019-05-30 16:37:15 +053021 context.topics = course.get_topics()
Ankush Menat494bd9e2022-03-28 18:52:46 +053022 context.has_access = utils.allowed_program_access(context.program)
Shivam Mishra6d4c6662019-06-03 14:41:05 +053023 context.progress = get_topic_progress(context.topics, course, context.program)
24
Ankush Menat494bd9e2022-03-28 18:52:46 +053025
Shivam Mishra6d4c6662019-06-03 14:41:05 +053026def get_topic_progress(topics, course, program):
Shivam Mishra16b41292019-06-05 17:29:48 +053027 progress = {topic.name: utils.get_topic_progress(topic, course.name, program) for topic in topics}
Shivam Mishra6d4c6662019-06-03 14:41:05 +053028 return progress