From bf329c1263eec56c4f79d9d9427afcda489a8f12 Mon Sep 17 00:00:00 2001
From: Kevin von Spiczak <kevin.spiczak@sgalinski.de>
Date: Thu, 11 Feb 2021 11:33:42 +0100
Subject: [PATCH] [FEATURE] save filters in session

https://trello.com/c/PtW89d14/3338-extsgmail-restore-used-filters-after-going-back-eg-inside-the-mail-queue-store-them-inside-a-php-session-also-check-all-other-ba
---
 Classes/Controller/BackendController.php | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/Classes/Controller/BackendController.php b/Classes/Controller/BackendController.php
index eef539ba..8a4a68ce 100644
--- a/Classes/Controller/BackendController.php
+++ b/Classes/Controller/BackendController.php
@@ -31,6 +31,7 @@ use SGalinski\SgJobs\Domain\Repository\JobRepository;
 use SGalinski\SgJobs\Service\BackendService;
 use TYPO3\CMS\Backend\Template\Components\DocHeaderComponent;
 use TYPO3\CMS\Backend\Utility\BackendUtility;
+use TYPO3\CMS\Core\Authentication\BackendUserAuthentication;
 use TYPO3\CMS\Core\Messaging\FlashMessage;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
@@ -88,7 +89,13 @@ class BackendController extends ActionController {
 	public function indexAction(array $filters = []): void {
 		try {
 			$pageUid = (int) GeneralUtility::_GP('id');
-
+			/** @var BackendUserAuthentication $backendUser */
+			$backendUser = $GLOBALS['BE_USER'];
+			if ($filters === []) {
+				$filters = $backendUser->getModuleData('tools_beuser/index.php/web_SgJobsBackend_filters', 'ses') ?: [];
+			} else {
+				$backendUser->pushModuleData('tools_beuser/index.php/web_SgJobsBackend_filters', $filters);
+			}
 			// create docheader + buttons
 			$pageInfo = BackendUtility::readPageAccess($pageUid, $GLOBALS['BE_USER']->getPagePermsClause(1));
 			if ($pageInfo === FALSE) {
-- 
GitLab