42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
import frappe
|
|
from lms.lms.utils import (
|
|
has_course_moderator_role,
|
|
has_course_evaluator_role,
|
|
get_upcoming_evals,
|
|
)
|
|
from frappe import _
|
|
from lms.www.utils import get_assessments
|
|
|
|
|
|
def get_context(context):
|
|
context.no_cache = 1
|
|
|
|
student = frappe.form_dict["username"]
|
|
class_name = frappe.form_dict["classname"]
|
|
context.is_moderator = has_course_moderator_role()
|
|
context.is_evaluator = has_course_evaluator_role()
|
|
|
|
context.student = frappe.db.get_value(
|
|
"User",
|
|
{"username": student},
|
|
["first_name", "full_name", "name", "last_active", "username"],
|
|
as_dict=True,
|
|
)
|
|
if (
|
|
not context.is_moderator
|
|
and not context.is_evaluator
|
|
and not context.student.name == frappe.session.user
|
|
):
|
|
raise frappe.PermissionError(_("You don't have permission to access this page."))
|
|
|
|
context.class_info = frappe.db.get_value(
|
|
"LMS Class", class_name, ["name"], as_dict=True
|
|
)
|
|
|
|
context.courses = frappe.get_all(
|
|
"Class Course", {"parent": class_name}, pluck="course"
|
|
)
|
|
|
|
context.assessments = get_assessments(class_name, context.student.name)
|
|
context.upcoming_evals = get_upcoming_evals(context.student.name, context.courses)
|