I need to redirect to other controller under certain circumstances, so I create the following onKernelController method:
public function onKernelController(FilterControllerEvent $event) {
$controller = $event->getController();
if (!is_array($controller)) {
return;
}
$request = $event->getRequest();
$route = $request->attributes->get('_route');
if (HttpKernel::MASTER_REQUEST != $event->getRequestType()) {
return;
}
if ($controller[0])
if ($this->container->get('security.context')->isGranted('IS_AUTHENTICATED_FULLY') && ($route != "show_pay_pending_invoices") ) {
$client = $this->container->get('security.context')->getToken()->getUser();
if ($client->getHasPendingInvoices()) {
$request = new \Symfony\Component\HttpFoundation\Request();
$request->attributes->set('_controller', 'FusionWebBundle:User:showPayPendingInvoices');
$event->setController($this->resolver->getController($request));
}
}
}
It redirects well, but the problem is that it is algo redirecting controllers like: Symfony\Bundle\AsseticBundle\Controller\AsseticController FOS\JsRoutingBundle\Controller\Controller
so the page is show unstyled and with multiple errors. How can avoid redirecting that controllers?
Thanks
onKernelControlleris? An event Listener/Subscriber? Because from your description it seems to be ...