src/EventListener/ProcessoKernelListener.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use App\Entity\User;
  4. use Doctrine\ORM\EntityManagerInterface;
  5. use Symfony\Component\HttpKernel\Event\RequestEvent;
  6. use Symfony\Component\Security\Core\Security;
  7. class ProcessoKernelListener
  8. {
  9.     public function __construct(private readonly EntityManagerInterface $em, private readonly Security $security) {}
  10.     public function onKernelRequest(RequestEvent $event): void
  11.     {
  12.         /** @var User $userLogged */
  13.         $userLogged $this->security->getUser();
  14.         if (!$this->security->isGranted('ROLE_ADMIN') && $userLogged) {
  15.             $filter $this->em
  16.                 ->getFilters()
  17.                 ->enable('processo_user_filter');
  18.             $isNotRegisterResponsible = !$this->security->isGranted('ROLE_ESCREVENTE_REGISTRO');
  19.             $field $isNotRegisterResponsible "responsavel_id" "responsavel_registro_id";
  20.             $filter->setParameter('field'$field);
  21.             $filter->setParameter('userId'$userLogged->getId());
  22.         }
  23.     }
  24. }