- <?php
- 
- 
- namespace PortalBundle\Form;
- 
- use CoreBundle\Entity\Dealer;
- use CoreBundle\Form\CoreFormsType;
- use Doctrine\ORM\EntityRepository;
- use Symfony\Bridge\Doctrine\Form\Type\EntityType;
- use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
- use Symfony\Component\Form\FormBuilderInterface;
- use Symfony\Component\OptionsResolver\OptionsResolver;
- use Symfony\Contracts\Translation\TranslatorInterface;
- 
- class SupportType extends CoreFormsType
- {
-     public function buildForm(FormBuilderInterface $builder, array $options)
-     {
-         /** @var TranslatorInterface $translator */
-         $translator = $options['translator'];
-         $builder
-             ->add('support_type', ChoiceType::class, [
-                 'choices' => array_flip(\PortalBundle\Model\Form\SupportType::getTypes($options['locale'])),
-                 'label' => $translator->trans('base.support_type', [], 'portal_base'),
-                 'mapped' => false,
-             ])
-             ->add('dealer', EntityType::class, [
-                 'class' => Dealer::class,
-                 'choice_label' => fn($dealer) => $dealer->getNameByLocale($translator->getLocale()),
-                 'label' => $translator->trans('base.dc', [], 'portal_base'),
-                 'required'   => true,
-                 'placeholder' => 'Не вибраний',
-                 'query_builder' => function (EntityRepository $er) use ($options) {
-                     $qb = $er->createQueryBuilder('d');
- 
-                     if ($options['filterPalmira']) {
-                         return $qb->where('d.id != :toyotaPalmiraId')
-                             ->setParameter('toyotaPalmiraId', 7);
-                     }
- 
-                     return $qb;
-                 }
-             ])
-         ;
-         parent::buildForm($builder, $options);
-     }
- 
-     public function configureOptions(OptionsResolver $resolver)
-     {
-         parent::configureOptions($resolver);
-         $resolver
-             ->setDefault('captcha_type', 'support_form')
-             ->setDefined('locale')
-             ->setDefault('filterPalmira', false)
-         ;
-     }
- }
-