Add a filter to list for acpw where current user intervenes

This commit is contained in:
2025-08-18 16:26:20 +00:00
committed by Julien Fastré
parent 481f82b4c7
commit 904f4e5ed9
4 changed files with 26 additions and 2 deletions

View File

@@ -11,6 +11,7 @@ declare(strict_types=1);
namespace Chill\PersonBundle\Controller;
use Chill\MainBundle\Entity\User;
use Chill\MainBundle\Pagination\PaginatorFactory;
use Chill\MainBundle\Templating\Listing\FilterOrderHelper;
use Chill\MainBundle\Templating\Listing\FilterOrderHelperFactoryInterface;
@@ -130,6 +131,7 @@ final class AccompanyingCourseWorkController extends AbstractController
$this->denyAccessUnlessGranted(AccompanyingPeriodWorkVoter::SEE, $period);
$filter = $this->buildFilterOrder($period);
$currentUser = $this->getUser();
$filterData = [
'types' => $filter->hasEntityChoice('typesFilter') ? $filter->getEntityChoiceData('typesFilter') : [],
@@ -138,6 +140,10 @@ final class AccompanyingCourseWorkController extends AbstractController
'user' => $filter->getUserPickerData('userFilter'),
];
if ($filter->getSingleCheckboxData('currentUserFilter') && $currentUser instanceof User) {
$filterData['currentUser'] = $currentUser;
}
$totalItems = $this->workRepository->countByAccompanyingPeriod($period);
$paginator = $this->paginator->create($totalItems);
@@ -201,6 +207,8 @@ final class AccompanyingCourseWorkController extends AbstractController
->addUserPicker('userFilter', 'accompanying_course_work.user_filter', ['required' => false])
;
$filterBuilder->addSingleCheckbox('currentUserFilter', 'accompanying_course_work.my_actions_filter');
return $filterBuilder->build();
}
}