From 102d869cf7368fee1a0b3b06f0594b917eb29d81 Mon Sep 17 00:00:00 2001 From: Hangzhi Yu <hangzhi@protonmail.com> Date: Tue, 9 Aug 2022 00:35:15 +0200 Subject: [PATCH] Fix saving of excuse types and extra marks --- .../assets/components/coursebook/CourseBook.graphql | 4 ++++ .../coursebook/LessonDocumentation.graphql | 2 ++ .../assets/components/coursebook/PersonalNotes.vue | 13 ++++++++----- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/aleksis/apps/alsijil/assets/components/coursebook/CourseBook.graphql b/aleksis/apps/alsijil/assets/components/coursebook/CourseBook.graphql index 78e83b800..9e9c68b02 100644 --- a/aleksis/apps/alsijil/assets/components/coursebook/CourseBook.graphql +++ b/aleksis/apps/alsijil/assets/components/coursebook/CourseBook.graphql @@ -1,5 +1,6 @@ query CourseBook($lessonId: ID!) { excuseTypes { + id name shortName } @@ -55,17 +56,20 @@ query CourseBook($lessonId: ID!) { absent excused excuseType { + id name shortName } remarks extraMarks { + id name shortName } } } extraMarks { + id name shortName } diff --git a/aleksis/apps/alsijil/assets/components/coursebook/LessonDocumentation.graphql b/aleksis/apps/alsijil/assets/components/coursebook/LessonDocumentation.graphql index ee2ec13a3..89b5f83ed 100644 --- a/aleksis/apps/alsijil/assets/components/coursebook/LessonDocumentation.graphql +++ b/aleksis/apps/alsijil/assets/components/coursebook/LessonDocumentation.graphql @@ -16,11 +16,13 @@ mutation UpdateOrCreateLessonDocumentation($year:Int!, $week:Int!, $lessonPeriod absent excused excuseType { + id name shortName } remarks extraMarks { + id name shortName } diff --git a/aleksis/apps/alsijil/assets/components/coursebook/PersonalNotes.vue b/aleksis/apps/alsijil/assets/components/coursebook/PersonalNotes.vue index ba1d2c3f6..b2c8da173 100644 --- a/aleksis/apps/alsijil/assets/components/coursebook/PersonalNotes.vue +++ b/aleksis/apps/alsijil/assets/components/coursebook/PersonalNotes.vue @@ -70,16 +70,15 @@ v-model="editedExcuseType" :items="excuseTypes" item-text="name" - item-value="shortName" + return-object :disabled="editedPersonID === ID_NO_PERSON || !editedAbsent || !editedExcused" ></v-select> - <!-- FIXME: get extra mark itself as value --> <v-select label="Extra Marks" v-model="editedExtraMarks" :items="extraMarks" item-text="name" - item-value="valueOf" + return-object :disabled="editedPersonID === ID_NO_PERSON" multiple chips @@ -180,14 +179,18 @@ export default { return } + let editedExcuseTypeID = (this.editedExcuseType) ? this.editedExcuseType.id : null; + let editedExtraMarksIDs = []; + this.editedExtraMarks.forEach(item => {editedExtraMarksIDs.push(item.id);}); + // We save the user input in case of an error const variables = { "personId": this.editedPersonID, "late": this.editedTardiness, "absent": this.editedAbsent, "excused": this.editedExcused, - "excuseType": this.editedExcuseType, - "extraMarks": this.editedExtraMarks, + "excuseType": editedExcuseTypeID, + "extraMarks": editedExtraMarksIDs, "remarks": this.editedRemarks, "lessonDocumentation": this.lessonDocumentationId, } -- GitLab