<?php
namespace LiteDesk\CoreBundle\Controller\Voter;
use LiteDesk\CoreBundle\Controller\DutyDeskController;
use LiteDesk\OfficeBundle\Entity\Team;
use LiteDesk\UserBundle\Entity\User;
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
use Symfony\Component\Security\Core\Authorization\Voter\AbstractVoter;
use JMS\DiExtraBundle\Annotation\Service;
use JMS\DiExtraBundle\Annotation\Tag;
use Symfony\Component\Security\Core\Authorization\Voter\Voter;
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
/**
* @Service
* @Tag("security.voter")
*/
class DutyDeskVoter extends Voter
{
protected function supports($attribute, $subject)
{
if(!in_array($attribute, $this->getSupportedAttributes()))
{
return false;
}
if(!($subject instanceof DutyDeskController))
{
return false;
}
return true;
}
protected function getSupportedAttributes()
{
return array(
'DutyDeskController::newOverTimeRequestAction',
'DutyDeskController::sendOverTimeRequestAction',
);
}
protected function voteOnAttribute($attribute, $subject, TokenInterface $token)
{
throw new AccessDeniedException('not implemented yet');
$user = $token->getUser();
return false;
}
}