diff --git a/aleksis/apps/alsijil/assets/components/coursebook/CourseBook.graphql b/aleksis/apps/alsijil/assets/components/coursebook/CourseBook.graphql index 78e83b800fc0dd9877a3c300921a3da9f15fb2c6..9e9c68b020425ab906eeec3b62895757e3b3895e 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 ee2ec13a30cbeb019915bf8bdd83770bb1b15363..89b5f83edd2a0e040ffa1f4de44ef37bb6fd6f54 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 ba1d2c3f69be901bcd0a7be5540e31edea04d879..b2c8da1731d247a3219f42ab4b862c47e442d4a6 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, }