diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue index bf9d99bd2bf8d49715c823c26dc1393d1df2d1cd..60e4dae7296990fe6f4cc4f18df3aac35a579e62 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue @@ -56,7 +56,7 @@ :subjects="subjects" :documentation="item" :affected-query="lastQuery" - :value="(selectedParticipations[item.id] ??= [])" + :value="selectedParticipations[item.id] ??= []" @input="selectParticipation(item.id, $event)" /> </template> @@ -69,9 +69,7 @@ <DocumentationLoader /> </template> </infinite-scrolling-date-sorted-c-r-u-d-iterator> - <absence-creation-dialog - :absence-reasons="absenceReasons" - /> + <absence-creation-dialog :absence-reasons="absenceReasons" /> </div> </template> diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue b/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue index 6da4703e4855f19291bc45914d5be97804204260..19dc5721608145010d96a7bbcbd0a8a6051e5e32 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationForm.vue @@ -1,5 +1,5 @@ <template> - <v-form @input="$emit('valid', $event)"> + <v-form ref="form" @input="$emit('valid', $event)"> <v-container> <v-row> <div aria-required="true" class="full-width"> @@ -148,17 +148,27 @@ export default { const parsedStart = DateTime.fromISO(startDate); const parsedEnd = DateTime.fromISO(this.endDate); if (parsedStart >= parsedEnd) { - this.$emit('end-date', parsedStart.plus({ minutes: 5 }).toISO({ suppressSeconds: true })); + this.$emit( + "end-date", + parsedStart.plus({ minutes: 5 }).toISO({ suppressSeconds: true }), + ); } - this.$emit('start-date', startDate); + this.$emit("start-date", startDate); + this.$refs.form.resetValidation(); + this.$refs.form.validate(); }, handleEndDate(endDate) { const parsedStart = DateTime.fromISO(this.startDate); const parsedEnd = DateTime.fromISO(endDate); if (parsedEnd <= parsedStart) { - this.$emit('start-date', parsedEnd.minus({ minutes: 5 }).toISO({ suppressSeconds: true })); + this.$emit( + "start-date", + parsedEnd.minus({ minutes: 5 }).toISO({ suppressSeconds: true }), + ); } - this.$emit('end-date', endDate); + this.$emit("end-date", endDate); + this.$refs.form.resetValidation(); + this.$refs.form.validate(); }, }, };