src/AdminBundle/Admin/Insurance/InsuranceConditionAdmin.php line 13

Open in your IDE?
  1. <?php
  2. namespace AdminBundle\Admin\Insurance;
  3. use AdminBundle\Admin\BaseAdmin;
  4. use InsuranceBundle\Entity\InsuranceConditionCategory;
  5. use Sonata\AdminBundle\Datagrid\ListMapper;
  6. use Sonata\AdminBundle\Form\FormMapper;
  7. use Sonata\AdminBundle\Form\Type\ModelType;
  8. use Sonata\MediaBundle\Form\Type\MediaType;
  9. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  10. class InsuranceConditionAdmin extends BaseAdmin
  11. {
  12.     public function prePersist($object): void
  13.     {
  14.         parent::prePersist($object);
  15.     }
  16.     public function preUpdate($object): void
  17.     {
  18.         parent::preUpdate($object);
  19.     }
  20.     public function getInsuranceConditionCategory()
  21.     {
  22.         return $this->getModelManager()
  23.             ->getEntityManager(InsuranceConditionCategory::class)
  24.             ->createQueryBuilder('cp')
  25.             ->select('cp')
  26.             ->from('InsuranceBundle:InsuranceConditionCategory''cp');
  27.     }
  28.     protected function configureListFields(ListMapper $list): void
  29.     {
  30.         $list->addIdentifier('id')
  31.             ->add('title'null, ['label' => 'Заголовок'])
  32.             ->add('_action''actions', [
  33.                 'label' => 'Действия',
  34.                 'actions' => [
  35.                     'edit' => [],
  36.                 ]
  37.             ])
  38.             ->add('categories'EntityType::class, [
  39.                 'class' => InsuranceConditionCategory::class,
  40.                 'label' => 'Подкатегория документа',
  41.             ]);
  42.     }
  43.     protected function configureFormFields(FormMapper $form): void
  44.     {
  45.         $queryBuilderParentCategory $this->getModelManager()
  46.             ->getEntityManager(InsuranceConditionCategory::class)
  47.             ->createQueryBuilder('spc')
  48.             ->select('spc')
  49.             ->from(InsuranceConditionCategory::class,'spc')
  50.             ->where('spc.parent_category is not null');
  51.         $form
  52.             ->with('Новый документ "Условия страхования"', ['class' => 'col-lg-6'])
  53.             ->add('title'null, ['label' => 'Название''required' => true])
  54.             ->add('categories'ModelType::class, [
  55.                 'label' => 'Подкатегория документа',
  56.                 'query' => $queryBuilderParentCategory,
  57.                 'btn_add' => false,
  58.                 'required' => true,
  59.                 'multiple' => true,
  60.             ])
  61.             ->add('file'MediaType::class, [
  62.                 'label' => 'Файл',
  63.                 'provider' => 'sonata.media.provider.file',
  64.                 'context' => 'insurance'
  65.             ])
  66.             ->end()
  67.             ->end();
  68.     }
  69. }