diff --git a/src/Form/InterventionType.php b/src/Form/InterventionType.php index ae2aa9b..2f151d5 100644 --- a/src/Form/InterventionType.php +++ b/src/Form/InterventionType.php @@ -29,14 +29,13 @@ class InterventionType extends AbstractType ->add('Status', TextType::class) ->add('user', EntityType::class, [ 'class' => Utilisateur::class, - 'choice_label' => function (Utilisateur $user) { - return $user->getFirstName() . ' ' . $user->getLastName(); - }, - 'query_builder' => function (EntityRepository $er) { - return $er->createQueryBuilder('u') - ->where('JSON_CONTAINS(u.roles, :role) = 1') - ->setParameter('role', '"ROLE_CHAUFFAGISTE"'); - }, + 'choice_label' => fn(Utilisateur $user) => $user->getFirstName() . ' ' . $user->getLastName(), + 'choices' => array_filter( + $builder->getData()->getUser() === null + ? $options['users'] ?? [] // fallback pour éviter null + : [$builder->getData()->getUser()], + fn(Utilisateur $user) => in_array('ROLE_CHAUFFAGISTE', $user->getRoles(), true) + ), 'label' => 'Chauffagiste assigné', ]) ->add('fault', EntityType::class, [