src/AdminBundle/Admin/SubAutoSite/SeoAdmin.php line 12

Open in your IDE?
  1. <?php
  2. namespace AdminBundle\Admin\SubAutoSite;
  3. use Sonata\AdminBundle\Datagrid\ListMapper;
  4. use Sonata\AdminBundle\Datagrid\ProxyQueryInterface;
  5. use Sonata\AdminBundle\Form\FormMapper;
  6. use Sonata\AdminBundle\Route\RouteCollection;
  7. use Sonata\AdminBundle\Route\RouteCollectionInterface;
  8. class SeoAdmin extends BaseImporterAdmin
  9. {
  10.     /**
  11.      * @param $object
  12.      */
  13.     public function prePersist($object): void
  14.     {
  15.         $dealer $this->security->getUser()->getSubDealer();
  16.         $object->setDealer($dealer);
  17.     }
  18.     /**
  19.      * @param RouteCollection $collection
  20.      */
  21.     protected function configureRoutes(RouteCollectionInterface $collection): void
  22.     {
  23.         $collection->remove('view');
  24.     }
  25.     /**
  26.      * @param string $context
  27.      * @return ProxyQueryInterface
  28.      */
  29.     public function configureQuery($context 'list'): ProxyQueryInterface
  30.     {
  31.         $user $this->security->getUser();
  32.         $dealer $user->getSubDealer();
  33.         $query parent::configureQuery($context);
  34.         $query->andWhere(
  35.             $query->expr()->eq($query->getRootAliases()[0] . '.dealer'':dealer')
  36.         );
  37.         $query->setParameter('dealer'$dealer);
  38.         return $query;
  39.     }
  40.     /**
  41.      * @param FormMapper $formMapper
  42.      */
  43.     protected function configureFormFields(FormMapper $formMapper): void
  44.     {
  45.         $formMapper
  46.             ->with('Seo', ['class' => 'col-lg-6'])
  47.             ->add('head'null, ['label' => 'Код на сайт <head>'])
  48.             ->add('body'null, ['label' => 'Код на сайт <body>'])
  49.             ->end()
  50.         ;
  51.     }
  52.     /**
  53.      * @param ListMapper $listMapper
  54.      */
  55.     protected function configureListFields(ListMapper $listMapper): void
  56.     {
  57.         $listMapper->addIdentifier('id')
  58.             ->add('dealer',null, ['label' => 'Дилерский центр''admin_code' => 'admin.sub.contact'])
  59.             ->add('_action''actions', [
  60.                 'label' => 'Действия',
  61.                 'actions' => [
  62.                     'edit' => [],
  63.                 ]
  64.             ])
  65.         ;
  66.     }
  67. }