diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/statistics/StatisticsForGroupTab.vue b/aleksis/apps/alsijil/frontend/components/coursebook/statistics/StatisticsForGroupTab.vue index e5eb12c62ccadcde90e51fa9b3f24865660bb830..980bf03b1c172a048891457063c8bee5f106de69 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/statistics/StatisticsForGroupTab.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/statistics/StatisticsForGroupTab.vue @@ -59,7 +59,9 @@ </v-chip> <v-chip dense outlined> <v-icon left>mdi-sigma</v-icon> - {{ $tc("time.minutes_n", item.tardinessSum, { n: $n(item.tardinessSum) }) }} + {{ + $tc("time.minutes_n", item.tardinessSum, { n: $n(item.tardinessSum) }) + }} </v-chip> </template> diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/statistics/StatisticsForPersonPage.vue b/aleksis/apps/alsijil/frontend/components/coursebook/statistics/StatisticsForPersonPage.vue index e2f68e81e54072dc8bf90913b4941cae8dcab99d..3303591f71f851bc65bdadc1244c6dd22c6bc029 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/statistics/StatisticsForPersonPage.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/statistics/StatisticsForPersonPage.vue @@ -15,7 +15,13 @@ :elevated="false" > <template #additionalActions> - <v-btn-toggle v-model="mode" mandatory color="secondary" rounded dense> + <v-btn-toggle + v-model="mode" + mandatory + color="secondary" + rounded + dense + > <v-btn outlined :value="MODE.PARTICIPATIONS"> {{ $t("alsijil.coursebook.absences.absences") }} </v-btn> @@ -29,16 +35,40 @@ <v-list-item-content> <v-list-item-title> <!-- date & timeslot --> - <time :datetime="item.relatedDocumentation.datetimeStart" class="text-no-wrap"> - {{ $d($parseISODate(item.relatedDocumentation.datetimeStart), "short") }} + <time + :datetime="item.relatedDocumentation.datetimeStart" + class="text-no-wrap" + > + {{ + $d( + $parseISODate(item.relatedDocumentation.datetimeStart), + "short", + ) + }} </time> - <time :datetime="item.relatedDocumentation.datetimeStart" class="text-no-wrap"> - {{ $d($parseISODate(item.relatedDocumentation.datetimeStart), "shortTime") }} + <time + :datetime="item.relatedDocumentation.datetimeStart" + class="text-no-wrap" + > + {{ + $d( + $parseISODate(item.relatedDocumentation.datetimeStart), + "shortTime", + ) + }} </time> <span>-</span> - <time :datetime="item.relatedDocumentation.datetimeEnd" class="text-no-wrap"> - {{ $d($parseISODate(item.relatedDocumentation.datetimeEnd), "shortTime") }} + <time + :datetime="item.relatedDocumentation.datetimeEnd" + class="text-no-wrap" + > + {{ + $d( + $parseISODate(item.relatedDocumentation.datetimeEnd), + "shortTime", + ) + }} </time> <!-- teacher --> <person-chip @@ -52,7 +82,10 @@ {{ item.groupShortName }} </span> <!-- subject --> - <subject-chip :subject="item.relatedDocumentation.subject" small /> + <subject-chip + :subject="item.relatedDocumentation.subject" + small + /> </v-list-item-title> <v-list-item-subtitle> {{ item.note }} @@ -91,7 +124,10 @@ import PersonChip from "aleksis.core/components/person/PersonChip.vue"; import SubjectChip from "aleksis.apps.cursus/components/SubjectChip.vue"; import StatisticsForPersonCard from "./StatisticsForPersonCard.vue"; -import { participationsOfPerson, personalNotesForPerson } from "./statistics.graphql"; +import { + participationsOfPerson, + personalNotesForPerson, +} from "./statistics.graphql"; import { DateTime } from "luxon"; import ExtraMarkChip from "../../extra_marks/ExtraMarkChip.vue"; @@ -143,12 +179,14 @@ export default { }, set(value) { console.log("New SchoolTerm:", value); - } + }, }, }, methods: { gqlQuery() { - return this.mode === MODE.PERSONAL_NOTES ? personalNotesForPerson : participationsOfPerson; + return this.mode === MODE.PERSONAL_NOTES + ? personalNotesForPerson + : participationsOfPerson; }, }, }; diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/statistics/StatisticsTardinessCard.vue b/aleksis/apps/alsijil/frontend/components/coursebook/statistics/StatisticsTardinessCard.vue index 275515f0f1b822d9b1da1dfe5fcbef264e242e6f..bba96cd38cedf3b417a71d5fee6add116d7322a8 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/statistics/StatisticsTardinessCard.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/statistics/StatisticsTardinessCard.vue @@ -19,7 +19,9 @@ <div> <v-icon small>mdi-diameter-variant</v-icon> {{ - $tc("time.minutes_n", tardinessSum / tardinessCount, { n: $n(tardinessSum/tardinessCount) }) + $tc("time.minutes_n", tardinessSum / tardinessCount, { + n: $n(tardinessSum / tardinessCount), + }) }} </div> </div> diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py index 9d7b398dab8415a7ff05333c823879a165af0e95..cf692d4607e804aad67e0141ecab2c789c0281cf 100644 --- a/aleksis/apps/alsijil/models.py +++ b/aleksis/apps/alsijil/models.py @@ -4,7 +4,7 @@ from typing import Optional from django.contrib.auth.models import User from django.core.exceptions import PermissionDenied from django.db import models -from django.db.models import QuerySet, Q +from django.db.models import Q, QuerySet from django.http import HttpRequest from django.urls import reverse from django.utils import timezone @@ -437,7 +437,11 @@ class ParticipationStatus(CalendarEvent): @classmethod def get_objects( - cls, request: HttpRequest | None = None, params: dict[str, any] | None = None, additional_filter: Q | None = None, **kwargs + cls, + request: HttpRequest | None = None, + params: dict[str, any] | None = None, + additional_filter: Q | None = None, + **kwargs, ) -> QuerySet: q = additional_filter or Q() if params: @@ -447,9 +451,12 @@ class ParticipationStatus(CalendarEvent): q = q & Q(person__in=params["persons"]) elif params.get("group"): q = q & Q(groups_of_person__in=params.get("group")) - qs = ( - super() - .get_objects(request, params, additional_filter=q, select_related=["person", "absence_reason"], **kwargs) + qs = super().get_objects( + request, + params, + additional_filter=q, + select_related=["person", "absence_reason"], + **kwargs, ) return qs diff --git a/aleksis/apps/alsijil/schema/__init__.py b/aleksis/apps/alsijil/schema/__init__.py index ab2df1d2d6a63a116ce1bc53038b0ce049c2f75d..c7e7e2a23b45c76da8184f1e0f19420a8c417aa7 100644 --- a/aleksis/apps/alsijil/schema/__init__.py +++ b/aleksis/apps/alsijil/schema/__init__.py @@ -17,7 +17,7 @@ from aleksis.core.schema.person import PersonType from aleksis.core.util.core_helpers import get_site_preferences, has_person from ..model_extensions import annotate_person_statistics_for_school_term -from ..models import Documentation, ParticipationStatus, NewPersonalNote +from ..models import Documentation, NewPersonalNote, ParticipationStatus from .absences import ( AbsencesForPersonsCreateMutation, ) diff --git a/aleksis/apps/alsijil/schema/statistics.py b/aleksis/apps/alsijil/schema/statistics.py index 976f25ebb32b50c9152fb86d23acf17011d7a89f..51ba12b379fb1ec83b6b944b5961e8b9c991dd46 100644 --- a/aleksis/apps/alsijil/schema/statistics.py +++ b/aleksis/apps/alsijil/schema/statistics.py @@ -1,9 +1,6 @@ -from django.utils import timezone import graphene -from aleksis.apps.cursus.models import Subject -from aleksis.apps.cursus.schema import SubjectType from aleksis.apps.kolego.models.absence import AbsenceReason from aleksis.apps.kolego.schema.absence import AbsenceReasonType from aleksis.core.models import Person