Example #1
0
 /**
  * Edit email
  *
  * @Route("/email", name="adh_user_user_account_email")
  * @Method({"GET", "POST"})
  *
  * @param Request $request
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function emailAction(Request $request)
 {
     $changeEmail = new ChangeEmail();
     $form = $this->createForm(new ChangeEmailType(), $changeEmail);
     $form->handleRequest($request);
     if ($form->isSubmitted() && $form->isValid()) {
         $entityManager = $this->getDoctrine()->getManager();
         $token = new UserToken();
         $token->setUser($this->getUser());
         $token->setType($entityManager->getRepository("ADHUserBundle:TokenType")->findOneByType("mail_confirm"));
         $token->setExpirationDate(new \DateTime("+7 days"));
         $token->setContext(array("email" => $changeEmail->getEmail()));
         $entityManager->persist($token);
         $entityManager->flush($token);
         $this->addFlash("info", "Un lien de confirmation a été envoyé à votre nouvelle adresse email.");
         return $this->redirectToRoute("adh_user_user_account");
     }
     return $this->render("ADHUserBundle:User/Account:email.html.twig", array("form" => $form->createView()));
 }