import { useState } from "react"; import OrderForm, { orderFormToPayload, orderToFormValues, FormActions } from "./OrderForm"; import ModalPortal from "../../components/ui/ModalPortal"; function errorMessage(result) { if (result.status === 403) { return "Keine Berechtigung, Aufträge zu bearbeiten."; } if (result.status === 400) { return typeof result.data === "string" ? result.data : "Eingaben prüfen."; } return "Auftrag konnte nicht gespeichert werden."; } export default function EditOrderDialog({ order, facilities, onClose, onUpdated }) { const [form, setForm] = useState(() => orderToFormValues(order)); const [isSaving, setIsSaving] = useState(false); const [error, setError] = useState(null); async function handleSubmit(event) { event.preventDefault(); if (!form.facilityId || !form.startDate || !form.priority.trim()) { setError("Einrichtung, Beginn und Priorität sind erforderlich."); return; } if (form.endDate && form.endDate < form.startDate) { setError("Das Ende darf nicht vor dem Beginn liegen."); return; } setIsSaving(true); setError(null); const payload = orderFormToPayload(form, { includeStatus: true }); const result = await window.omsorg.orders.update(order.id, payload); setIsSaving(false); if (!result.ok) { setError(errorMessage(result)); return; } onUpdated(result.data); } return (

Auftrag bearbeiten

{error &&

{error}

}
); }