|
- <?php
-
- namespace Lc\CaracoleBundle\Controller;
-
- use Doctrine\ORM\EntityManagerInterface;
- use Doctrine\ORM\QueryBuilder;
- use EasyCorp\Bundle\EasyAdminBundle\Collection\FieldCollection;
- use EasyCorp\Bundle\EasyAdminBundle\Collection\FilterCollection;
-
- use Lc\CaracoleBundle\Doctrine\Extension\FilterMerchantInterface;
- use Lc\CaracoleBundle\Doctrine\Extension\FilterSectionInterface;
- use Lc\CaracoleBundle\Resolver\MerchantResolver;
- use Lc\CaracoleBundle\Resolver\SectionResolver;
- use Lc\SovBundle\Controller\AbstractAdminController as SovAbstractAdminController;
- use EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto;
- use EasyCorp\Bundle\EasyAdminBundle\Dto\SearchDto;
- use Lc\SovBundle\Doctrine\EntityManager;
- use Lc\SovBundle\Doctrine\Extension\TreeInterface;
- use Lc\SovBundle\Translation\TranslatorAdmin;
- use Symfony\Component\HttpFoundation\RequestStack;
- use Symfony\Component\HttpFoundation\Session\SessionInterface;
-
-
- //TODO ce fichier ne devrait plus exister
- abstract class AbstractAdminController extends SovAbstractAdminController
- {
- protected $session;
- protected $request;
- protected $merchantResolver;
- protected $sectionResolver;
-
-
- public static function getSubscribedServices()
- {
- return array_merge(parent::getSubscribedServices(), [
- 'merchant_resolver' => MerchantResolver::class,
- 'section_resolver' => SectionResolver::class,
-
- ]);
- }
- public function createIndexQueryBuilder(
- SearchDto $searchDto,
- EntityDto $entityDto,
- FieldCollection $fields,
- FilterCollection $filters
- ): QueryBuilder {
- $queryBuilder = parent::createIndexQueryBuilder(
- $searchDto,
- $entityDto,
- $fields,
- $filters
- );
-
- //TODO Gérer depuis les événements
-
- if ($this->isInstanceOf(FilterMerchantInterface::class)) {
- $queryBuilder->andWhere('entity.merchant = :merchant');
- $queryBuilder->setParameter('merchant', $this->get('merchant_resolver')->getCurrent());
- }
-
- if ($this->isInstanceOf(FilterSectionInterface::class)) {
- $queryBuilder->andWhere('entity.section = :section');
- $queryBuilder->setParameter('section', $this->get('section_resolver')->getCurrent());
- }
-
- return $queryBuilder;
- }
-
-
-
- }
|