[FrameworkBundle] Use only _route_params to generate redirect routes

This commit is contained in:
Jordi Boggiano 2012-01-09 21:29:20 +01:00
parent 46b00b1001
commit af3259026d
2 changed files with 13 additions and 3 deletions

View File

@ -42,8 +42,8 @@ class RedirectController extends ContainerAware
return new Response(null, 410);
}
$attributes = $this->container->get('request')->attributes->all();
unset($attributes['_route'], $attributes['route'], $attributes['permanent'] );
$attributes = $this->container->get('request')->attributes->get('_route_params');
unset($attributes['route'], $attributes['permanent']);
return new RedirectResponse($this->container->get('router')->generate($route, $attributes), $permanent ? 301 : 302);
}

View File

@ -46,8 +46,18 @@ class RedirectControllerTest extends TestCase
$route = 'new-route';
$url = '/redirect-url';
$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