[FrameworkBundle] Use only _route_params to generate redirect routes
This commit is contained in:
parent
46b00b1001
commit
af3259026d
@ -42,8 +42,8 @@ class RedirectController extends ContainerAware
|
|||||||
return new Response(null, 410);
|
return new Response(null, 410);
|
||||||
}
|
}
|
||||||
|
|
||||||
$attributes = $this->container->get('request')->attributes->all();
|
$attributes = $this->container->get('request')->attributes->get('_route_params');
|
||||||
unset($attributes['_route'], $attributes['route'], $attributes['permanent'] );
|
unset($attributes['route'], $attributes['permanent']);
|
||||||
|
|
||||||
return new RedirectResponse($this->container->get('router')->generate($route, $attributes), $permanent ? 301 : 302);
|
return new RedirectResponse($this->container->get('router')->generate($route, $attributes), $permanent ? 301 : 302);
|
||||||
}
|
}
|
||||||
|
@ -46,8 +46,18 @@ class RedirectControllerTest extends TestCase
|
|||||||
$route = 'new-route';
|
$route = 'new-route';
|
||||||
$url = '/redirect-url';
|
$url = '/redirect-url';
|
||||||
$params = array('additional-parameter' => 'value');
|
$params = array('additional-parameter' => 'value');
|
||||||
|
$attributes = array(
|
||||||
|
'route' => $route,
|
||||||
|
'permanent' => $permanent,
|
||||||
|
'_route' => 'current-route',
|
||||||
|
'_route_params' => array(
|
||||||
|
'route' => $route,
|
||||||
|
'permanent' => $permanent,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
$attributes['_route_params'] = $attributes['_route_params'] + $params;
|
||||||
|
|
||||||
$request->attributes = new ParameterBag(array('route' => $route, '_route' => 'current-route', 'permanent' => $permanent) + $params);
|
$request->attributes = new ParameterBag($attributes);
|
||||||
|
|
||||||
$router = $this->getMock('Symfony\Component\Routing\RouterInterface');
|
$router = $this->getMock('Symfony\Component\Routing\RouterInterface');
|
||||||
$router
|
$router
|
||||||
|
Reference in New Issue
Block a user