/** * Email confirmation * * @param Request $request * @param UserToken $userToken * @return \Symfony\Component\HttpFoundation\RedirectResponse */ public function emailConfirmAction(Request $request, UserToken $userToken) { $entityManager = $this->getDoctrine()->getManager(); $user = $userToken->getUser(); $context = $userToken->hasContext() ? $userToken->getContext() : null; if ($user->isEqualTo($this->getUser()) && $context !== null && array_key_exists("email", $context)) { $user->setEmail($context["email"]); $entityManager->persist($user); $entityManager->remove($userToken); $entityManager->flush(); $this->addFlash("success", "Votre adresse email a bien été mise à jour."); return $this->redirectToRoute("adh_user_user_account"); } $entityManager->remove($userToken); $entityManager->flush(); $this->addFlash("error", "Votre demande ne peux pas être traité dans le contexte actuel et a été invalidé par mesure de sécurité. Merci d'en refaire une."); return $this->redirectToRoute("adh_user_user_account_email"); }
/** * Forget retrieve * * @param Request $request * @param UserToken $token * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response */ public function forgetRetrieveAction(Request $request, UserToken $userToken) { $retrievePassword = new ForgetRetrievePassword(); $form = $this->createForm(new ForgetRetrievePasswordType(), $retrievePassword); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $entityManager = $this->getDoctrine()->getManager(); $userManager = $this->get("adh_user.user_manager"); $user = $userToken->getUser(); $user->setPlaintextPassword($retrievePassword->getPassword()); $user = $userManager->updatePassword($user); $entityManager->persist($user); $entityManager->flush(); $this->addFlash("success", "Le mot de passe de votre compte a bien été réinitialisé"); return $this->redirectToRoute("adh_user_login"); } return $this->render("ADHUserBundle:Login:forgetRetrieve.html.twig", array("form" => $form->createView(), "token" => $userToken)); }