from __future__ import unicode_literals

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
