- <?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');
-     }
- }
-