Пример #1
0
 /**
  * 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");
 }
Пример #2
0
 /**
  * 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));
 }