[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:
valeriobelcastro
2023-04-09 12:57:40 +02:00
parent 0f8cbcb5a1
commit a33dbdb5c7
4 changed files with 28 additions and 1 deletions
+1 -1
View File
@@ -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):
+1
View File
@@ -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
+25
View File
@@ -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)
+1
View File
@@ -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