diff --git a/src/Bundle/ChillMainBundle/Templating/Listing/FilterOrderGetActiveFilterHelper.php b/src/Bundle/ChillMainBundle/Templating/Listing/FilterOrderGetActiveFilterHelper.php index 6b204e552..5b36e52b3 100644 --- a/src/Bundle/ChillMainBundle/Templating/Listing/FilterOrderGetActiveFilterHelper.php +++ b/src/Bundle/ChillMainBundle/Templating/Listing/FilterOrderGetActiveFilterHelper.php @@ -11,6 +11,7 @@ declare(strict_types=1); namespace Chill\MainBundle\Templating\Listing; +use Chill\MainBundle\Templating\Entity\UserRender; use Symfony\Component\PropertyAccess\PropertyAccessorInterface; use Symfony\Component\PropertyAccess\PropertyPathInterface; use Symfony\Contracts\Translation\TranslatorInterface; @@ -20,6 +21,7 @@ final readonly class FilterOrderGetActiveFilterHelper public function __construct( private TranslatorInterface $translator, private PropertyAccessorInterface $propertyAccessor, + private UserRender $userRender, ) { } @@ -73,6 +75,12 @@ final readonly class FilterOrderGetActiveFilterHelper } } + foreach ($filterOrderHelper->getUserPickers() as $name => ['label' => $label, 'options' => $options]) { + foreach ($filterOrderHelper->getUserPickerData($name) as $user) { + $result[] = ['value' => $this->userRender->renderString($user, []), 'label' => (string) $label, 'position' => FilterOrderPositionEnum::UserPicker->value, 'name' => $name]; + } + } + foreach ($filterOrderHelper->getSingleCheckbox() as $name => ['label' => $label]) { if (true === $filterOrderHelper->getSingleCheckboxData($name)) { $result[] = ['label' => '', 'value' => $this->translator->trans($label), 'position' => FilterOrderPositionEnum::SingleCheckbox->value, 'name' => $name]; diff --git a/src/Bundle/ChillMainBundle/Templating/Listing/FilterOrderHelper.php b/src/Bundle/ChillMainBundle/Templating/Listing/FilterOrderHelper.php index 801b700a8..74d9a7a22 100644 --- a/src/Bundle/ChillMainBundle/Templating/Listing/FilterOrderHelper.php +++ b/src/Bundle/ChillMainBundle/Templating/Listing/FilterOrderHelper.php @@ -11,6 +11,7 @@ declare(strict_types=1); namespace Chill\MainBundle\Templating\Listing; +use Chill\MainBundle\Entity\User; use Chill\MainBundle\Form\Type\Listing\FilterOrderType; use DateTimeImmutable; use Symfony\Component\Form\Extension\Core\Type\FormType; @@ -134,6 +135,9 @@ final class FilterOrderHelper return $this->userPickers; } + /** + * @return list + */ public function getUserPickerData(string $name): array { return $this->getFormData()['user_pickers'][$name]; diff --git a/src/Bundle/ChillMainBundle/Templating/Listing/FilterOrderPositionEnum.php b/src/Bundle/ChillMainBundle/Templating/Listing/FilterOrderPositionEnum.php index 09e8d39aa..ed2337f1d 100644 --- a/src/Bundle/ChillMainBundle/Templating/Listing/FilterOrderPositionEnum.php +++ b/src/Bundle/ChillMainBundle/Templating/Listing/FilterOrderPositionEnum.php @@ -18,4 +18,5 @@ enum FilterOrderPositionEnum: string case DateRange = 'date_range'; case EntityChoice = 'entity_choice'; case SingleCheckbox = 'single_checkbox'; + case UserPicker = 'user_picker'; }