From aaff446017c7cd9bb2d1e3e45ae6970605f4ab5f Mon Sep 17 00:00:00 2001
From: Hangzhi Yu <hangzhi@protonmail.com>
Date: Sat, 3 Aug 2024 14:36:45 +0200
Subject: [PATCH] Normalise cancelled value also on create

---
 aleksis/apps/chronos/frontend/components/AmendLesson.vue | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/aleksis/apps/chronos/frontend/components/AmendLesson.vue b/aleksis/apps/chronos/frontend/components/AmendLesson.vue
index 2d9f8b4c..a643825f 100644
--- a/aleksis/apps/chronos/frontend/components/AmendLesson.vue
+++ b/aleksis/apps/chronos/frontend/components/AmendLesson.vue
@@ -65,7 +65,7 @@
       </template>
       <!-- eslint-disable-next-line vue/valid-v-slot -->
       <template #cancelled.field="{ attrs, on }">
-        <v-checkbox v-bind="attrs" v-on="on" />
+        <v-checkbox :false-value="false" v-bind="attrs" v-on="on" />
       </template>
       <!-- eslint-disable-next-line vue/valid-v-slot -->
       <template #comment.field="{ attrs, on }">
@@ -154,11 +154,15 @@ export default {
   },
   methods: {
     transformCreateData(item) {
+      let { cancelled, ...createItem } = item;
       return {
-        ...item,
+        ...createItem,
         amends: this.selectedEvent.meta.id,
         datetimeStart: this.selectedEvent.startDateTime.toUTC().toISO(),
         datetimeEnd: this.selectedEvent.endDateTime.toUTC().toISO(),
+        // Normalize cancelled, v-checkbox returns null & does not
+        // honor false-value.
+        cancelled: cancelled ? true : false,
       };
     },
     transformPatchData(item) {
-- 
GitLab