<?php
namespace App\Form;
use App\Entity\User;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class UserType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$services = $options['available_services']; // récupéré depuis le contrôleur
$builder
->add('nom')
->add('email')
->add('phone')
->add('raison', ChoiceType::class, [
'choices' => [
'Personnes physique' => 'personne physique',
'Société' => 'société',
],
'placeholder' => 'Choose an option', // Optional: adds a default "empty" option
// Other options as needed
])
->add('selectedServices', ChoiceType::class, [
'choices' => array_combine($services, $services),
'multiple' => true,
'expanded' => true,
'mapped' => false,
'label' => 'Choisir les services',
])
->add('services', CollectionType::class, [
'entry_type' => ServiceType::class,
'allow_add' => true,
"required" => false,
'by_reference' => false,
'label' => false,
]);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => User::class,
'available_services' => [], // valeur par défaut
]);
}
}