From fb63426a8efb0357d65c39c27296ab8cb9144a30 Mon Sep 17 00:00:00 2001 From: OpenClaw Date: Fri, 13 Mar 2026 14:56:46 +0000 Subject: [PATCH] feat: Show confirm/decline buttons for Chef/Disponent - Management can now accept/decline on behalf of employees - Buttons always visible for management roles - Visual feedback for already confirmed/declined status --- src/views/OrderDetailView.vue | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/src/views/OrderDetailView.vue b/src/views/OrderDetailView.vue index d974668..071073f 100644 --- a/src/views/OrderDetailView.vue +++ b/src/views/OrderDetailView.vue @@ -105,14 +105,14 @@ async function updateStatus(status: string) { } } -async function confirmAssignment(confirm: boolean) { +async function confirmAssignment(userId: string, confirm: boolean) { try { - await api.put(`/orders/${route.params.id}/assignment`, { + await api.put(`/orders/${route.params.id}/assignment/${userId}`, { status: confirm ? 'confirmed' : 'declined' }) - const myAssignment = assignments.value.find(a => a.user_id === authStore.user?.id) - if (myAssignment) { - myAssignment.status = confirm ? 'confirmed' : 'declined' + const assignment = assignments.value.find(a => a.user_id === userId) + if (assignment) { + assignment.status = confirm ? 'confirmed' : 'declined' } } catch (e) { alert(e instanceof Error ? e.message : t('messages.error')) @@ -258,10 +258,20 @@ const spotsRemaining = computed(() => { {{ getStatusLabel(assignment.status) }} - -