Skip to content
Snippets Groups Projects
Verified Commit 8d815278 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Show count of tardiness next to sum of tardiness in all views

parent bebf8a17
No related branches found
No related tags found
1 merge request!100Resolve "Add option to count how often a student was late and not the sum of tardiness"
Pipeline #4223 failed
...@@ -108,7 +108,7 @@ ...@@ -108,7 +108,7 @@
</tr> </tr>
<tr> <tr>
<th colspan="2">{% trans 'Tardiness' %}</th> <th colspan="2">{% trans 'Tardiness' %}</th>
<td>{{ stat.tardiness }}'</td> <td>{{ stat.tardiness }}'/{{ stat.tardiness_count }} &times;</td>
</tr> </tr>
{% for extra_mark in extra_marks %} {% for extra_mark in extra_marks %}
<tr> <tr>
......
...@@ -264,6 +264,9 @@ ...@@ -264,6 +264,9 @@
<p class="card-text"> <p class="card-text">
{% trans "Summed up tardiness" %}: {% firstof person.person.tardiness_sum|to_time|time:"H\h i\m" "–" %} {% trans "Summed up tardiness" %}: {% firstof person.person.tardiness_sum|to_time|time:"H\h i\m" "–" %}
</p> </p>
<p class="card-text">
{% trans "Count of tardiness" %}: {{ person.person.tardiness_count }} &times;
</p>
{% for extra_mark in extra_marks %} {% for extra_mark in extra_marks %}
<p class="card-text"> <p class="card-text">
{{ extra_mark.name }}: {{ person.person|get_dict:extra_mark.count_label }} {{ extra_mark.name }}: {{ person.person|get_dict:extra_mark.count_label }}
......
...@@ -149,7 +149,7 @@ ...@@ -149,7 +149,7 @@
<td>{{ person|get_dict:excuse_type.count_label }}</td> <td>{{ person|get_dict:excuse_type.count_label }}</td>
{% endfor %} {% endfor %}
<td>{{ person.unexcused }}</td> <td>{{ person.unexcused }}</td>
<td>{{ person.tardiness }}'</td> <td>{{ person.tardiness }}'/{{ person.tardiness_count }} &times;</td>
{% for extra_mark in extra_marks %} {% for extra_mark in extra_marks %}
<td>{{ person|get_dict:extra_mark.count_label }}</td> <td>{{ person|get_dict:extra_mark.count_label }}</td>
{% endfor %} {% endfor %}
...@@ -285,7 +285,7 @@ ...@@ -285,7 +285,7 @@
</tr> </tr>
<tr> <tr>
<th colspan="2">{% trans 'Tardiness' %}</th> <th colspan="2">{% trans 'Tardiness' %}</th>
<td>{{ person.tardiness }}'</td> <td>{{ person.tardiness }}'/{{ person.tardiness_count }} &times;</td>
</tr> </tr>
</table> </table>
......
...@@ -324,6 +324,16 @@ def week_view( ...@@ -324,6 +324,16 @@ def week_view(
.annotate(tardiness_sum=Sum("personal_notes__late")) .annotate(tardiness_sum=Sum("personal_notes__late"))
.values("tardiness_sum") .values("tardiness_sum")
), ),
tardiness_count=Count(
"personal_notes",
filter=Q(
personal_notes__lesson_period__in=lesson_periods_pk,
personal_notes__week=wanted_week.week,
personal_notes__year=wanted_week.year,
)
& ~Q(personal_notes__late=0),
distinct=True,
),
) )
) )
...@@ -656,6 +666,11 @@ def overview_person(request: HttpRequest, id_: Optional[int] = None) -> HttpResp ...@@ -656,6 +666,11 @@ def overview_person(request: HttpRequest, id_: Optional[int] = None) -> HttpResp
) )
) )
stat.update(personal_notes.aggregate(tardiness=Sum("late"))) stat.update(personal_notes.aggregate(tardiness=Sum("late")))
stat.update(
personal_notes.filter(~Q(late=0)).aggregate(
tardiness_count=Count("late")
)
)
for extra_mark in extra_marks: for extra_mark in extra_marks:
stat.update( stat.update(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment