From 68ecc4132ac0fc7d33afac7544a8d61d8025584c Mon Sep 17 00:00:00 2001 From: Xenia Herr Date: Fri, 5 Jun 2026 16:58:01 +0200 Subject: [PATCH] Fixing Bug 345 The handleEventCreate Method is providing a default event to populate, but the decision wether to create or update a event is made by checking if event is null, which is never the case when calling from handleEventCreate. I've changed the checks to use event.title, because title is not pouplated when createing and you need a title to save. Also the way the luxon dateTime was used is not working, the methods are not inplace, fixed that also. --- frontend/components/dialog/events/event-dialog.tsx | 2 +- frontend/components/dialog/events/event-form.tsx | 6 +++--- frontend/components/event-calendar/day-view.tsx | 4 +--- frontend/components/event-calendar/event-calendar.tsx | 7 ++++--- frontend/components/event-calendar/month-view.tsx | 3 +-- frontend/components/event-calendar/week-view.tsx | 6 ++---- 6 files changed, 12 insertions(+), 16 deletions(-) diff --git a/frontend/components/dialog/events/event-dialog.tsx b/frontend/components/dialog/events/event-dialog.tsx index 78ae444..5f05ca6 100644 --- a/frontend/components/dialog/events/event-dialog.tsx +++ b/frontend/components/dialog/events/event-dialog.tsx @@ -43,7 +43,7 @@ export function EventDialog({ - {event ? ( + {event?.title ? ( <> Event bearbeiten diff --git a/frontend/components/dialog/events/event-form.tsx b/frontend/components/dialog/events/event-form.tsx index b737771..618197d 100644 --- a/frontend/components/dialog/events/event-form.tsx +++ b/frontend/components/dialog/events/event-form.tsx @@ -176,7 +176,7 @@ export function EventForm({ event, edit, onCloseAction }: EventFormProps) { from: formatDateToHHMM(event ? new Date(event.from) : new Date()), to: formatDateToHHMM( event ? new Date(event.to) : new Date(Date.now() + 30 * 60 * 1000) - ), + ), topicIDs: event?.topics.map((t) => t.ID), typeID: event?.type.ID, needsTutors: event?.needsTutors ?? true, @@ -208,8 +208,8 @@ export function EventForm({ event, edit, onCloseAction }: EventFormProps) { registrationNeeded: data.registrationNeeded, umbrellaID: data.umbrellaID, }; - - if (event) await handleUpdate(data, newEvent); + + if (event?.title) await handleUpdate(data, newEvent); else await handleCreation(data, newEvent); } diff --git a/frontend/components/event-calendar/day-view.tsx b/frontend/components/event-calendar/day-view.tsx index 35e119a..82ea441 100644 --- a/frontend/components/event-calendar/day-view.tsx +++ b/frontend/components/event-calendar/day-view.tsx @@ -306,9 +306,7 @@ export function DayView({ )} onClick={() => { if (user?.role !== Role.Admin) return - const startTime = currentDate; - startTime.set({ hour: hourValue }); - startTime.set({ minute: quarter * 15 }); + const startTime = currentDate.set({hour: hourValue}).set({minute: quarter * 15}); onEventCreateAction(startTime); }} /> diff --git a/frontend/components/event-calendar/event-calendar.tsx b/frontend/components/event-calendar/event-calendar.tsx index d205094..9f076f9 100644 --- a/frontend/components/event-calendar/event-calendar.tsx +++ b/frontend/components/event-calendar/event-calendar.tsx @@ -167,7 +167,7 @@ export function EventCalendar({ setIsEventDialogOpen(true); }; - const handleEventCreate = (startTime: DateTime) => { + const handleEventCreate = (startTime: DateTime) => { // Snap to 15-minute intervals const minutes = startTime.minute; const remainder = minutes % 15; @@ -328,8 +328,9 @@ export function EventCalendar({