src/Doctrine/Extensions/StoreFilterExtension.php line 53
<?php// src/Doctrine/Extensions/GlobalHintExtension.phpnamespace App\Doctrine\Extensions;use App\Entity\User;use Doctrine\ORM\EntityManagerInterface;use Symfony\Bundle\SecurityBundle\Security;use Symfony\Component\EventDispatcher\Attribute\AsEventListener;use Symfony\Component\HttpKernel\Event\RequestEvent;use Symfony\Component\HttpKernel\Event\ExceptionEvent;#[AsEventListener(event: RequestEvent::class, method: 'onKernelRequest', priority: -100)]#[AsEventListener(event: ExceptionEvent::class, method: 'onKernelException')]class StoreFilterExtension{public function __construct(private EntityManagerInterface $em,private Security $security) {}public static function getSubscribedEvents(): array{return [RequestEvent::class => 'onKernelRequest',];}public function onKernelRequest(RequestEvent $event): void{if (!$event->isMainRequest()) {return;}$user = $this->security->getUser();if (!$user instanceof User || !$user->getStore() instanceof \App\Flexynity\ShopBundle\Entity\Store\Store || in_array("ROLE_ADMIN",$user->getRoles()) ) {return;}if(!$this->em->getFilters()->isEnabled("store_filter" ) ){$this->em->getFilters()->enable('store_filter')->setParameter('store_id', $user->getStore()->getId());}}public function onKernelException(ExceptionEvent $event){// Handle kernel exception}}