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 onRegistrationCompleted(FilterUserResponseEvent $event) { $user = $event->getUser(); $auth = new Authorization(); $auth->setPerson($user); $auth->setClient($this->clientRepository->findOneBy(['uid' => $this->defaultClientUid])); $auth->setScope(explode(' ', $this->lcSupportedScopes)); $this->em->persist($auth); $this->em->flush(); $this->mailer->sendConfirmationEmailMessage($user); if (strlen($user->getPassword()) == 0) { // TODO: DEPRECATE NOTIFICATIONS // TODO: create an optional task offering users to set a password //$this->notificationsHelper->enforceEmptyPasswordNotification($user); } $this->registerRequestedScope->clearRequestedScope($event->getRequest()); }