Shivam Mishra | 16b4129 | 2019-06-05 17:29:48 +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 | 16b4129 | 2019-06-05 17:29:48 +0530 | [diff] [blame] | 5 | no_cache = 1 |
| 6 | |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 7 | |
Shivam Mishra | 16b4129 | 2019-06-05 17:29:48 +0530 | [diff] [blame] | 8 | def get_context(context): |
Shivam Mishra | bd499fc | 2019-06-05 17:38:12 +0530 | [diff] [blame] | 9 | if frappe.session.user == "Guest": |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 10 | frappe.local.flags.redirect_location = "/lms" |
Shivam Mishra | bd499fc | 2019-06-05 17:38:12 +0530 | [diff] [blame] | 11 | raise frappe.Redirect |
| 12 | |
Shivam Mishra | 16b4129 | 2019-06-05 17:29:48 +0530 | [diff] [blame] | 13 | context.student = utils.get_current_student() |
Shivam Mishra | bd499fc | 2019-06-05 17:38:12 +0530 | [diff] [blame] | 14 | if not context.student: |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 15 | context.student = frappe.get_doc("User", frappe.session.user) |
Shivam Mishra | 16b4129 | 2019-06-05 17:29:48 +0530 | [diff] [blame] | 16 | context.progress = get_program_progress(context.student.name) |
| 17 | |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 18 | |
Shivam Mishra | 16b4129 | 2019-06-05 17:29:48 +0530 | [diff] [blame] | 19 | def get_program_progress(student): |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 20 | enrolled_programs = frappe.get_all( |
| 21 | "Program Enrollment", filters={"student": student}, fields=["program"] |
| 22 | ) |
Shivam Mishra | 16b4129 | 2019-06-05 17:29:48 +0530 | [diff] [blame] | 23 | 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 Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 28 | student_progress.append( |
| 29 | { |
| 30 | "program": program.program_name, |
| 31 | "name": program.name, |
| 32 | "progress": progress, |
| 33 | "completion": completion, |
| 34 | } |
| 35 | ) |
Shivam Mishra | 16b4129 | 2019-06-05 17:29:48 +0530 | [diff] [blame] | 36 | |
Ankush Menat | 4551d7d | 2021-08-19 13:41:10 +0530 | [diff] [blame] | 37 | return student_progress |