public function registerAction()
 {
     $user = $this->container->get('security.context')->getToken()->getUser();
     if ($user instanceof UserInterface && 'POST' === $this->container->get('request')->getMethod()) {
         $this->container->get('session')->getFlashBag()->set('sonata_user_error', 'sonata_user_already_authenticated');
         $url = $this->container->get('router')->generate('sonata_user_profile_show');
         return new RedirectResponse($url);
     }
     $form = $this->container->get('fos_user.registration.form');
     $formHandler = $this->container->get('fos_user.registration.form.handler');
     $confirmationEnabled = $this->container->getParameter('fos_user.registration.confirmation.enabled');
     $process = $formHandler->process($confirmationEnabled);
     if ($process) {
         $user = $form->getData();
         // nouveau mail event
         $event = new MailEvent();
         $event->setUserName("{$user}");
         $dispatcher = $this->container->get('event_dispatcher');
         $dispatcher->dispatch(ApplicationEvents::AFTER_REGISTER, $event);
         $route = $this->container->get('session')->get('sonata_basket_delivery_redirect', 'fos_user_security_login');
         $this->container->get('session')->remove('sonata_basket_delivery_redirect');
         $this->setFlash('fos_user_success', 'registration.admin_mail');
         $url = $this->container->get('router')->generate($route);
         $response = new RedirectResponse($url);
         /*
         if ($authUser) {
             $this->authenticateUser($user, $response);
         }
         */
         return $response;
     }
     $this->container->get('session')->set('sonata_user_redirect_url', $this->container->get('request')->headers->get('referer'));
     return $this->container->get('templating')->renderResponse('FOSUserBundle:Registration:register.html.' . $this->getEngine(), array('form' => $form->createView()));
 }
 public function sentMailAfterRegister(MailEvent $event)
 {
     $userName = $event->getUserName();
     $body = $this->renderRegisterTemplate($userName);
     $message = \Swift_Message::newInstance()->setSubject('Compte de l\'utilisateur ' . $userName . ' crée, en attente d\'etre dévèrouillé')->setFrom('*****@*****.**')->setTo('*****@*****.**')->setBody($body);
     $this->mailer->send($message);
 }
 public function postulateAction($base, $campaign, $matchId)
 {
     $user = $this->container->get('security.context')->getToken()->getUser();
     // nouveau mail event
     $event = new MailEvent();
     $event->setUserName("{$user}");
     $event->setBase("{$base}");
     $event->setCampaign("{$campaign}");
     $event->setMatchingId("{$matchId}");
     $dispatcher = $this->container->get('event_dispatcher');
     $dispatcher->dispatch(ApplicationEvents::AFTER_POSTULATE, $event);
     $this->setFlash('sonata_user_success', 'postulate_sent');
     return $this->redirect($this->generateUrl('match_list'));
 }