diff --git a/Export/Filter/GenderFilter.php b/Export/Filter/GenderFilter.php index 3b101e5e7..f1ae8f7e2 100644 --- a/Export/Filter/GenderFilter.php +++ b/Export/Filter/GenderFilter.php @@ -24,6 +24,7 @@ use Symfony\Component\Form\FormBuilderInterface; use Chill\PersonBundle\Entity\Person; use Doctrine\ORM\QueryBuilder; use Doctrine\ORM\Query\Expr; +use Symfony\Component\Security\Core\Role\Role; /** * @@ -78,4 +79,9 @@ class GenderFilter implements FilterInterface { return 'Filter by person gender'; } + + public function requiredRole() + { + return new Role(\Chill\PersonBundle\Security\Authorization\PersonVoter::STATS); + } } diff --git a/Export/Filter/NationalityFilter.php b/Export/Filter/NationalityFilter.php index 0f24c5e90..6b2d5966e 100644 --- a/Export/Filter/NationalityFilter.php +++ b/Export/Filter/NationalityFilter.php @@ -23,6 +23,7 @@ use Symfony\Component\Form\FormBuilderInterface; use Doctrine\ORM\QueryBuilder; use Chill\MainBundle\Export\FilterInterface; use Doctrine\ORM\Query\Expr; +use Symfony\Component\Security\Core\Role\Role; /** * @@ -63,4 +64,9 @@ class NationalityFilter implements FilterInterface { return "Filter by person's nationality"; } + + public function requiredRole() + { + return new Role(\Chill\PersonBundle\Security\Authorization\PersonVoter::STATS); + } } diff --git a/Security/Authorization/PersonVoter.php b/Security/Authorization/PersonVoter.php index 1f1116abe..8808882f8 100644 --- a/Security/Authorization/PersonVoter.php +++ b/Security/Authorization/PersonVoter.php @@ -49,12 +49,12 @@ class PersonVoter extends AbstractChillVoter implements ProvideRoleInterface protected function getSupportedAttributes() { - return array(self::CREATE, self::UPDATE, self::SEE); + return array(self::CREATE, self::UPDATE, self::SEE, self::STATS); } protected function getSupportedClasses() { - return array('Chill\PersonBundle\Entity\Person'); + return array('Chill\PersonBundle\Entity\Person', 'Chill\MainBundle\Entity\Center'); } protected function isGranted($attribute, $person, $user = null)