Shivam Mishra | d7e8298 | 2019-05-20 11:55:17 +0530 | [diff] [blame] | 1 | import frappe |
| 2 | |
Chillar Anand | 915b343 | 2021-09-02 16:44:59 +0530 | [diff] [blame] | 3 | import erpnext.education.utils as utils |
| 4 | |
Shivam Mishra | d7e8298 | 2019-05-20 11:55:17 +0530 | [diff] [blame] | 5 | no_cache = 1 |
| 6 | |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 7 | |
Shivam Mishra | d7e8298 | 2019-05-20 11:55:17 +0530 | [diff] [blame] | 8 | def get_context(context): |
Shivam Mishra | 147d5d9 | 2019-06-12 16:01:02 +0530 | [diff] [blame] | 9 | try: |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 10 | program = frappe.form_dict["program"] |
| 11 | course_name = frappe.form_dict["name"] |
Shivam Mishra | 147d5d9 | 2019-06-12 16:01:02 +0530 | [diff] [blame] | 12 | except KeyError: |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 13 | frappe.local.flags.redirect_location = "/lms" |
Shivam Mishra | 147d5d9 | 2019-06-12 16:01:02 +0530 | [diff] [blame] | 14 | raise frappe.Redirect |
| 15 | |
Shivam Mishra | d7e8298 | 2019-05-20 11:55:17 +0530 | [diff] [blame] | 16 | context.education_settings = frappe.get_single("Education Settings") |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 17 | course = frappe.get_doc("Course", course_name) |
Shivam Mishra | 147d5d9 | 2019-06-12 16:01:02 +0530 | [diff] [blame] | 18 | context.program = program |
Shivam Mishra | d7e8298 | 2019-05-20 11:55:17 +0530 | [diff] [blame] | 19 | context.course = course |
Shivam Mishra | 6d4c666 | 2019-06-03 14:41:05 +0530 | [diff] [blame] | 20 | |
Shivam Mishra | 4991fca | 2019-05-30 16:37:15 +0530 | [diff] [blame] | 21 | context.topics = course.get_topics() |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 22 | context.has_access = utils.allowed_program_access(context.program) |
Shivam Mishra | 6d4c666 | 2019-06-03 14:41:05 +0530 | [diff] [blame] | 23 | context.progress = get_topic_progress(context.topics, course, context.program) |
| 24 | |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 25 | |
Shivam Mishra | 6d4c666 | 2019-06-03 14:41:05 +0530 | [diff] [blame] | 26 | def get_topic_progress(topics, course, program): |
Shivam Mishra | 16b4129 | 2019-06-05 17:29:48 +0530 | [diff] [blame] | 27 | progress = {topic.name: utils.get_topic_progress(topic, course.name, program) for topic in topics} |
Shivam Mishra | 6d4c666 | 2019-06-03 14:41:05 +0530 | [diff] [blame] | 28 | return progress |