src/AppBundle/EventListener/GraphQl/QueryListener.php line 16

Open in your IDE?
  1. <?php
  2. namespace AppBundle\EventListener\GraphQl;
  3. use AppBundle\Event\GqlEvents\QueryEvent;
  4. use AppBundle\Repository\ColorRepository;
  5. use AppBundle\Repository\MarketingRepository;
  6. class QueryListener
  7. {
  8.     /**
  9.      * @param QueryEvent $event
  10.      */
  11.     public function onPrefetch(QueryEvent $event)
  12.     {
  13.         if ($event->getClassName() === ColorRepository::CLASS_NAME) {
  14.             // MDG becomes MOM in queries of formOrder (@see axo #28714)
  15.             // custom filter to allow use of mdg to mom only on a few select front places
  16.             if ($filters $event->getFilters()) {
  17.                 foreach ($filters as $key => $filter) {
  18.                     if ($key === 'marketing.name.mdgAsMom') {
  19.                         if (isset($filter['filterValue'])
  20.                             && $filter['filterValue'] === MarketingRepository::MARKETING_TYPE_MDG) {
  21.                             $filters[$key]['filterValue'] = MarketingRepository::MARKETING_TYPE_MOM;
  22.                         }
  23.                         $filters['marketing.name'] = $filters['marketing.name.mdgAsMom'];
  24.                         unset($filters['marketing.name.mdgAsMom']);
  25.                     }
  26.                 }
  27.                 $event->setFilters($filters);
  28.             }
  29.         }
  30.     }
  31. }