From b2aaba4b3d45d07c6bf9e54e5d4fc7e1f79d1e0d Mon Sep 17 00:00:00 2001 From: Yannick Tivisse Date: Fri, 22 Sep 2017 13:09:53 +0200 Subject: [PATCH] [FIX] http_routing: Convert Bytes to String before concatenation --- addons/http_routing/models/ir_http.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/http_routing/models/ir_http.py b/addons/http_routing/models/ir_http.py index 0c477483ad1..b288718ba7c 100644 --- a/addons/http_routing/models/ir_http.py +++ b/addons/http_routing/models/ir_http.py @@ -318,7 +318,7 @@ class IrHttp(models.AbstractModel): # locate the controller method try: if request.httprequest.method == 'GET' and '//' in request.httprequest.path: - new_url = request.httprequest.path.replace('//', '/') + '?' + request.httprequest.query_string + new_url = request.httprequest.path.replace('//', '/') + '?' + request.httprequest.query_string.decode('utf-8') return werkzeug.utils.redirect(new_url, 301) rule, arguments = cls._find_handler(return_rule=True) func = rule.endpoint @@ -373,7 +373,7 @@ class IrHttp(models.AbstractModel): path.insert(1, request.lang) path = '/'.join(path) or '/' routing_error = None - redirect = request.redirect(path + '?' + request.httprequest.query_string) + redirect = request.redirect(path + '?' + request.httprequest.query_string.decode('utf-8')) redirect.set_cookie('frontend_lang', request.lang) return redirect elif url_lang: @@ -432,5 +432,5 @@ class IrHttp(models.AbstractModel): if request.lang != cls._get_default_lang().code: path = '/' + request.lang + path if request.httprequest.query_string: - path += '?' + request.httprequest.query_string + path += '?' + request.httprequest.query_string.decode('utf-8') return werkzeug.utils.redirect(path, code=301)