<?php
namespace DcSiteBundle\Form;
use CoreBundle\Form\CoreFormsType;
use DcSiteBundle\Form\Transformer\RentCarTransformer;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormEvents;
use Symfony\Component\OptionsResolver\OptionsResolver;
class RentType extends CoreFormsType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
parent::buildForm($builder, $options);
$translator = $options['translator'];
$equipmentRentType = $options['equipment_rent_type'];
$builder
->add('vehicle', HiddenType::class, ['mapped' => false])
->add('equipment_rent', CheckboxType::class, ['label' => $translator->trans('rental_equipment.rent_ekip', [], 'dc_yamaha'), 'mapped' => false, 'required' => false, 'attr' => ['checked' => true]])
->add('equipment_rent_type', HiddenType::class, ['mapped' => false, 'required' => false, 'attr' => ['value' => $equipmentRentType]])
;
if(!isset($options['ga_events']['withOutTime']) || !$options['ga_events']['withOutTime']) {
$builder
->add('begin_date', TextType::class, ['label' => false, 'mapped' => false, 'attr' => ['placeholder' => 'Дата начала']])
->add('end_date', TextType::class, ['label' => false, 'mapped' => false, 'attr' => ['placeholder' => 'Дата окончания']]);
}
$builder->addEventListener(FormEvents::SUBMIT, function ($event): void {
(new RentCarTransformer($event))->transform();
});
}
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
parent::configureOptions($resolver);
$resolver->setDefined('vehicle');
$resolver->setDefault('equipment_rent_type', false);
$resolver->setDefault('captcha_type', 'buy_car_form');
}
}