diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html b/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html index e42575fd07fc5ad520575643a1db2effa61ba66a..5d26d3d294c4e8f4137151b7add4ef0a43c87a2a 100644 --- a/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html +++ b/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html @@ -1,7 +1,7 @@ {# -*- engine:django -*- #} {% extends "core/base.html" %} -{% load material_form i18n week_helpers static %} +{% load material_form i18n week_helpers static data_helpers %} {% block browser_title %}{% blocktrans %}Week view{% endblocktrans %}{% endblock %} @@ -96,6 +96,11 @@ <p class="card-text"> {% trans "Summed up tardiness" %}: {{ person.tardiness_sum }}' </p> + {% for extra_mark in extra_marks %} + <p class="card-text"> + {{ extra_mark.name }}: {{ person|get_dict:extra_mark.count_label }} + </p> + {% endfor %} {% for note in person.personal_notes|only_week:week %} {% if note.remarks %} <blockquote> diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py index 17f2b75ec7f01d0d0acd1f1f33557ed9fb5c02db..43d1db178e30d30e12dcf9f9fd1f712f6675140e 100644 --- a/aleksis/apps/alsijil/views.py +++ b/aleksis/apps/alsijil/views.py @@ -226,6 +226,22 @@ def week_view( ), ) ) + + for extra_mark in ExtraMark.objects.all(): + persons = persons.annotate( + **{ + extra_mark.count_label: Count( + "personal_notes", + filter=Q( + personal_notes__lesson_period__in=lesson_periods, + personal_notes__week=wanted_week.week, + personal_notes__extra_marks=extra_mark, + ), + distinct=True, + ) + } + ) + else: persons = None @@ -234,6 +250,7 @@ def week_view( lesson_periods, key=lambda x: (x.period.weekday, x.period.period) ) + context["extra_marks"] = ExtraMark.objects.all() context["week"] = wanted_week context["lesson_periods"] = lesson_periods context["persons"] = persons