mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-08-28 02:23:51 +00:00
add a filtering of tasks by center
This commit is contained in:
@@ -136,6 +136,17 @@ class SingleTaskListType extends AbstractType
|
||||
'label' => 'Associated person'
|
||||
])
|
||||
;
|
||||
$reachablesCenters = $this->getReachablesCenters();
|
||||
if (count($reachablesCenters) > 1) {
|
||||
$builder
|
||||
->add('center_id', EntityType::class, [
|
||||
'class' => \Chill\MainBundle\Entity\Center::class,
|
||||
'choices' => $reachablesCenters,
|
||||
'label' => 'Center',
|
||||
'required' => false,
|
||||
'placeholder' => 'All centers'
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
// add a hidden field
|
||||
$builder
|
||||
@@ -144,6 +155,7 @@ class SingleTaskListType extends AbstractType
|
||||
->addModelTransformer(new PersonToIdTransformer($this->em))
|
||||
;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected function getUserChoices($options)
|
||||
@@ -257,6 +269,14 @@ class SingleTaskListType extends AbstractType
|
||||
|
||||
return $qb->getQuery()->getResult();
|
||||
}
|
||||
|
||||
protected function getReachablesCenters()
|
||||
{
|
||||
$user = $this->tokenStorage->getToken()->getUser();
|
||||
$role = new Role(TaskVoter::SHOW);
|
||||
|
||||
return $this->authorizationHelper->getReachableCenters($user, $role);
|
||||
}
|
||||
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
|
Reference in New Issue
Block a user