src/AdminBundle/Admin/CreditProgramAdmin.php line 13

Open in your IDE?
  1. <?php
  2. namespace AdminBundle\Admin;
  3. use CoreBundle\Entity\Vehicles\Vehicle;
  4. use Sonata\AdminBundle\Datagrid\ListMapper;
  5. use Sonata\AdminBundle\Form\FormMapper;
  6. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  7. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  8. use Symfony\Component\Form\Extension\Core\Type\HiddenType;
  9. class CreditProgramAdmin extends BaseAdmin
  10. {
  11.     public function prePersist($object): void
  12.     {
  13.         $object->setState((int)$object->getState());
  14.         parent::prePersist($object);
  15.     }
  16.     /**
  17.      * @param $object
  18.      */
  19.     public function preUpdate($object): void
  20.     {
  21.         $object->setState((int)$object->getState());
  22.         parent::preUpdate($object);
  23.     }
  24.     /**
  25.      * @param FormMapper $formMapper
  26.      */
  27.     protected function configureFormFields(FormMapper $formMapper): void
  28.     {
  29.         $User $this->getUser();
  30.         $queryBuilder $this->getModelManager()
  31.             ->getEntityManager(Vehicle::class)
  32.             ->createQueryBuilder('v')
  33.             ->select('v')
  34.             ->from('CoreBundle:Vehicles\Vehicle','v')
  35.             ->where('v.is_used = 0');
  36.         $formMapper
  37.             ->with(' ', ['class' => 'col-lg-6'])
  38.                 ->add('minAvance'null, ['label' => 'Мінімальний перший пнесок'])
  39.                 ->add('maxTerm'null, ['label' => 'Максимальний строк кредитування'])
  40.                 ->add('maxAmount'null, ['label' => 'Максимальна сума кредиту'])
  41.                 ->add('addit_payment'null, ['label' => 'Інші витрати (сумма)'])
  42.                 ->add('addit_payment_comment'null, ['label' => 'Інші витрати (комментар)'])
  43.                 ->add('casco_payment_0'null, ['label' => 'Каско 0%'])
  44.                 ->add('casco_payment_05'null, ['label' => 'Каско 0.5%'])
  45.                 ->add('casco_payment_1'null, ['label' => 'Каско 1%'])
  46.                 ->add('state'CheckboxType::class, ['label' => 'Активна''required' => false])
  47.                 ->add('for_used'CheckboxType::class, ['label' => 'Для авто з пробігом''required' => false])
  48.             ->end()
  49.             ->with('  ', ['class' => 'col-lg-6'])
  50.                 ->add('bank'null, ['label' => 'Назва банку'])
  51.                 ->add('title_ru'null, ['label' => 'Назва кредитної програми (RU)'])
  52.                 ->add('title_ua'null, ['label' => 'Назва кредитної програм (UA)'])
  53.                 ->add('dealer'null, ['label' => 'Дилери'])
  54.                 ->add('vehicles'null, ['label' => 'Автомобілі''query_builder' => $queryBuilder],['admin_code' => 'admin.vehicles.passenger_vehicle'])
  55.                 ->add('params'HiddenType::class, ['label' => false'attr' => ['class' => 'js-program-params']])
  56.             ->end();
  57.     }
  58.     /**
  59.      * @param ListMapper $listMapper
  60.      */
  61.     protected function configureListFields(ListMapper $listMapper): void
  62.     {
  63.         $listMapper->addIdentifier('id')
  64.             ->add('bank',null, ['label' => 'Банк'])
  65.             ->add('title_ua',null, ['label' => 'Назва програми'])
  66.             ->add('state'ChoiceType::class, ['label' => 'Активна''editable' => true'choices' => [
  67.                 => 'Так',
  68.                 => 'Ні',
  69.             ]])
  70.             ->add('_action''actions', [
  71.                 'label' => 'Дії',
  72.                 'actions' => [
  73.                     'edit' => [],
  74.                 ]
  75.             ])
  76.         ;
  77.     }
  78.     protected function configure(): void
  79.     {
  80.         parent::configure(); // TODO: Change the autogenerated stub
  81.         $this->setTemplate('edit''@Admin/credit/credit.html.twig');
  82.     }
  83. }