<?php
namespace App\Form\Gestiform\Formations\Dossier;
use App\Entity\Gestiform\Admin\MasterListe\Masterlistelg;
use App\Entity\Gestiform\Formations\Dossier\PersonalInformations;
use App\Repository\Gestiform\Admin\MasterlistelgRepository;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class PersonalInformationsType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('civilite', EntityType::class, [
'required' => true,
'label' => 'Civilité',
'class' => Masterlistelg::class,
'choice_label' => 'designation',
'placeholder' => 'Choisir dans cette liste ...',
'multiple' => false,
'query_builder' => function (MasterlistelgRepository $er) {
return $er->getByListeCode('NOYAU', 'CIVILITE');
},
'attr' => [
'class' => "form-control"
],
'label_attr' => [
'class' => "col-lg-3 col-form-label"
]
]
)
->add('regimeSocial', EntityType::class, [
'required' => true,
'label' => 'Régime social',
'class' => Masterlistelg::class,
'choice_label' => 'designation',
'placeholder' => 'Choisir dans cette liste ...',
'multiple' => false,
'query_builder' => function (MasterlistelgRepository $er) {
return $er->getByListeCode('NOYAU', 'REGIMESOCIAL');
},
'attr' => [
'class' => "form-control"
],
'label_attr' => [
'class' => "col-lg-3 col-form-label"
]
]
)
->add('nationality', ChoiceType::class, [
'required' => true,
'label' => 'Zone de nationalité',
'choices' => [
'Etranger hors Union Européenne' => '3',
'Française' => '1',
'Union Européenne' => '2',
],
'placeholder' => 'Choisir dans cette liste ...',
'multiple' => false,
'attr' => [
'class' => "form-control"
],
'label_attr' => [
'class' => "col-lg-3 col-form-label"
]
])
->add('nom', TextType::class, [
'required' => true,
'label' => 'Nom:',
'attr' => [
'class' => "form-control",
],
'label_attr' => [
'class' => "col-lg-3 col-form-label"
]
])
->add('nationalite', TextType::class, [
'required' => false,
'label' => 'Nationalité',
'attr' => [
'class' => "form-control"
],
'label_attr' => [
'class' => "col-lg-3 col-form-label"
]
])
->add('prenom', TextType::class, [
'required' => true,
'label' => 'Prénom:',
'attr' => [
'class' => "form-control"
],
'label_attr' => [
'class' => "col-lg-3 col-form-label"
]
])
->add('autresPrenoms', TextType::class, [
'required' => true,
'label' => 'Autres prénoms',
'attr' => [
'class' => "form-control"
],
'label_attr' => [
'class' => "col-lg-3 col-form-label"
]
])
->add('extensionBOE', CheckboxType::class, [
'label' => 'Extension BOE',
'attr' => [
'class' => "form-check-input"
],
'label_attr' => [
'class' => "col-lg-3 col-form-label"
]
])
->add('mobile', TextType::class, [
'required' => false,
'label' => 'Tel Mobile',
'attr' => [
'class' => "form-control"
],
'label_attr' => [
'class' => "col-lg-3 col-form-label"
]
])
->add('telFixe', TextType::class, [
'required' => false,
'label' => 'Tél fixe',
'attr' => [
'class' => "form-control"
],
'label_attr' => [
'class' => "col-lg-3 col-form-label"
]
])
->add('villeNaissance', TextType::class, [
'required' => false,
'label' => 'Lieu de Naissance',
'attr' => [
'class' => "form-control"
],
'label_attr' => [
'class' => "col-lg-3 col-form-label"
]
])
->add('departementNaissance', TextType::class, [
'required' => false,
'label' => 'Département de naissance',
'attr' => [
'class' => "form-control"
],
'label_attr' => [
'class' => "col-lg-3 col-form-label"
]
])
->add('paysNaissance', TextType::class, [
'required' => false,
'label' => 'Pays de Naissance',
'attr' => [
'class' => "form-control"
],
'label_attr' => [
'class' => "col-lg-3 col-form-label"
]
])
->add('connuDoranco', TextType::class,
[
'required' => false,
'label' => 'Comment nous avez-vous connu ?',
'attr' => [
'class' => "form-control"
],
'label_attr' => [
'class' => "col-lg-3 col-form-label"
]
])
->add("dateNaissance", DateType::class, [
"widget" => "single_text",
"label" => "Date de Naissance",
"required" => true,
"attr" => [
"class" => "form-control"
],
"label_attr" => [
"class" => "col-lg-3 col-form-label"
],
])
->add("dateCarteSejour", DateType::class, [
"widget" => "single_text",
"label" => "Date carte séjour",
"required" => true,
"attr" => [
"class" => "form-control"
],
"label_attr" => [
"class" => "col-lg-3 col-form-label"
],
])
->add("dateNaissance", DateType::class, [
"widget" => "single_text",
"label" => "Date de Naissance",
"required" => true,
"attr" => [
"class" => "form-control"
],
"label_attr" => [
"class" => "col-lg-3 col-form-label"
],
])
->add('numSecuSociale', TextType::class,
[
'required' => false,
'label' => 'N° sécu',
'attr' => [
'class' => "form-control"
],
'label_attr' => [
'class' => "col-lg-3 col-form-label"
]
])
;
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => PersonalInformations::class,
]);
}
}