From 09d84e31fb862087a332a44f50030d87508a417f Mon Sep 17 00:00:00 2001 From: Nicolas Demangeat Date: Fri, 13 Jun 2025 16:59:39 +0200 Subject: [PATCH 1/3] fix :bug: sort display invoices is now OK --- app/Http/Controllers/Bo/InvoiceController.php | 2 +- routes/web-bo.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Bo/InvoiceController.php b/app/Http/Controllers/Bo/InvoiceController.php index c9e27d3..531880e 100644 --- a/app/Http/Controllers/Bo/InvoiceController.php +++ b/app/Http/Controllers/Bo/InvoiceController.php @@ -26,7 +26,7 @@ class InvoiceController extends Controller public function index(Request $request): \Illuminate\Contracts\View\View { /** @var \Illuminate\Database\Eloquent\Builder $invoiceModels */ - $invoiceModels = Invoice::query()->orderByDesc('created_at'); + $invoiceModels = Invoice::query(); $status = intval($request->status); $invoiceModels = $invoiceModels->when($status, function ($query) use ($status) { $query->where('status', $status); diff --git a/routes/web-bo.php b/routes/web-bo.php index faca415..86c2699 100644 --- a/routes/web-bo.php +++ b/routes/web-bo.php @@ -41,7 +41,7 @@ Route::middleware('admin-secure') Route::middleware('auth:backend') ->group(function () { // * HOME - Route::get('/', function(){ + Route::get('/', function () { return redirect()->route('bo.ticket.index'); })->name('dashboard'); From 4c8f5f20f7de259847c88823567a96cca42254db Mon Sep 17 00:00:00 2001 From: Nicolas Demangeat Date: Mon, 16 Jun 2025 09:53:32 +0200 Subject: [PATCH 2/3] fix: :bug: add a default behavior in sortQuery method in Controller.php to have the query orderByDesc if no query string --- app/Http/Controllers/Controller.php | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index 5686abc..5c92252 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -216,13 +216,16 @@ class Controller extends BaseController Session::remove("$rName.sort_col"); Session::remove("$rName.sort_way"); } - if (request()->sort_col and request()->sort_way and Schema::hasColumn($table, request()->sort_col)) { - if ( - !isset($ignore) or - (isset($ignore) and !in_array(request()->sort_col, $ignore)) - ) { - $query = $query->orderBy(\sprintf("$table.%s", request()->sort_col), request()->sort_way); - } + if ( + request()->sort_col && + request()->sort_way && + Schema::hasColumn($table, request()->sort_col) && + (!isset($ignore) || (isset($ignore) && !in_array(request()->sort_col, $ignore))) + ) { + $query = $query->orderBy("$table." . request()->sort_col, request()->sort_way); + } else { + // Else, orderByDesc by default. + $query = $query->orderByDesc("$table.created_at"); } return $query; } From c63f2b62e9c580de9d7029c3aeb25f1c5883b7a7 Mon Sep 17 00:00:00 2001 From: Nicolas Demangeat Date: Mon, 16 Jun 2025 10:54:46 +0200 Subject: [PATCH 3/3] fix: :art: add condition to have invoiceModels sorted by query string or orderByDesc if no query string in InvoiceController --- app/Http/Controllers/Bo/InvoiceController.php | 6 +++++- app/Http/Controllers/Controller.php | 3 --- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/Bo/InvoiceController.php b/app/Http/Controllers/Bo/InvoiceController.php index 531880e..fee33fa 100644 --- a/app/Http/Controllers/Bo/InvoiceController.php +++ b/app/Http/Controllers/Bo/InvoiceController.php @@ -25,8 +25,12 @@ class InvoiceController extends Controller */ public function index(Request $request): \Illuminate\Contracts\View\View { + // If no sorting is requested, apply the default orderByDesc. /** @var \Illuminate\Database\Eloquent\Builder $invoiceModels */ - $invoiceModels = Invoice::query(); + $invoiceModels = (!request()->query('sort_col') && !request()->query('sort_way')) + ? Invoice::query()->orderByDesc('created_at') + : Invoice::query(); + $status = intval($request->status); $invoiceModels = $invoiceModels->when($status, function ($query) use ($status) { $query->where('status', $status); diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index 5c92252..75b55bd 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -223,9 +223,6 @@ class Controller extends BaseController (!isset($ignore) || (isset($ignore) && !in_array(request()->sort_col, $ignore))) ) { $query = $query->orderBy("$table." . request()->sort_col, request()->sort_way); - } else { - // Else, orderByDesc by default. - $query = $query->orderByDesc("$table.created_at"); } return $query; }