src/Controller/Security/PasswordController.php line 19

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