diff --git a/studio/actions/cancel-event.tsx b/studio/actions/cancel-event.tsx index f6851a5..fb4b0f6 100644 --- a/studio/actions/cancel-event.tsx +++ b/studio/actions/cancel-event.tsx @@ -4,6 +4,7 @@ import { useState } from "react"; import { DocumentActionProps, DocumentActionComponent, useDocumentOperation } from "sanity"; import { Event } from "../models/sanity.model"; import { sendEmailEventCanceled } from "../lib/event-email"; +import { deleteEvent } from "../supabase/queries"; export const CancelAction: DocumentActionComponent = (props: DocumentActionProps) => { const toast = useToast(); @@ -26,23 +27,24 @@ export const CancelAction: DocumentActionComponent = (props: DocumentActionProps onConfirm: async () => { if (publishedEvent) { const result = await handleEventCancel(publishedEvent); - if (result) { - if (!publishedEvent.title.endsWith("Avlyst")) { - patch.execute([{ set: { title: `${publishedEvent.title} | Avlyst` } }]); - } - - unpublish.execute(); - - toast.push({ - status: "success", - title: "Arrangementet er avlyst", - }); - } else { + if (!result) { toast.push({ status: "error", title: "En feil oppstod ved avlysing av arrangementet", }); + return; } + + if (!publishedEvent.title.endsWith("Avlyst")) { + patch.execute([{ set: { title: `${publishedEvent.title} - Avlyst` } }]); + } + + unpublish.execute(); + + toast.push({ + status: "success", + title: "Arrangementet er avlyst", + }); } props.onComplete(); }, @@ -83,6 +85,8 @@ const handleEventCancel = async ({ _id, title, summary, start, end, place, organ if (result?.error) { return false; } + + await deleteEvent({ document_id: _id }); return true; } catch (error) { console.error("Error handling cancel event:", error); diff --git a/studio/actions/publish-event.tsx b/studio/actions/publish-event.tsx index b666a00..ad83e2e 100644 --- a/studio/actions/publish-event.tsx +++ b/studio/actions/publish-event.tsx @@ -25,6 +25,7 @@ export function createExtendedEventPublishAction(originalPublishAction: Document return { ...originalResult, label: "Publiser", + disabled: !!draftEvent?.title.endsWith("Avlyst"), onHandle: () => { if (!originalResult?.onHandle) { return;