{% extends "base.html" %} {% block title %}{{ student['username'] }} โ€” Student Report{% endblock %} {% block content %}
0275481108
{% if weak_spots %}

๐ŸŽฏ Weak Spots โ€” Focus Areas

Modules ranked by combined program completion + quiz performance. Top 3 need the most attention.

{% for ws in weak_spots[:6] %}
{% if loop.index == 1 %}๐Ÿ”ด{% elif loop.index == 2 %}๐ŸŸ {% elif loop.index == 3 %}๐ŸŸก{% else %}๐ŸŸข{% endif %} {{ ws.mod }} {% if loop.index <= 3 %}Focus here{% endif %}
Programs
{{ ws.prog_done }}/{{ ws.prog_total }}
Quiz
{% if ws.quiz_pct is not none %}
{{ ws.quiz_pct }}%{% if ws.quiz_passed %} โœ“{% endif %} {% else %} No attempt {% endif %}
{% endfor %}
{% endif %}

Progress by Module

{% for m in mod_stats %}
{{ m['mod'] }}
{{ m['done'] }}/{{ m['total'] }}
{% endfor %}

๐Ÿ† Quiz Results โ€” {{ quizzes_passed }}/12 modules passed

{% if quiz_results %}
{% for mod_name, r in quiz_results.items() %} {% endfor %}
ModuleBest scoreStatus
{{ mod_name }} {{ r['score'] }}/{{ r['total'] }} {% if r['passed'] %} โœ“ Passed {% else %} Not yet {% endif %}
{% else %}

No quiz attempts yet.

{% endif %}

๐Ÿ’ฌ My Comments on {{ student['username'] }}'s Programs

Click any completed program below to leave or edit a comment and star rating.

{% set completed_progs = all_programs | selectattr('n') | list %} {% set has_comments = my_comments|length > 0 %} {% if has_comments %}
{% for prog_n, c in my_comments.items() %} {% set prog = namespace(found=none) %} {% for p in all_programs %}{% if p.n == prog_n %}{% set prog.found = p %}{% endif %}{% endfor %}
#{{ prog_n }} {% if prog.found %} {{ prog.found.title }} {% endif %} {% for i in range(1,6) %}{{ 'โ˜…' if i <= c['rating'] else 'โ˜†' }}{% endfor %}
{{ c['updated_at'][:10] }}
{{ c['comment'] }}
{% endfor %}
{% endif %}
+ Add comment on a program
{% for p in all_programs %} {% if prog_progress.get(p['n'], 0) == 1 %} {% endif %} {% endfor %}
ProgramDoneComment
#{{ p['n'] }} {{ p['title'] }} โœ“ {% if my_comments.get(p['n']) %} {{ my_comments[p['n']]['comment'][:50] }}โ€ฆ {% else %} No comment {% endif %}

All Programs

{% for p in all_programs %}
#{{ p['n'] }} {{ p['title'] }} {% if prog_progress.get(p['n'],0) %}โœ“{% endif %} {% if my_comments.get(p['n']) %}๐Ÿ’ฌ{% endif %}
{% endfor %}
{% endblock %}