src\Form\UserSurvey\IFResultType.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Form\UserSurvey;
  3. use App\Entity\TaxRectificationRequest;
  4. use App\Entity\UserSurvey;
  5. use App\Form\Type\SwitchType;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  8. use Symfony\Component\Form\AbstractType;
  9. use Symfony\Component\Form\Extension\Core\Type\DateType;
  10. use Symfony\Component\Form\FormBuilderInterface;
  11. use Symfony\Component\OptionsResolver\OptionsResolver;
  12. class IFResultType extends AbstractType
  13. {
  14.     private EntityManagerInterface $em;
  15.     public function __construct(EntityManagerInterface $em)
  16.     {
  17.         $this->em $em;
  18.     }
  19.     public function buildForm(FormBuilderInterface $builder, array $options): void
  20.     {
  21.         $taxRecifications $this->em->getRepository(TaxRectificationRequest::class)->createQueryBuilder('trr')
  22.             ->andWhere('trr.code in (:codes)')
  23.             ->setParameter(':codes', ['PIT_ONLINE_FR''PIT_PAPIER'])
  24.             ->getQuery()->getResult();
  25.         $builder
  26.             ->add('dateAFC'DateType::class, [
  27.                 'label' => 'Date dépôt finances publiques',
  28.                 'required' => false,
  29.                 'widget' => 'single_text',
  30.                 'row_attr' => [
  31.                     'class' => 'input-group input-group-static my-3',
  32.                 ],
  33.             ])
  34.             ->add('taxRectificationRequest'EntityType::class, [
  35.                 'class' => TaxRectificationRequest::class,
  36.                 'label' => 'Demande de rectification d\'impôt',
  37.                 'choice_label' => 'title',
  38.                 'choices' => $taxRecifications,
  39.                 'required' => false,
  40.                 'empty_data' => '',
  41.                 'placeholder' => '',
  42.                 'row_attr' => [
  43.                     'class' => 'input-group input-group-static mb-4',
  44.                 ],
  45.             ])
  46.             ->add('statusChange'SwitchType::class, [
  47.                 'mapped' => false,
  48.                 'required' => false,
  49.                 'label' => 'Changer le statut en "Dépôt finances publiques"',
  50.                 'value' => true,
  51.             ])
  52.             ->add('switchToPaid'SwitchType::class, [
  53.                 'mapped' => false,
  54.                 'required' => false,
  55.                 'label' => 'Passer en "Payé"',
  56.                 'value' => false,
  57.             ])
  58.             ->add('sendMail'SwitchType::class, [
  59.                 'mapped' => false,
  60.                 'required' => false,
  61.                 'label' => 'Prévenir Le client',
  62.                 'value' => true,
  63.             ]);
  64.     }
  65.     public function configureOptions(OptionsResolver $resolver): void
  66.     {
  67.         $resolver->setDefaults([
  68.             'with_afc_request' => true,
  69.             'data_class' => UserSurvey::class,
  70.             'csrf_protection' => true,
  71.             'csrf_token_id' => 'front_update_item',
  72.             'csrf_field_name' => 'front_update_token',
  73.         ]);
  74.     }
  75. }