src/Controller/Utilisateurs/InscriptionController.php line 23

  1. <?php
  2. namespace App\Controller\Utilisateurs;
  3. use App\Form\InscriptionForm;
  4. use App\Service\Utilisateurs;
  5. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. use Symfony\Component\Security\Http\Attribute\IsGranted;
  10. use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
  11. /**
  12.  * Class for inscription
  13.  * Class InscriptionController
  14.  */
  15. class InscriptionController extends AbstractController
  16. {
  17.     /**
  18.      * @Route("/inscription", name="inscription", methods={"GET","POST"})
  19.      */
  20.     public function inscription(
  21.         Request $request,
  22.         Utilisateurs $utilisateurService
  23.     ): Response {
  24.         $form $this->createForm(InscriptionForm::class);
  25.         $done false;
  26.         $errors = [];
  27.         if ($request->isMethod("POST")) {
  28.             $form->handleRequest($request);
  29.             if ($form->isSubmitted() && $form->isValid()) {
  30.                 $result $utilisateurService->register($form->getData());
  31.                 if($result === "done"){
  32.                     $done true;
  33.                 }else if ($result === "email_already_used"){
  34.                     $errors[] = array(
  35.                         "message" => 'Cette adresse mail est déjà utilisé, veuillez choisir une autre adresse mail'
  36.                     );
  37.                 }
  38.             } else {
  39.                 $errors $form->getErrors(true);
  40.             }
  41.         }
  42.         return $this->render('users/inscription-form.html.twig', [
  43.             'form' => $form,
  44.             'errors' => $errors,
  45.             'done' => $done
  46.         ]);
  47.     }
  48. }