/** * @Route("/auth/{registrationAuthToken}") * @ParamConverter("registrationAuthToken", class="AppBundle:RegistrationAuthToken", options={"mapping": {"registrationAuthToken": "token"}}) */ public function authAction(RegistrationAuthToken $registrationAuthToken) { $user = $registrationAuthToken->getUser(); $em = $this->getDoctrine()->getEntityManager(); $em->beginTransaction(); try { $em->remove($registrationAuthToken); $user->setIsActive(true); $em->merge($user); $em->flush(); $em->commit(); } catch (Exception $e) { $em->rollback(); throw $e; } return $this->render('Registration/complete.html.twig'); }
/** * @Route("/registration/thanks") * @Method({"POST"}) */ public function registrationThanksAction(Request $request) { $form = $this->createForm(ThanksType::class); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $user = $this->get('session')->get('tmp_user'); $registrationAuthToken = new RegistrationAuthToken(); $registrationAuthToken->setToken(uniqid(rand())); $em = $this->getDoctrine()->getEntityManager(); $em->beginTransaction(); try { $em->persist($user); $em->flush(); $registrationAuthToken->setUser($user); $em->persist($registrationAuthToken); $em->flush(); $em->commit(); } catch (Exception $e) { $em->rollback(); throw $e; } $this->get('session')->remove('tmp_user'); $message = \Swift_Message::newInstance()->setSubject('SymfonyBlog : You are invited to SymfonyBlog.')->setFrom('*****@*****.**')->setTo($user->getEmail())->setBody($this->renderView('Email/registration.html.twig', ['registrationAuthToken' => $registrationAuthToken->getToken()])); $this->get('mailer')->send($message); return $this->render(':Admin:registrationThanks.html.twig'); } }