Skip to content
Snippets Groups Projects

[FEATURE] save filters in session

Merged Kevin von Spiczak requested to merge feature_3338-saveFiltersInSession into master
@@ -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,6 +89,14 @@ class BackendController extends ActionController {
public function indexAction(array $filters = []): void {
$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) {
@@ -136,6 +145,9 @@ class BackendController extends ActionController {
$this->view->assign('filters', $filters);
$this->view->assign('jobs', $jobs);
if (!$totalJobCount && $pageUid) {
// clear previously set filters again,
// without this, the user would be stuck without filters and just the flash message
$backendUser->pushModuleData('tools_beuser/index.php/web_SgJobsBackend_filters', []);
$this->addFlashMessage(
LocalizationUtility::translate('backend.notice.noRecords', 'SgJobs'), '', FlashMessage::INFO
);
Loading