I want to redirect my user after he clicks on the registration link but I'm stuck because there is no setResponse method in a FilterUserResponseEvent
RegistrationListenner.php
public static function getSubscribedEvents()
{
return array(
FOSUserEvents::REGISTRATION_CONFIRMED => 'onRegistrationConfirmed',
);
}
public function onRegistrationConfirmed(FilterUserResponseEvent $event)
{
$url = $this->router->generate('my_route', array('foo' => 'bar'));
$response = new RedirectResponse($url);
$event->setResponse(new RedirectResponse($url));
}
services.xml
<service id="myapp.profile" class="MyApp\UserBundle\EventListener\ProfileListener">
<tag name="kernel.event_subscriber"/>
<argument type="service" id="router" />
</service>
For this purpose there is the GetResponseUserEvent at the REGISTRATION_CONFIRM event, which asks for a response:
public static function getSubscribedEvents()
{
return array(
FOSUserEvents::REGISTRATION_CONFIRM => 'onRegistrationConfirm',
);
}
public function onRegistrationConfirm(GetResponseUserEvent $event)
{
$url = $this->router->generate('my_route', array('foo' => 'bar'));
$response = new RedirectResponse($url);
$event->setResponse(new RedirectResponse($url));
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With