Skip to content
Snippets Groups Projects
Commit a6a22a58 authored by Julian's avatar Julian
Browse files

Display tardiness in statistics page

parent 53db9c19
No related branches found
No related tags found
1 merge request!440Resolve "Allow editing of personal notes and participation status from person page widget"
...@@ -46,10 +46,10 @@ ...@@ -46,10 +46,10 @@
v-for="item in items" v-for="item in items"
:key="item.id" :key="item.id"
ripple ripple
:readonly="!item.canEdit" :readonly="!showEdit(item)"
> >
<v-expansion-panel-header <v-expansion-panel-header
:hide-actions="!item.canEdit" :hide-actions="!showEdit(item) && !showDelete(item)"
disable-icon-rotate disable-icon-rotate
> >
<template #actions> <template #actions>
...@@ -125,12 +125,19 @@ ...@@ -125,12 +125,19 @@
</v-list-item-content> </v-list-item-content>
</v-col> </v-col>
<v-col cols="12" md="6" class="pa-0"> <v-col cols="12" md="6" class="pa-0">
<v-list-item-action class="full-width justify-md-end"> <v-list-item-action
class="flex-row full-width justify-md-end ma-0 align-center fill-height"
>
<!-- chips: absences & extraMarks --> <!-- chips: absences & extraMarks -->
<absence-reason-chip <absence-reason-chip
v-if="item.absenceReason" v-if="item.absenceReason"
:absence-reason="item.absenceReason" :absence-reason="item.absenceReason"
/> />
<tardiness-chip
v-if="item.tardiness"
:tardiness="item.tardiness"
class="ms-1"
/>
<extra-mark-chip <extra-mark-chip
v-if="item.extraMark" v-if="item.extraMark"
:extra-mark="item.extraMark" :extra-mark="item.extraMark"
...@@ -199,10 +206,12 @@ import { ...@@ -199,10 +206,12 @@ import {
import ExtraMarkChip from "../../extra_marks/ExtraMarkChip.vue"; import ExtraMarkChip from "../../extra_marks/ExtraMarkChip.vue";
import { MODE } from "./modes.js"; import { MODE } from "./modes.js";
import PersonalNoteChip from "../personal_notes/PersonalNoteChip.vue"; import PersonalNoteChip from "../personal_notes/PersonalNoteChip.vue";
import TardinessChip from "../absences/TardinessChip.vue";
export default { export default {
name: "StatisticsForPersonPage", name: "StatisticsForPersonPage",
components: { components: {
TardinessChip,
PersonalNoteChip, PersonalNoteChip,
ActiveSchoolTermSelect, ActiveSchoolTermSelect,
ExtraMarkChip, ExtraMarkChip,
...@@ -277,6 +286,16 @@ export default { ...@@ -277,6 +286,16 @@ export default {
}, },
}); });
}, },
showEdit(item) {
// Notes with ExtraMark cannot be edited, only deleted
return (
item.canEdit && (item.note || item.absenceReason || item.tardiness)
);
},
showDelete(item) {
// Only ExtraMarks can be deleted
return item.canDelete && item.extraMark;
},
}, },
}; };
</script> </script>
...@@ -309,8 +309,8 @@ class Query(graphene.ObjectType): ...@@ -309,8 +309,8 @@ class Query(graphene.ObjectType):
school_term = get_active_school_term(info.context) school_term = get_active_school_term(info.context)
return graphene_django_optimizer.query( return graphene_django_optimizer.query(
ParticipationStatus.objects.filter( ParticipationStatus.objects.filter(
Q(absence_reason__isnull=False) | Q(tardiness__isnull=False),
person=person, person=person,
absence_reason__isnull=False,
datetime_start__date__gte=school_term.date_start, datetime_start__date__gte=school_term.date_start,
datetime_end__date__lte=school_term.date_end, datetime_end__date__lte=school_term.date_end,
).order_by("-related_documentation__datetime_start"), ).order_by("-related_documentation__datetime_start"),
......
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