/** * 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())); }