<?php
namespace DcSiteBundle\Form;
use CoreBundle\Form\CoreFormsType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Contracts\Translation\TranslatorInterface;
class SendQuestionType extends CoreFormsType
{
const SALE_BUY_TYPE = 1;
const TO_SERVICE_TYPE = 2;
const ACCESSORIES_EQUIPMENT_TYPE = 3;
const FINANCE_TYPE = 4;
const OTHER_QUESTIONS_TYPE = 5;
const DEALER_BECOME_TYPE = 6;
const NOTIFY_ABOUT_PRICE_TYPE = 7;
const QUESTIONS_ABOUT_BUYING_CAR = 8;
const DAY_RIDE = 9;
const TOURS = 10;
const ROLLING = 11;
const SALE_BUY_TYPE_BOAT = 12;
const QUESTIONS_ABOUT_BUYING_BOAT = 13;
/**
* @return string[]
*/
public static function getTypes()
{
return [
self::SALE_BUY_TYPE => 'Покупка авто',
self::SALE_BUY_TYPE_BOAT => 'Покупка човна',
self::TO_SERVICE_TYPE => 'Сервіс',
self::ACCESSORIES_EQUIPMENT_TYPE =>'Аксесуари та додаткове обладнання',
self::FINANCE_TYPE => 'Партнерська пропозиція',
self::OTHER_QUESTIONS_TYPE => 'Інші питання',
self::DEALER_BECOME_TYPE => 'Стати дилером',
self::NOTIFY_ABOUT_PRICE_TYPE => 'Повідомити про зміну ціни',
self::QUESTIONS_ABOUT_BUYING_CAR => 'Питання щодо викупу авто',
self::QUESTIONS_ABOUT_BUYING_BOAT => 'Питання щодо викупу човна',
self::DAY_RIDE => 'Запис на Day Ride',
self::TOURS => 'Запис на тур',
self::ROLLING => 'Прокат',
];
}
/**
* @param $type
* @return string
*/
public static function getTitle($type)
{
return self::getTypes()[$type];
}
/**
* @param FormBuilderInterface $builder
* @param array $options
* @return int|void
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
parent::buildForm($builder, $options);
/** @var TranslatorInterface $Translator */
$Translator = $options['translator'];
$select_dealer = $options['select_dealer'] ?: [];
$default_question = $options['default_question'] ?: null;
$builder->add('select_subject_question', ChoiceType::class, [
'label' => false,
'required' => true,
'choices' => array_flip(self::getTypes()),
'mapped' => false,
'data' => $default_question,
]);
$builder->add('select_dealer', ChoiceType::class, [
'label' => false,
'required' => false,
'choices' => array_flip($select_dealer),
'attr' => [
'placeholder' => $Translator->trans('form.dealer_choose', [], 'dc_base'),
],
'mapped' => false,
]);
$builder->add('comment', TextareaType::class, [
'label' => false,
'required' => false,
'attr' => [
'placeholder' => $Translator->trans('form.comment', [], 'dc_base'),
],
'mapped' => false,
]);
}
public function configureOptions(OptionsResolver $resolver)
{
parent::configureOptions($resolver);
$resolver
->setDefined('select_dealer')
->setDefined('default_question')
->setDefault('captcha_type', 'sendQuestionType');
}
}