src/Controller/AgentController.php line 64

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\User;
  4. use App\Form\UserType;
  5. use Symfony\Component\Form\Extension\Core\Type\TextType;
  6. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  7. use Symfony\Component\Form\Extension\Core\Type\HiddenType;
  8. use App\Repository\UserRepository;
  9. use Doctrine\ORM\EntityManagerInterface;
  10. use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
  11. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  12. use Symfony\Component\HttpFoundation\Response;
  13. use Symfony\Component\HttpFoundation\Request;
  14. use Symfony\Component\Routing\Annotation\Route;
  15. class AgentController extends AbstractController
  16. {
  17.     #[Route('/agent'name'app_agent_index')]
  18.     public function index(): Response
  19.     {
  20.         return $this->render('agent/index_agent.html.twig', [
  21.             'controller_name' => 'AgentController',
  22.         ]);
  23.     }
  24.     #[Route('/new-agent'name'app_agent_new'methods: ['GET''POST'])]
  25.     public function newAgent(Request $requestEntityManagerInterface $entityManagerUserPasswordHasherInterface $userPasswordHasher): Response
  26.     {
  27.         $user = new User();
  28.         // $form = $this->createForm(UserType::class, $user);
  29.         $form $this->createFormBuilder($user)
  30.             ->add('nom')
  31.             ->add('prenom')
  32.             ->add('fonction')
  33.             ->add('telephone')
  34.             ->add('email')
  35.             ->add('password')
  36.             // ->add('roles', ChoiceType::class, [
  37.             //     'choices' => [
  38.             //         'Agent' => 'ROLE_AGENT',
  39.             //     ],
  40.             //     'multiple' => true,
  41.             //     'expanded' => true,
  42.             //     'label' => 'Roles',
  43.             // ])
  44.             ->getForm();
  45.         $form->handleRequest($request);
  46.         if ($form->isSubmitted() && $form->isValid()) {
  47.             $password$form->get('password')->getData();
  48.             $user->setPassword($userPasswordHasher->hashPassword($user$password));
  49.             $entityManager->persist($user);
  50.             $entityManager->flush();
  51.             return $this->redirectToRoute('app_default', [], Response::HTTP_SEE_OTHER);
  52.         }
  53.         return $this->renderForm('agent/new_agent.html.twig', [
  54.             'user' => $user,
  55.             'form' => $form,
  56.         ]);
  57.     }
  58. }