import frappe import erpnext.education.utils as utils no_cache = 1 def get_context(context): if frappe.session.user == "Guest": frappe.local.flags.redirect_location = "/lms" raise frappe.Redirect context.student = utils.get_current_student() if not context.student: context.student = frappe.get_doc("User", frappe.session.user) context.progress = get_program_progress(context.student.name) def get_program_progress(student): enrolled_programs = frappe.get_all( "Program Enrollment", filters={"student": student}, fields=["program"] ) student_progress = [] for list_item in enrolled_programs: program = frappe.get_doc("Program", list_item.program) progress = utils.get_program_progress(program) completion = utils.get_program_completion(program) student_progress.append( { "program": program.program_name, "name": program.name, "progress": progress, "completion": completion, } ) return student_progress