From 7614c240128851ca81b0bd419f85d3cfc016060e Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Wed, 4 Oct 2023 13:47:01 +0200 Subject: [PATCH] fix regression on crud sorting --- CHANGELOG.md | 3 +++ src/core/Controller/Admin/Crud/CrudController.php | 10 +++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5122a6b..54ea8d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ ## [Unreleased] +### Fixed +* fix regression on crud sorting + ## [v1.22.0] 2023-09-28 ### Added * add new options in BooleanField: `toggle|checkbox_class_when_true` and `toggle|checkbox_class_when_false` diff --git a/src/core/Controller/Admin/Crud/CrudController.php b/src/core/Controller/Admin/Crud/CrudController.php index 41d934a..fcd5fab 100644 --- a/src/core/Controller/Admin/Crud/CrudController.php +++ b/src/core/Controller/Admin/Crud/CrudController.php @@ -401,10 +401,10 @@ abstract class CrudController extends AdminController $sessionSortName = sprintf('%s_label', $sessionId); $sessionSortDirection = sprintf('%s_direction', $sessionId); - $name = strtolower($request->query->get( + $name = $request->query->get( '_sort', - $session->get($sessionSortName, $defaultSort['label'] ?? 'asc') - )); + $session->get($sessionSortName, $defaultSort['label'] ?? null) + ); $direction = strtolower($request->query->get( '_sort_direction', @@ -414,6 +414,10 @@ abstract class CrudController extends AdminController $session->set($sessionSortName, $name); $session->set($sessionSortDirection, $direction); + if (empty($name)) { + return; + } + if (!in_array($direction, ['asc', 'desc'])) { $direction = 'asc'; }