public function onRegistrationSuccess(FormEvent $event) { if ($event->getRequest()->isXmlHttpRequest()) { /** @var $user \FOS\UserBundle\Model\UserInterface */ $user = $event->getForm()->getData(); $user->setEnabled(false); if (null === $user->getConfirmationToken()) { $user->setConfirmationToken($this->tokenGenerator->generateToken()); } $this->mailer->sendConfirmationEmailMessage($user); $this->session->set('fos_user_send_confirmation_email/email', $user->getEmail()); $data = array('success' => true); $event->setResponse(new \Symfony\Component\HttpFoundation\JsonResponse($data)); } else { return parent::onRegistrationSuccess($event); } }
public function onRegistrationSuccess(FormEvent $event) { $user = $event->getForm()->getData(); if (null === $user->getConfirmationToken()) { $user->setConfirmationToken($this->tokenGenerator->generateToken()); $user->setEmailExpiration(new \DateTime("+{$this->emailUnconfirmedTime}")); } $key = '_security.main.target_path'; if ($this->session->has($key)) { //this is to be catch by loggedinUserListener.php return $event->setResponse(new RedirectResponse($this->router->generate('lc_home'))); } $email = explode('@', $user->getEmailCanonical(), 2); $username = $email[0]; if (!UsernameValidator::isUsernameValid($username)) { $url = $this->router->generate('lc_update_username'); } else { $url = $this->router->generate('fos_user_profile_edit'); } $event->setResponse(new RedirectResponse($url)); }