src/Form/NuevaPostulacionType.php line 24

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\User;
  4. use App\Entity\Region;
  5. use Symfony\Component\Form\AbstractType;
  6. use Symfony\Component\Form\FormBuilderInterface;
  7. use Symfony\Component\OptionsResolver\OptionsResolver;
  8. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  9. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  10. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  11. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  12. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  13. use App\Entity\Convocatoria;
  14. use App\Service\RacService;
  15. use Doctrine\ORM\EntityRepository;
  16. class NuevaPostulacionType extends AbstractType
  17. {
  18.     private $racService;
  19.     private $run;
  20.     public function __construct(RacService $racService)
  21.     {
  22.       $this-> racService $racService;
  23.     }
  24.     public function buildForm(FormBuilderInterface $builder, array $options): void
  25.     {
  26.         $choices $options['racService'];
  27.         $builder
  28.           ->add('convocatoria'EntityType::class, [
  29.               'class' => Convocatoria::class,
  30.               'choice_label' => 'nombre',
  31.               'placeholder' => 'Seleccione una Convocatoria',
  32.               'required' => true,
  33.               'query_builder' => function (EntityRepository $repository) {
  34.                 return $repository->createQueryBuilder('c')
  35.                     ->where('c.estado = :estado'// Por ejemplo, filtra convocatorias activas
  36.                     ->setParameter('estado''1'); // Ordenar por nombre
  37.             },
  38.             ])
  39.           ->add('organizacion'ChoiceType::class, [
  40.               'choices' => $choices,
  41.               'placeholder' => 'Seleccione una Organizacion',
  42.               'required' => true,
  43.           ])
  44.           ->add('save'SubmitType::class, [
  45.               'label' => 'Guardar',
  46.           ]);
  47.     }
  48.     public function configureOptions(OptionsResolver $resolver): void
  49.     {
  50.         $resolver->setDefaults([
  51.          //   'data_class' => Postulacion::class,
  52.             //'validation_groups' => false,
  53.             'empty_data'null,
  54.             'csrf_protection' => true,
  55.             // the name of the hidden HTML field that stores the token
  56.             'csrf_field_name' => '_token',
  57.             // an arbitrary string used to generate the value of the token
  58.             // using a different string for each form improves its security
  59.             'csrf_token_id'   => 'task_item',
  60.             'racService' => [],
  61.         ]);
  62.     }
  63. }