<?php
namespace App\Controller;
use App\Entity\User;
use App\Form\UserType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use App\Repository\UserRepository;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
class AgentController extends AbstractController
{
#[Route('/agent', name: 'app_agent_index')]
public function index(): Response
{
return $this->render('agent/index_agent.html.twig', [
'controller_name' => 'AgentController',
]);
}
#[Route('/new-agent', name: 'app_agent_new', methods: ['GET', 'POST'])]
public function newAgent(Request $request, EntityManagerInterface $entityManager, UserPasswordHasherInterface $userPasswordHasher): Response
{
$user = new User();
// $form = $this->createForm(UserType::class, $user);
$form = $this->createFormBuilder($user)
->add('nom')
->add('prenom')
->add('fonction')
->add('telephone')
->add('email')
->add('password')
// ->add('roles', ChoiceType::class, [
// 'choices' => [
// 'Agent' => 'ROLE_AGENT',
// ],
// 'multiple' => true,
// 'expanded' => true,
// 'label' => 'Roles',
// ])
->getForm();
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$password= $form->get('password')->getData();
$user->setPassword($userPasswordHasher->hashPassword($user, $password));
$entityManager->persist($user);
$entityManager->flush();
return $this->redirectToRoute('app_default', [], Response::HTTP_SEE_OTHER);
}
return $this->renderForm('agent/new_agent.html.twig', [
'user' => $user,
'form' => $form,
]);
}
}