From 324fad702035c87c9e11f1b66fd54c31caf7ed3e Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Fri, 22 Nov 2024 15:14:33 +0100 Subject: [PATCH] Prevent double loading of some data in coursebook --- .../frontend/components/coursebook/Coursebook.vue | 5 ++++- .../coursebook/absences/AbsenceCreationDialog.vue | 7 +++++++ .../coursebook/absences/AbsenceCreationForm.vue | 5 +++++ .../coursebook/absences/absenceReasons.graphql | 11 ----------- .../frontend/components/coursebook/coursebook.graphql | 1 - 5 files changed, 16 insertions(+), 13 deletions(-) delete mode 100644 aleksis/apps/alsijil/frontend/components/coursebook/absences/absenceReasons.graphql diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue index aed34488e..9aa082419 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue @@ -70,7 +70,10 @@ </template> </infinite-scrolling-date-sorted-c-r-u-d-iterator> <v-scale-transition> - <absence-creation-dialog v-if="pageType === 'absences'" /> + <absence-creation-dialog + v-if="pageType === 'absences'" + :absence-reasons="absenceReasons" + /> </v-scale-transition> </div> </template> diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationDialog.vue b/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationDialog.vue index 7a6b4c73f..7a4b17c80 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationDialog.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationDialog.vue @@ -30,6 +30,7 @@ :end-date="endDate" :comment="comment" :absence-reason="absenceReason" + :absence-reasons="absenceReasons" @valid="formValid = $event" @persons="persons = $event" @start-date="startDate = $event" @@ -121,6 +122,12 @@ export default { absenceReason: "", }; }, + props: { + absenceReasons: { + type: Array, + required: true, + }, + }, mounted() { this.addPermissions(["alsijil.view_register_absence_rule"]); this.clearForm(); diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue b/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue index 239c83d6b..74f07cc4d 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue @@ -61,6 +61,7 @@ <absence-reason-group-select :rules="$rules().required.build()" :value="absenceReason" + :custom-absence-reasons="absenceReasons" @input="$emit('absence-reason', $event)" /> </div> @@ -115,6 +116,10 @@ export default { type: String, required: true, }, + absenceReasons: { + type: Array, + required: true, + }, }, computed: { maxStartTime() { diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/absences/absenceReasons.graphql b/aleksis/apps/alsijil/frontend/components/coursebook/absences/absenceReasons.graphql deleted file mode 100644 index a86f608ec..000000000 --- a/aleksis/apps/alsijil/frontend/components/coursebook/absences/absenceReasons.graphql +++ /dev/null @@ -1,11 +0,0 @@ -query absenceReasons($orderBy: [String], $filters: JSONString) { - items: coursebookAbsenceReasons(orderBy: $orderBy, filters: $filters) { - id - shortName - name - colour - default - canEdit - canDelete - } -} diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/coursebook.graphql b/aleksis/apps/alsijil/frontend/components/coursebook/coursebook.graphql index a49b73f14..6ae9ba9da 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/coursebook.graphql +++ b/aleksis/apps/alsijil/frontend/components/coursebook/coursebook.graphql @@ -111,7 +111,6 @@ query documentationsForCoursebook( oldId canEdit futureNotice - canDelete futureNoticeParticipationStatus canEditParticipationStatus canViewParticipationStatus -- GitLab