src/Nolimit/ProjectType/Admin/ProjectTypeAdmin.php line 17

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Nolimit\ProjectType\Admin;
  4. use App\Entity\Traits\ToStringNameTrait;
  5. use FOS\CKEditorBundle\Form\Type\CKEditorType;
  6. use Sonata\AdminBundle\Admin\AbstractAdmin;
  7. use Sonata\AdminBundle\Datagrid\DatagridMapper;
  8. use Sonata\AdminBundle\Datagrid\ListMapper;
  9. use Sonata\AdminBundle\Datagrid\ProxyQueryInterface;
  10. use Sonata\AdminBundle\Form\FormMapper;
  11. use Sonata\AdminBundle\Route\RouteCollectionInterface;
  12. use Sonata\AdminBundle\Show\ShowMapper;
  13. final class ProjectTypeAdmin extends AbstractAdmin
  14. {
  15.     use ToStringNameTrait;
  16.     protected function configureDatagridFilters(DatagridMapper $filter): void
  17.     {
  18.         $filter
  19.             ->add('name')
  20.         ;
  21.     }
  22.     protected function configureListFields(ListMapper $list): void
  23.     {
  24.         $list
  25.             ->add('id''number', array('label' => 'Nr.'))
  26.             ->addIdentifier('name')
  27.             ->add(ListMapper::NAME_ACTIONSnull, [
  28.                 'actions' => [
  29.                     'show' => [],
  30.                     'edit' => []
  31.                     /*
  32.                     'delete_log' => [
  33.                         'template' => '/logical_delete.html.twig',
  34.                     ]
  35.                     */
  36.                 ],
  37.             ]);
  38.     }
  39.     protected function configureFormFields(FormMapper $form): void
  40.     {
  41.         $form
  42.             ->add('name')
  43.             ->add('contentRo',CKEditorType::class)
  44.             ->add('anexaRo',CKEditorType::class)
  45.             ->add('contentHu',CKEditorType::class)
  46.             ->add('anexaHu',CKEditorType::class)
  47.             //->add('comment',CKEditorType::class)
  48.             ->add('comment',CKEditorType::class,['attr' => ['readonly' => true]])
  49.         ;
  50.     }
  51.     protected function configureShowFields(ShowMapper $show): void
  52.     {
  53.         $show
  54.             ->add('name')
  55.             ->add('comment')
  56.         ;
  57.     }
  58.     protected function configureRoutes(RouteCollectionInterface $collection): void
  59.     {
  60.         parent::configureRoutes($collection); // TODO: Change the autogenerated stub
  61.         $collection
  62.             ->remove('delete')
  63.             ->remove('create')
  64.             ->remove('show')
  65.             ->add('delete_log'$this->getRouterIdParameter().'/delete_log');
  66.     }
  67.     protected function configureQuery(ProxyQueryInterface $query): ProxyQueryInterface
  68.     {
  69.         $query parent::configureQuery($query);
  70.         $rootAlias current($query->getRootAliases());
  71.         $query->andWhere(
  72.             $query->expr()->eq($rootAlias '.deleted'':type')
  73.         );
  74.         $query->setParameter(':type''0');
  75.         return $query;
  76.     }
  77. }