{% extends "lms/templates/lms_base.html" %} {% block title %} {{ student.first_name }} 's {{ _("Progress") }} {% endblock %} {% block page_content %}
{{ BreadCrumb(class_info, student) }}
{{ frappe.utils.format_datetime(student.last_active, "medium") }} {% if is_moderator %} {{ _("Evaluate") }} {% endif %}
{{ student.full_name }}
{{ Progress(class_courses, student) }}
{% endblock %} {% macro BreadCrumb(class_info, student) %} {% endmacro %} {% macro Progress(class_info, student) %}
{% for course in class_courses %} {% set progress = course.membership.progress %}
{{ course.title }}
{{ frappe.utils.cint(course.membership.progress) }}%
{% if course.quizzes | length or course.assignments | length or course.evaluations | length %}
{{ Quiz(course, student) }} {{ Assignment(course, student, is_moderator) }} {{ Evaluation(course, student, is_moderator) }}
{{ _("Type") }} {{ _("Title") }} {{ _("Score/Status") }} {{ _("Last Attempt Date") }}
{% else %}
{{ _("There are no activities in this course.") }}
{% endif %}
{% endfor %}
{% endmacro %} {% macro Quiz(course, student) %} {% for quiz in course.quizzes %} {% set filters = { "member": student.name, "course": course.course } %} {% set has_submitted = frappe.db.exists("LMS Quiz Submission", filters) %} {% set submission = frappe.db.get_value("LMS Quiz Submission", filters, ["score", "creation"], as_dict=True) %} {% set total_questions = frappe.db.count("LMS Quiz Question", {"parent": quiz.name}) %} {{ _("Quiz") }} {{ quiz.title }} {% if has_submitted %} {{ submission.score }}/{{ total_questions }} {{ frappe.utils.format_date(submission.creation, "medium") }} {% else %} -
{{ _("Not Attempted") }}
{% endif %} {% endfor %} {% endmacro %} {% macro Assignment(course, student, is_moderator) %} {% for assignment in course.assignments %} {% set filters = { "member": student.name, "course": course.course, "lesson": assignment.name } %} {% set has_submitted = frappe.db.exists("Lesson Assignment", filters) %} {% set submission = frappe.db.get_value("Lesson Assignment", filters, ["assignment", "creation", "status"], as_dict=True) %} {% set status = submission.status %} {% set color = "green" if status == "Pass" else "red" if status == "Fail" else "orange" %} {% set can_see_details = has_submitted and (is_moderator or frappe.session.user == student.name) %} {{ _("Assignment") }} {{ assignment.title }} {% if has_submitted %}
{{ status }}
{{ frappe.utils.format_date(submission.creation, "medium") }} {% else %} -
{{ _("Not Attempted") }}
{% endif %} {% endfor %} {% endmacro %} {% macro Evaluation(course, student, is_moderator) %} {% for evaluation in course.evaluations %} {% set color = "green" if evaluation.status == "Pass" else "red" %} {% set can_see_details = is_moderator or frappe.session.user == student.name %} {{ _("Evaluation") }} -
{{ evaluation.status }}
{{ frappe.utils.format_date(evaluation.creation, "medium") }} {% endfor %} {% endmacro %}