Filter user in user picker by flags, method to get/filter user by flag in UserRepository

This commit is contained in:
2018-09-14 15:41:50 +02:00
parent 24dae9bc9c
commit b3d23bbed8
3 changed files with 71 additions and 2 deletions

View File

@@ -55,7 +55,7 @@ class UserPickerType extends AbstractType
/**
*
* @var EntityRepository
* @var \Chill\MainBundle\Repository\UserRepository
*/
protected $userRepository;
@@ -82,6 +82,8 @@ class UserPickerType extends AbstractType
;
$resolver
->setDefault('having_permissions_group_flag', null)
->setAllowedTypes('having_permissions_group_flag', ['string', 'null'])
->setDefault('class', User::class)
->setDefault('placeholder', 'Choose an user')
->setDefault('choice_label', function(User $u) {
@@ -89,8 +91,16 @@ class UserPickerType extends AbstractType
})
->setNormalizer('choices', function(Options $options) {
return $this->authorizationHelper
$users = $this->authorizationHelper
->findUsersReaching($options['role'], $options['center']);
if (NULL !== $options['having_permissions_group_flag']) {
return $this->userRepository
->findUsersHavingFlags($options['having_permissions_group_flag'], $users)
;
}
return $users;
})
;
}