← Back
Editing: AddressAssignementType.php
<?php namespace App\Form; use App\Entity\User; use App\Entity\UserAddress; use App\Repository\UserRepository; use App\Service\SolutionService; use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\DateType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\Security\Core\Security; use Symfony\Component\Security\Core\User\UserInterface; class AddressAssignementType extends AbstractType { private ?UserInterface $user; public function __construct( private readonly Security $security, private readonly SolutionService $solutionService ) { } /** * @return void */ public function buildForm(FormBuilderInterface $builder, array $options) { $user = $this->security->getUser(); $solution = $this->solutionService->getCurrent(); $builder->add('user', EntityType::class, [ 'class' => User::class, 'label' => 'Agent', 'query_builder' => function (UserRepository $userRepository) use ($user, $solution) { return $userRepository->getAgentsByManagerQueryBuilder($user, $solution); }, ]) ->add('startDate', DateType::class, ['widget' => 'single_text', 'required' => false]) ->add('endDate', DateType::class, [ 'help' => '* inclus', 'widget' => 'single_text', 'required' => false, ]); } /** * @return void */ public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults( [ 'data_class' => UserAddress::class, ] ); } }
Save File
Cancel