add more filtering possibilities with order helper

This commit is contained in:
2021-10-28 00:11:05 +02:00
parent aea5e9b1d7
commit 97dbc4bc16
6 changed files with 127 additions and 79 deletions

View File

@@ -532,14 +532,18 @@ final class SingleTaskController extends AbstractController
$this->denyAccessUnlessGranted('ROLE_USER');
$filterOrder = $this->buildFilterOrder();
$flags = \array_merge(
$filterOrder->getCheckboxData('status'),
\array_map(fn ($i) => 'state_'.$i, $filterOrder->getCheckboxData('states'))
);
$nb = $this->singleTaskAclAwareRepository->countByCurrentUsersTasks(
$filterOrder->getQueryString(),
$filterOrder->getCheckbox('status')
$flags
);
$paginator = $this->paginatorFactory->create($nb);
$tasks = $this->singleTaskAclAwareRepository->findByCurrentUsersTasks(
$filterOrder->getQueryString(),
$filterOrder->getCheckbox('status'),
$flags,
$paginator->getCurrentPageFirstItemNumber(),
$paginator->getItemsPerPage()
);
@@ -555,14 +559,19 @@ final class SingleTaskController extends AbstractController
{
$statuses = ['no-alert', 'warning', 'alert'];
$statusTrans = [
'Tasks without alert',
'Tasks near deadline',
'Tasks over deadline',
'Tasks without alert',
];
$states = [
// todo: get a list of possible states dynamically
'new', 'in_progress', 'closed', 'canceled'
];
return $this->filterOrderHelperFactory
->create(self::class)
->addSearchBox()
->addCheckbox('status', $statuses, $statuses, $statusTrans)
->addCheckbox('states', $states, ['new', 'in_progress'])
->build()
;
}