Skip to content
Snippets Groups Projects
Commit 102d869c authored by Hangzhi Yu's avatar Hangzhi Yu
Browse files

Fix saving of excuse types and extra marks

parent 839b97dc
No related branches found
No related tags found
No related merge requests found
Pipeline #83180 canceled
query CourseBook($lessonId: ID!) { query CourseBook($lessonId: ID!) {
excuseTypes { excuseTypes {
id
name name
shortName shortName
} }
...@@ -55,17 +56,20 @@ query CourseBook($lessonId: ID!) { ...@@ -55,17 +56,20 @@ query CourseBook($lessonId: ID!) {
absent absent
excused excused
excuseType { excuseType {
id
name name
shortName shortName
} }
remarks remarks
extraMarks { extraMarks {
id
name name
shortName shortName
} }
} }
} }
extraMarks { extraMarks {
id
name name
shortName shortName
} }
......
...@@ -16,11 +16,13 @@ mutation UpdateOrCreateLessonDocumentation($year:Int!, $week:Int!, $lessonPeriod ...@@ -16,11 +16,13 @@ mutation UpdateOrCreateLessonDocumentation($year:Int!, $week:Int!, $lessonPeriod
absent absent
excused excused
excuseType { excuseType {
id
name name
shortName shortName
} }
remarks remarks
extraMarks { extraMarks {
id
name name
shortName shortName
} }
......
...@@ -70,16 +70,15 @@ ...@@ -70,16 +70,15 @@
v-model="editedExcuseType" v-model="editedExcuseType"
:items="excuseTypes" :items="excuseTypes"
item-text="name" item-text="name"
item-value="shortName" return-object
:disabled="editedPersonID === ID_NO_PERSON || !editedAbsent || !editedExcused" :disabled="editedPersonID === ID_NO_PERSON || !editedAbsent || !editedExcused"
></v-select> ></v-select>
<!-- FIXME: get extra mark itself as value -->
<v-select <v-select
label="Extra Marks" label="Extra Marks"
v-model="editedExtraMarks" v-model="editedExtraMarks"
:items="extraMarks" :items="extraMarks"
item-text="name" item-text="name"
item-value="valueOf" return-object
:disabled="editedPersonID === ID_NO_PERSON" :disabled="editedPersonID === ID_NO_PERSON"
multiple multiple
chips chips
...@@ -180,14 +179,18 @@ export default { ...@@ -180,14 +179,18 @@ export default {
return 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 // We save the user input in case of an error
const variables = { const variables = {
"personId": this.editedPersonID, "personId": this.editedPersonID,
"late": this.editedTardiness, "late": this.editedTardiness,
"absent": this.editedAbsent, "absent": this.editedAbsent,
"excused": this.editedExcused, "excused": this.editedExcused,
"excuseType": this.editedExcuseType, "excuseType": editedExcuseTypeID,
"extraMarks": this.editedExtraMarks, "extraMarks": editedExtraMarksIDs,
"remarks": this.editedRemarks, "remarks": this.editedRemarks,
"lessonDocumentation": this.lessonDocumentationId, "lessonDocumentation": this.lessonDocumentationId,
} }
......
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