From d74630e5fc27135e563f97e0f6e5b105c5575ebc Mon Sep 17 00:00:00 2001 From: bancer Date: Wed, 11 Oct 2023 15:13:26 +0200 Subject: [PATCH] Maintain backwards compatibility with posted data in 2.x format --- src/Controller/Component/FilterComponent.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Controller/Component/FilterComponent.php b/src/Controller/Component/FilterComponent.php index d09f43d..e1997d9 100644 --- a/src/Controller/Component/FilterComponent.php +++ b/src/Controller/Component/FilterComponent.php @@ -123,7 +123,13 @@ public function startup(Event $event) /** @var array $requestData */ $requestData = $controller->request->getQuery('data', []); $this->formData = $requestData; - } elseif (!$controller->request->is('post') || $controller->request->getData('Filter.filterFormId') === null) { + } elseif ( + !$controller->request->is('post') || + ( + $controller->request->getData('Filter.filterFormId') === null && + $controller->request->getData('data.Filter.filterFormId') === null + ) + ) { $persistedData = []; if ($Session->check($sessionKey)) { @@ -138,6 +144,9 @@ public function startup(Event $event) } else { /** @var array $requestData */ $requestData = $controller->request->getData(); + if (array_key_exists('data', $requestData)) { + $requestData = $requestData['data']; + } $this->formData = $requestData; if ($Session->started()) { $Session->write($sessionKey, $this->formData);