From c09214f59a6313dc81a74a1932f66db3ab0d2698 Mon Sep 17 00:00:00 2001 From: Noah Lancien Date: Thu, 20 Nov 2025 09:55:38 +0100 Subject: [PATCH] fix: use increment/decrement instead of loop --- app/Http/Controllers/Bo/TicketController.php | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/app/Http/Controllers/Bo/TicketController.php b/app/Http/Controllers/Bo/TicketController.php index 4f6664e..0b4fe66 100644 --- a/app/Http/Controllers/Bo/TicketController.php +++ b/app/Http/Controllers/Bo/TicketController.php @@ -892,22 +892,13 @@ class TicketController extends Controller $newPriority = $request->validated('priority'); return DB::transaction(function () use ($ticket, $newPriority) { - $getHigherPriority = $ticket->order < $newPriority; - // Update all tickets who will be moved with this priority update. - Ticket::query() + $request = Ticket::query() ->where('site_id', $ticket->site_id) ->whereNot('status', TicketStatusEnum::archived) ->whereNot('id', $ticket->id) - ->whereBetween('order', [min($ticket->order, $newPriority), max($ticket->order, $newPriority)]) - ->each( - function (Ticket $ticket) use ($getHigherPriority) { - $ticket->order += $getHigherPriority ? -1 : 1; - if (!$ticket->saveOrFail()) { - return back()->with('error', trans('crud.messages.order_not_changed')); - }; - } - ); + ->whereBetween('order', [min($ticket->order, $newPriority), max($ticket->order, $newPriority)]); + $ticket->order < $newPriority ? $request->decrement('order', 1) : $request->increment('order', 1); // Update the ticket. $ticket->order = $newPriority;