src/EventListener/SoftDeletableReadListener.php line 34
<?phpnamespace App\EventListener;use App\Entity\Address;use App\Entity\Area;use App\Entity\Article;use App\Entity\Detergent;use App\Entity\Lead;use App\Entity\Pbm;use App\Entity\Person;use App\Entity\Project;use App\Entity\Quote;use App\Entity\QuoteBaseArticle;use App\Entity\QuoteRule;use App\Entity\QuoteRuleType;use App\Entity\QuoteType;use App\Entity\Report;use App\Entity\Trap;use App\Entity\User;use Doctrine\ORM\EntityManagerInterface;use Symfony\Component\HttpKernel\Event\RequestEvent;class SoftDeletableReadListener{private $em;public function __construct(EntityManagerInterface $em){$this->em = $em;}public function onKernelRequest(RequestEvent $event){$request = $event->getRequest();$filters = $this->em->getFilters()->getEnabledFilters();if (!array_key_exists('softdeleteable', (array) $filters)) {return;}/*** @var FilterCollection*/$filter = $this->em->getFilters()->getFilter('softdeleteable');if (!str_contains($request->attributes->get('_route'), '/users')) {$filter->disableForEntity(User::class);}if (!str_contains($request->attributes->get('_route'), '/projects')) {$filter->disableForEntity(Project::class);}if (!str_contains($request->attributes->get('_route'), '/addresses') && !str_contains($request->attributes->get('_route'), '/projects')) {$filter->disableForEntity(Address::class);}if (!str_contains($request->attributes->get('_route'), '/areas') && !str_contains($request->attributes->get('_route'), '/addresses')) {$filter->disableForEntity(Area::class);}if (!str_contains($request->attributes->get('_route'), '/people')) {$filter->disableForEntity(Person::class);}if (!str_contains($request->attributes->get('_route'), '/articles') && !str_contains($request->attributes->get('_route'), '/article_categories')) {$filter->disableForEntity(Article::class);}if (!str_contains($request->attributes->get('_route'), '/pbms')) {$filter->disableForEntity(Pbm::class);}if (!str_contains($request->attributes->get('_route'), '/detergents')) {$filter->disableForEntity(Detergent::class);}if (!str_contains($request->attributes->get('_route'), '/traps')) {$filter->disableForEntity(Trap::class);}if (!str_contains($request->attributes->get('_route'), '/reports')) {$filter->disableForEntity(Report::class);}if (!str_contains($request->attributes->get('_route'), '/leads')) {$filter->disableForEntity(Lead::class);}if (!str_contains($request->attributes->get('_route'), '/quotes')) {$filter->disableForEntity(Quote::class);}if (!str_contains($request->attributes->get('_route'), '/quote_rule_types')) {$filter->disableForEntity(QuoteRuleType::class);}if (!str_contains($request->attributes->get('_route'), '/quote_base_articles')) {$filter->disableForEntity(QuoteBaseArticle::class);}if (!str_contains($request->attributes->get('_route'), '/quote_rules')) {$filter->disableForEntity(QuoteRule::class);}if (!str_contains($request->attributes->get('_route'), '/quote_types')) {$filter->disableForEntity(QuoteType::class);}}}