src/Admin/MotorcycleAdmin.php line 16

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Admin;
  4. use App\Entity\RentalPrice;
  5. use Sonata\AdminBundle\Admin\AbstractAdmin;
  6. use Sonata\AdminBundle\Datagrid\DatagridMapper;
  7. use Sonata\AdminBundle\Datagrid\ListMapper;
  8. use Sonata\AdminBundle\Form\FormMapper;
  9. use Sonata\AdminBundle\Form\Type\ModelType;
  10. use Sonata\AdminBundle\Show\ShowMapper;
  11. use Symfony\Component\Form\Extension\Core\Type\DateType;
  12. final class MotorcycleAdmin extends AbstractAdmin
  13. {
  14.     protected function configureDatagridFilters(DatagridMapper $datagridMapper): void
  15.     {
  16.         $datagridMapper
  17.             ->add('id')
  18.             ->add('mark')
  19.             ->add('model')
  20.             ;
  21.     }
  22.     protected function configureListFields(ListMapper $listMapper): void
  23.     {
  24.         $listMapper->add('mark');
  25.         $listMapper->add('model');
  26.         $listMapper->add('registrationNumber');
  27.         $listMapper->add('vinNumber');
  28.         $listMapper->add('rentalPrice'null, ['label' => 'Профиль цен']);
  29.         $listMapper->add('mileage');
  30.         $listMapper->add('issueYear'null, ['template' => 'admin/Motorcycle/list_issue_date.html.twig']);
  31.         $listMapper->add('_action'null, [
  32.             'actions' => [
  33.                 'show' => [],
  34.                 'edit' => [],
  35.                 'delete' => [],
  36.             ],
  37.         ]);
  38.     }
  39.     protected function configureFormFields(FormMapper $formMapper): void
  40.     {
  41.         $formMapper->add('mark');
  42.         $formMapper->add('model');
  43.         $formMapper->add('vinNumber');
  44.         $formMapper->add('registrationNumber');
  45.         $formMapper->add('issueYear'DateType::class, [
  46.             'label' => 'Дата выдачи',
  47.             'widget' => 'single_text',
  48.             'required' => false,
  49.         ]);
  50.         $formMapper->add('paymentAmount'null, [
  51.             'label' => 'Базовая стоимость (paymentAmount, legacy)',
  52.             'help' => 'Устаревшее поле. Рекомендуется использовать профили цен ниже.',
  53.         ]);
  54.         $formMapper->add('rentalPrice'ModelType::class, [
  55.             'class' => RentalPrice::class,
  56.             'btn_add' => true,
  57.             'btn_delete' => false,
  58.             'btn_list' => true,
  59.             'label' => 'Профиль цен аренды',
  60.             'help' => 'Выберите (или создайте) набор цен для разных длительностей (1ч, 6ч, сутки и т.д.). Один профиль можно использовать для нескольких мотоциклов.',
  61.             'required' => false,
  62.         ]);
  63.         $formMapper->add('color');
  64.     }
  65.     protected function configureShowFields(ShowMapper $showMapper): void
  66.     {
  67.         $showMapper
  68.             ->add('id')
  69.             ->add('mark')
  70.             ->add('model')
  71.             ;
  72.     }
  73. }