{{ student.username }}

{{ student.email }}

{% if topics_data %} {% for topic_id, topic_data in topics_data.items() %}

{{ topic_data.topic.title }}

{% if topic_data.submissions %}
{% for submission_data in topic_data.submissions %} {% endfor %}
Date Type Score
{{ submission_data.submitted_at.strftime('%m/%d/%Y') }} {{ submission_data.content_type.title() if submission_data.content_type else 'N/A' }} {% set score = submission_data.grade %} {{ score }}%
Topic Average: {% set avg = (topic_data.submissions | map(attribute='grade') | sum) / (topic_data.submissions | length) %} {{ avg | round(2) }}%
{% else %}

No submissions for this topic

{% endif %}
{% endfor %} {% elif topics_data %}

Progress Overview

Topics Started
{{ topics_data|length }}
Topics Completed
{{ topics_data.values() | selectattr('has_reading') | selectattr('has_speaking') | selectattr('has_comprehension') | list | length }}
{% set total_completed = 0 %} {% for topic_id, data in topics_data.items() %} {% set stages = 0 %} {% if data.has_reading %}{% set stages = stages + 1 %}{% endif %} {% if data.has_speaking %}{% set stages = stages + 1 %}{% endif %} {% if data.has_comprehension %}{% set stages = stages + 1 %}{% endif %} {% set total_completed = total_completed + stages %} {% endfor %} {% set total_possible = topics_data|length * 3 %} {% set overall_percentage = (total_completed / total_possible * 100)|round|int if total_possible > 0 else 0 %}
Overall Progress
{{ overall_percentage }}%

Topic Progress Details

{% for topic_id, data in topics_data.items() %} {% endfor %}
Topic Reading Speaking Comprehension Status
{{ data.topic.title }} {% if data.has_reading %} Completed
{{ data.reading_date|timeago }}
{% else %} Not Started {% endif %}
{% if data.has_speaking %} {{ data.speaking_score|round|int }}%
{{ data.speaking_date|timeago }}
{% else %} Not Started {% endif %}
{% if data.has_comprehension %} {{ data.comprehension_score|round|int }}%
{{ data.comprehension_date|timeago }}
{% else %} Not Started {% endif %}
{% if data.has_reading and data.has_speaking and data.has_comprehension %} Complete {% elif data.has_reading or data.has_speaking or data.has_comprehension %} In Progress {% else %} Not Started {% endif %}
{% else %}

No Progress Found

This student hasn't started any topics yet.

{% endif %}