src/AdminBundle/Admin/EventsAdmin.php line 14

Open in your IDE?
  1. <?php
  2. namespace AdminBundle\Admin;
  3. use Sonata\AdminBundle\Admin\AbstractAdmin;
  4. use Sonata\AdminBundle\Datagrid\DatagridMapper;
  5. use Sonata\AdminBundle\Datagrid\ListMapper;
  6. use Sonata\AdminBundle\Form\FormMapper;
  7. use Sonata\AdminBundle\Form\Type\ModelType;
  8. use Sonata\AdminBundle\Show\ShowMapper;
  9. use Sonata\MediaBundle\Form\Type\MediaType;
  10. use Symfony\Component\Security\Core\Security;
  11. class EventsAdmin extends AbstractAdmin
  12. {
  13.     protected Security $security;
  14.     public function setContainerServices(Security $security): void
  15.     {
  16.         $this->security $security;
  17.     }
  18.     public function prePersist($object): void
  19.     {
  20.         $dealer $this->security->getUser()->getDealer();
  21.         $object->setDealer($dealer);
  22.     }
  23.     public function preUpdate($object): void
  24.     {
  25.         $dealer $this->security->getUser()->getDealer();
  26.         $object->setDealer($dealer);
  27.         parent::preUpdate($object);
  28.     }
  29.     protected function configureDatagridFilters(DatagridMapper $datagridMapper): void
  30.     {
  31.         $datagridMapper
  32.             ->add('name_ru')
  33.         ;
  34.     }
  35.     protected function configureListFields(ListMapper $listMapper): void
  36.     {
  37.         $listMapper
  38.             ->add('name_ru')
  39.             ->add('_action'null, [
  40.                 'actions' => [
  41.                     'edit' => [],
  42.                     'delete' => [],
  43.                 ],
  44.             ])
  45.         ;
  46.     }
  47.     protected function configureFormFields(FormMapper $formMapper): void
  48.     {
  49.         $formMapper
  50.             ->add('name_ru'null, ['label' => 'Название RU'])
  51.             ->add('name_ua'null, ['label' => 'Название UA'])
  52.             ->add('content'MediaType::class, [
  53.                 'label' => 'Видео',
  54.                 'provider' => 'sonata.media.provider.youtube',
  55.                 'context' => 'default',
  56.             ])
  57.         ;
  58.     }
  59.     protected function configureShowFields(ShowMapper $showMapper): void
  60.     {
  61.         $showMapper
  62.             ->add('name_ru')
  63.             ->add('name_ua')
  64.         ;
  65.     }
  66. }