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));
 }