mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-06-24 18:58:46 +02:00
Keep query parameters when adding locale part in RedirectController
This fixes issue #268
This commit is contained in:
parent
6e6e203f8a
commit
8351f38ee7
2 changed files with 11 additions and 6 deletions
|
@ -61,7 +61,6 @@ class RedirectController extends AbstractController
|
|||
$locale = $user->getLanguage();
|
||||
}
|
||||
|
||||
//$new_url = str_replace($request->getPathInfo(), '/' . $locale . $request->getPathInfo(), $request->getUri());
|
||||
$new_url = $request->getUriForPath('/'.$locale.$request->getPathInfo());
|
||||
|
||||
//If either mod_rewrite is not enabled or the index.php version is enforced, add index.php to the string
|
||||
|
@ -71,6 +70,9 @@ class RedirectController extends AbstractController
|
|||
$new_url = $request->getSchemeAndHttpHost().$request->getBaseUrl().'/index.php/'.$locale.$request->getPathInfo();
|
||||
}
|
||||
|
||||
//Add the query string
|
||||
$new_url .= $request->getQueryString() ? '?'.$request->getQueryString() : '';
|
||||
|
||||
return $this->redirect($new_url);
|
||||
}
|
||||
|
||||
|
|
|
@ -91,6 +91,9 @@ class RedirectControllerTest extends WebTestCase
|
|||
//Without an explicit set value, the user should be redirect to english version
|
||||
[null, '/', '/en/'],
|
||||
['en_US', '/part/3', '/en_US/part/3'],
|
||||
//Test that query parameters work
|
||||
['de', '/dialog?target_id=133&target_type=part', '/de/dialog?target_id=133&target_type=part'],
|
||||
['en', '/dialog?storelocation=1', '/en/dialog?storelocation=1'],
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -101,11 +104,11 @@ class RedirectControllerTest extends WebTestCase
|
|||
* @group slow
|
||||
* @depends testUrlMatch
|
||||
*
|
||||
* @param $user_locale
|
||||
* @param $input_path
|
||||
* @param $redirect_path
|
||||
* @param string|null $user_locale
|
||||
* @param string $input_path
|
||||
* @param string $redirect_path
|
||||
*/
|
||||
public function testAddLocale($user_locale, $input_path, $redirect_path): void
|
||||
public function testAddLocale(?string $user_locale, string $input_path, string $redirect_path): void
|
||||
{
|
||||
//Redirect path is absolute
|
||||
$redirect_path = 'http://localhost'.$redirect_path;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue