Skip to content

Commit f385bc7

Browse files
fix: fix order items status update
1 parent e36618e commit f385bc7

2 files changed

Lines changed: 16 additions & 5 deletions

File tree

app/Http/Controllers/Orders/OrderItemController.php

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,11 +102,22 @@ public function bulkUpdateStatus(Request $request): JsonResponse
102102
return response()->json(['success' => true, 'updated' => $updated]);
103103
}
104104

105-
public function updateStatus(Request $request, OrderItem $orderItem, ?Order $order = null): JsonResponse
105+
public function updateStatus(Request $request, Order $order, OrderItem $orderItem): JsonResponse
106+
{
107+
abort_if($orderItem->order_id !== $order->id, 404, 'Item does not belong to this order.');
108+
abort_if($orderItem->status === 'cancelled', 422, 'Cannot update a cancelled item.');
109+
110+
$validated = $request->validate([
111+
'status' => ['required', 'string', 'in:sent_to_kitchen,preparing,ready,served'],
112+
]);
113+
114+
$this->orderService->changeItemStatus($orderItem, $validated['status']);
115+
116+
return response()->json(['success' => true, 'status' => $orderItem->status]);
117+
}
118+
119+
public function updateItemStatus(Request $request, OrderItem $orderItem): JsonResponse
106120
{
107-
if ($order !== null) {
108-
abort_if($orderItem->order_id !== $order->id, 404, 'Item does not belong to this order.');
109-
}
110121
abort_if($orderItem->status === 'cancelled', 422, 'Cannot update a cancelled item.');
111122

112123
$validated = $request->validate([

routes/orders.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@
9595
->middleware('permission:order-items-update')
9696
->name('orders.items.status');
9797

98-
Route::patch('order-items/{orderItem}/status', [OrderItemController::class, 'updateStatus'])
98+
Route::patch('order-items/{orderItem}/status', [OrderItemController::class, 'updateItemStatus'])
9999
->middleware('permission:order-items-update')
100100
->name('order-items.status');
101101

0 commit comments

Comments
 (0)