From 19f30750089a91c2d1ac5b52b40fd5c43b8aceb5 Mon Sep 17 00:00:00 2001 From: Michael Bauer <michael-bauer@posteo.de> Date: Thu, 13 Jun 2024 18:07:01 +0200 Subject: [PATCH] Implement mutation in absence-creation-dialog --- .../absences/AbsenceCreationDialog.vue | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationDialog.vue b/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationDialog.vue index 7d36f94f7..eeaf604df 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationDialog.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationDialog.vue @@ -69,6 +69,7 @@ import AbsenceCreationSummary from "./AbsenceCreationSummary.vue"; import CreateButton from "aleksis.core/components/generic/buttons/CreateButton.vue"; import CancelButton from "aleksis.core/components/generic/buttons/CancelButton.vue"; import SaveButton from "aleksis.core/components/generic/buttons/SaveButton.vue"; +import { createAbsences } from "./absenceCreation.graphql"; export default { name: "AbsenceCreationDialog", @@ -99,9 +100,30 @@ export default { this.form = true; }, confirm() { - // TODO: Send mutation (shown in absence-creation-summary) - // Clear form fields - popup = false; + this.$apollo.mutate( { + mutation: createAbsences, + variables: { + persons: this.persons.map((p) => p.id), + start: this.startDate, + end: this.endDate, + comment: this.comment, + reason: this.absenceReason, + }, + }) + .then(() => { + this.persons = []; + this.startDate = ""; + this.endDate = ""; + this.comment = ""; + this.absenceReason = ""; + this.popup = false; + // $toastSuccess("TODO"); + }) + .catch((error) => { + popup = false; + this.handleError(error); + }); + // finally for loading }, }, }; -- GitLab