瀏覽代碼

On remets en place le changement de mot de passe

Sangfroid 1 周之前
父節點
當前提交
c4ba4484fe
共有 2 個文件被更改,包括 13 次插入14 次删除
  1. 13 13
      src/Controller/SecurityController.php
  2. 0 1
      src/Entity/User.php

+ 13 - 13
src/Controller/SecurityController.php

@@ -185,21 +185,21 @@ class SecurityController extends AbstractController
     }
 
     #[Route("/resetpassword/token={token}", name: "security_resetpassword")]
-    public function resetPasswordAction(Request $request, UserManager $userManager, User $user = null): Response
+    public function resetPasswordAction(Request $request, UserManager $userManager, string $token, UserRepository $userRepository): Response
     {
-        if ($user != null) {
-            if ($user->isValidToken()) {
-                $form = $this->createForm(UserEditPasswordType::class, $user);
-                $form->handleRequest($request);
-                if ($form->isSubmitted() && $form->isValid()) {
-                    $userManager->resetPassword($user);
-                    $this->addFlash('success', 'Mot de passe changé, veuillez vous connecter');
-                    return $this->redirectToRoute('videotheque_liste');
-                }
-                return $this->render('security/password.html.twig', array(
-                    'form' => $form
-                ));
+        $user = $userRepository->findOneBy(['token' => $token]);
+        if ($user !== null && $user->isValidToken()) {
+            
+            $form = $this->createForm(UserEditPasswordType::class, $user);
+            $form->handleRequest($request);
+            if ($form->isSubmitted() && $form->isValid()) {
+                $userManager->resetPassword($user);
+                $this->addFlash('success', 'Mot de passe changé, veuillez vous connecter');
+                return $this->redirectToRoute('videotheque_liste');
             }
+            return $this->render('security/password.html.twig', array(
+                'form' => $form
+            ));
         }
         $this->addFlash('warning', "Ce token n'est plus valide");
         return $this->redirectToRoute('videotheque_liste');

+ 0 - 1
src/Entity/User.php

@@ -42,7 +42,6 @@ class User implements UserInterface,PasswordAuthenticatedUserInterface
     private ?string $password = null;
 
     #[ORM\Column(name: "token", type: Types::STRING, length: 191, unique: true)]
-
     private ?string $token = null;
 
     #[ORM\Column(name: "token_validity", type: Types::DATETIME_MUTABLE)]