[IMP] handle query parameters on /web route
closes odoo/odoo#117987 Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
This commit is contained in:
@@ -40,7 +40,7 @@ class Home(http.Controller):
|
||||
# Ensure we have both a database and a user
|
||||
ensure_db()
|
||||
if not request.session.uid:
|
||||
return request.redirect('/web/login', 303)
|
||||
return request.redirect_query('/web/login', query=request.params, code=303)
|
||||
if kw.get('redirect'):
|
||||
return request.redirect(kw.get('redirect'), 303)
|
||||
if not security.check_session(request.session, request.env):
|
||||
|
||||
@@ -16,3 +16,4 @@ from . import test_assets
|
||||
from . import test_assets_xml
|
||||
from . import test_login
|
||||
from . import test_web_search_read
|
||||
from . import test_web_redirect
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from werkzeug.urls import url_parse
|
||||
|
||||
from odoo.tests.common import HttpCase
|
||||
|
||||
|
||||
class TestWebRedirect(HttpCase):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.encoded_url_query = "redirect=web%23cids%3D1%26action%3Dmenu"
|
||||
|
||||
def test_root_route_redirect_param(self):
|
||||
web_response = self.url_open(f"/?{self.encoded_url_query}")
|
||||
web_response.raise_for_status()
|
||||
response_url_query = url_parse(web_response.url).query
|
||||
|
||||
self.assertEqual(response_url_query, self.encoded_url_query)
|
||||
|
||||
def test_web_route_redirect_param(self):
|
||||
web_response = self.url_open(f"/web?{self.encoded_url_query}")
|
||||
web_response.raise_for_status()
|
||||
response_url_query = url_parse(web_response.url).query
|
||||
|
||||
self.assertEqual(response_url_query, self.encoded_url_query)
|
||||
@@ -23,3 +23,4 @@ Andrea Patusso andrea.patusso@rapsodoo.com https://github.com/AndreaPatusso
|
||||
Valentina Maltese valentina.maltese@rapsodoo.com https://github.com/ValentinaMal
|
||||
Tommaso Bellelli tommaso.bellelli@rapsodoo.com https://github.com/tommasobellelli
|
||||
Saydigital info@rapsodoo.com https://github.com/saydigital
|
||||
Valerio Belcastro valerio.belcastro@rapsodoo.com https://github.com/valeriobelcastro
|
||||
|
||||
Reference in New Issue
Block a user