src/LiteDesk/CoreBundle/Controller/Voter/DutyDeskVoter.php line 18

Open in your IDE?
  1. <?php
  2. namespace LiteDesk\CoreBundle\Controller\Voter;
  3. use LiteDesk\CoreBundle\Controller\DutyDeskController;
  4. use LiteDesk\OfficeBundle\Entity\Team;
  5. use LiteDesk\UserBundle\Entity\User;
  6. use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
  7. use Symfony\Component\Security\Core\Authorization\Voter\AbstractVoter;
  8. use JMS\DiExtraBundle\Annotation\Service;
  9. use JMS\DiExtraBundle\Annotation\Tag;
  10. use Symfony\Component\Security\Core\Authorization\Voter\Voter;
  11. use Symfony\Component\Security\Core\Exception\AccessDeniedException;
  12. /**
  13.  * @Service
  14.  * @Tag("security.voter")
  15.  */
  16. class DutyDeskVoter extends Voter
  17. {
  18.     protected function supports($attribute$subject)
  19.     {
  20.         if(!in_array($attribute$this->getSupportedAttributes()))
  21.         {
  22.             return false;
  23.         }
  24.         if(!($subject instanceof DutyDeskController))
  25.         {
  26.             return false;
  27.         }
  28.         return true;
  29.     }
  30.     protected function getSupportedAttributes()
  31.     {
  32.         return array(
  33.             'DutyDeskController::newOverTimeRequestAction',
  34.             'DutyDeskController::sendOverTimeRequestAction',
  35.         );
  36.     }
  37.     protected function voteOnAttribute($attribute$subjectTokenInterface $token)
  38.     {
  39.         throw new AccessDeniedException('not implemented yet');
  40.         $user $token->getUser();
  41.         return false;
  42.     }
  43. }