[FIX] website_links: incorrect uses of redirect
Until Werkzeug 0.14, redirect() would resolve all URLs to absolute
paths or even absolute URL, because relative paths were not valid
according to the HTTP RFCs (though most browsers supported them).
However RFC 7231 allows them, so Werkzeug 0.15 removes this rewrite on
URLs, and `redirect('foo/bar')` now redirects *relative to the current
URL* instead of the old `/foo/bar`.
If `code` is not found, the link tracker loops on the current
URL (`/r/{code}`) instead of redirecting to `/` as was intended.
Going through uses of redirect() this seems to be the only problematic
call site left, others either use absolute paths or they use URLs
coming from the outside.
Task 2254691
closes odoo/odoo#53327
X-original-commit: 3a6e079e54a6f973cfc96995a84a7fabff803f1c
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
This commit is contained in:
@@ -38,4 +38,4 @@ class WebsiteUrl(http.Controller):
|
||||
if code:
|
||||
return request.render("website_links.graphs", code.link_id.read()[0])
|
||||
else:
|
||||
return werkzeug.utils.redirect('', 301)
|
||||
return werkzeug.utils.redirect('/', 301)
|
||||
|
||||
Reference in New Issue
Block a user