permissionManager = $permissionManager; } /** * @param string $attribute * @param mixed $subject * @return bool */ protected function supports($attribute, $subject) { // we only work on single strings that have no subject if (null !== $subject) { return false; } return $this->permissionManager->isRegisteredPermission($attribute); } /** * @param string $attribute * @param Activity $subject * @param TokenInterface $token * @return bool */ protected function voteOnAttribute($attribute, $subject, TokenInterface $token) { $user = $token->getUser(); if (!($user instanceof User)) { return false; } return $this->permissionManager->hasRolePermission($user, $attribute); } }