src/Controller/Security/PasswordController.php line 26

  1. <?php
  2. /*
  3. * ==============================================================
  4. *     Autor            :  Farid Benjomaa
  5. *     Modified by        :  
  6. *    COPYRIGHT (C) 2025, Media-Technologies
  7. * ==============================================================
  8. */
  9. namespace App\Controller\Security;
  10. use App\Form\PasswordForgotType;
  11. use App\Services\CallApiTab;
  12. use App\Services\CallApiService;
  13. use Symfony\Component\HttpFoundation\Request;
  14. use Symfony\Component\HttpFoundation\Response;
  15. use Symfony\Component\Routing\Annotation\Route;
  16. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  17. class PasswordController extends AbstractController
  18. {
  19.     /**
  20.      * @Route("/forgotPassword", name="app_forgot_password")
  21.      */
  22.     public function forgotPassword(CallApiTab $callApiTabCallApiService $callApiServiceRequest $request): Response
  23.     {
  24.         $endpoint $callApiTab->endpoint();
  25.         $endpointForgotPassword $endpoint['forgotPassword'];
  26.         $form $this->createForm(PasswordForgotType::class);
  27.         $form->handleRequest($request);
  28.         if ($form->isSubmitted() && $form->isValid()) {
  29.             $login $form->getData('login');
  30.             $data $callApiTab->forgotPassword($login);
  31.             $response $callApiService->postApi($endpointForgotPassword$data);
  32.             if ($response['findEmail']) {
  33.                 $this->addFlash("envoiPassword""Vous allez recevoir un mail sur " $response['email'] . " trĂ©s prochainement avec votre nouveau mot de passe ");
  34.                 return $this->redirectToRoute("app_login");
  35.             } else {
  36.                 $this->addFlash("inscription""Vous n'avez pas d'adresse email, reportez vous vers votre administrateur ");
  37.                 return $this->redirectToRoute("app_login");
  38.             }
  39.         }
  40.         return $this->render('security/forgotPassword.html.twig', [
  41.             'passwordForm' => $form->createView(),
  42.         ]);
  43.     }
  44. }