src/Security/Authorization/Voter/GridVoter.php line 8

Open in your IDE?
  1. <?php
  2. namespace App\Security\Authorization\Voter;
  3. use App\Entity\Grid;
  4. use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
  5. class GridVoter extends AbstractVoter
  6. {
  7.     public const READ 'read';
  8.     public const WRITE 'write';
  9.     /**
  10.      * @param string $attribute
  11.      * @param mixed  $subject
  12.      *
  13.      * @return bool
  14.      */
  15.     protected function supports($attribute$subject): bool
  16.     {
  17.         if (!\in_array($attribute, [self::READself::WRITE], true)) {
  18.             return false;
  19.         }
  20.         if (!$subject instanceof Grid) {
  21.             return false;
  22.         }
  23.         return true;
  24.     }
  25.     /**
  26.      * @param string         $attribute
  27.      * @param mixed          $subject
  28.      * @param TokenInterface $token
  29.      *
  30.      * @return bool
  31.      */
  32.     protected function voteOnAttribute($attribute$subjectTokenInterface $token): bool
  33.     {
  34.         return $this->voteByDbname($attribute$subject$token);
  35.     }
  36. }