Skip to content

Commit bc74727

Browse files
only save fields that are in currently active tab
1 parent d21389f commit bc74727

File tree

1 file changed

+40
-13
lines changed

1 file changed

+40
-13
lines changed

frontend/src/ui/views/admin/events/edit/EventEditView.vue

+40-13
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,9 @@
154154
<i class="fa-solid fa-save" />
155155
</template>
156156
<template #label>
157-
<span>Speichern</span>
157+
<span v-if="tab === Tab.EVENT_SLOTS">Slots speichern</span>
158+
<span v-else-if="tab === Tab.EVENT_DATA">Event speichern</span>
159+
<span v-else-if="tab === Tab.EVENT_POSITIONS">Crew speichern</span>
158160
</template>
159161
</AsyncButton>
160162
</template>
@@ -359,19 +361,44 @@ async function editSlot(slotkey: SlotKey): Promise<void> {
359361
}
360362
361363
async function save(): Promise<void> {
362-
if (event.value) {
363-
try {
364-
await eventAdministrationUseCase.updateEvent(event.value.key, event.value);
365-
} catch (e) {
366-
errorHandlingUseCase.handleError({
367-
title: 'Speichern fehlgeschlagen',
368-
message: `Deine Änderungen konnten nicht gespeichert werden. Bitte versuche es erneut. Sollte der Fehler
369-
wiederholt auftreten, melde ihn gerne.`,
370-
error: e,
371-
retry: () => save(),
372-
});
373-
throw e;
364+
if (!event.value) {
365+
return;
366+
}
367+
try {
368+
switch (tab.value) {
369+
case Tab.EVENT_DATA:
370+
await eventAdministrationUseCase.updateEvent(event.value.key, {
371+
name: event.value.name,
372+
description: event.value.description,
373+
type: event.value.type,
374+
start: event.value.start,
375+
end: event.value.end,
376+
state: event.value.state,
377+
locations: event.value.locations,
378+
});
379+
break;
380+
case Tab.EVENT_SLOTS:
381+
await eventAdministrationUseCase.updateEvent(event.value.key, {
382+
slots: event.value.slots,
383+
});
384+
break;
385+
case Tab.EVENT_POSITIONS:
386+
await eventAdministrationUseCase.updateEvent(event.value.key, {
387+
registrations: event.value.registrations, // TODO
388+
});
389+
break;
390+
default:
374391
}
392+
} catch (e) {
393+
errorHandlingUseCase.handleError({
394+
title: 'Speichern fehlgeschlagen',
395+
message: `Deine Änderungen konnten nicht gespeichert werden. Bitte versuche es erneut. Sollte der Fehler
396+
wiederholt auftreten, melde ihn gerne.`,
397+
error: e,
398+
retry: () => save(),
399+
});
400+
// throw again for the async button to handle error state
401+
throw e;
375402
}
376403
}
377404

0 commit comments

Comments
 (0)