You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
923 B
27 lines
923 B
|
|
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
|
|
|