src/Form/GestionComerciale/OrdreRepType.php line 32

Open in your IDE?
  1. <?php
  2. namespace App\Form\GestionComerciale;
  3. use App\Entity\Clients\Client;
  4. use App\Entity\GestionComerciale\Commande;
  5. use App\Entity\Vehicules\VehiculeClient;
  6. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  7. use Symfony\Component\Form\AbstractType;
  8. use Symfony\Component\Form\Extension\Core\Type\DateType;
  9. use Symfony\Component\Form\FormBuilderInterface;
  10. use Symfony\Component\Form\FormInterface;
  11. use Symfony\Component\Form\FormEvent;
  12. use Symfony\Component\Form\FormEvents;
  13. use Symfony\Component\OptionsResolver\OptionsResolver;
  14. class OrdreRepType extends AbstractType
  15. {
  16.     /**
  17.      * @param FormBuilderInterface $builder
  18.      * @param array $options
  19.      */
  20.     public function buildForm(FormBuilderInterface $builder, array $options)
  21.     {
  22.         $builder
  23.             ->add('dateBon'DateType::class, [
  24.                                'widget'    => 'single_text',
  25.                                'autoclose' => true,
  26.                            ]
  27.             );
  28.         $formModifier = function (FormInterface $formClient $client null) {
  29.             $vehiculeClient null === $client ? [] : $client->getVehiculesClient();
  30.             $form->add('vehiculesClient'EntityType::class, [
  31.                 'class'       => VehiculeClient::class,
  32.                 'placeholder' => '',
  33.                 'choices'     => $vehiculeClient,
  34.             ]);
  35.         };
  36.         $builder->addEventListener(
  37.             FormEvents::PRE_SET_DATA,
  38.             function (FormEvent $event) use ($formModifier) {
  39.                 // this would be your entity, i.e. SportMeetup
  40.                 $data $event->getData();
  41.                 $formModifier($event->getForm(), $data->getClient());
  42.             }
  43.         );
  44.     }
  45.     public function configureOptions(OptionsResolver $resolver)
  46.     {
  47.         $resolver->setDefaults([
  48.                                    'data_class' => Commande::class,
  49.                                ]);
  50.     }
  51.     public function getName()
  52.     {
  53.         return 'dtc_gestioncomercialebundle_ordrerep';
  54.     }
  55.     public function getBlockPrefix():string
  56.     {
  57.         return 'dtc_gestioncomercialebundle_ordrerep';
  58.     }
  59. }