diff options
| author | Christophe Simonis <chs@odoo.com> | 2018-02-01 18:20:28 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2018-02-01 18:20:28 +0100 |
| commit | e00a447e2ca277697bd3e3cae5196e8177d3e867 (patch) | |
| tree | c8580e47f101f75ceccd6ba19f9649b575f99177 /addons/website/models/ir_http.py | |
| parent | cde120058aa4edd259b7d7e1624465af313710fe (diff) | |
| parent | 7e469eb77aae1f7e05a3ce0f6575b5149fed3ca1 (diff) | |
[MERGE] forward port branch saas-11.1 up to 7e469eb77aa
Diffstat (limited to 'addons/website/models/ir_http.py')
| -rw-r--r-- | addons/website/models/ir_http.py | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/addons/website/models/ir_http.py b/addons/website/models/ir_http.py index 84813d7eca5..c87d7226893 100644 --- a/addons/website/models/ir_http.py +++ b/addons/website/models/ir_http.py @@ -124,12 +124,6 @@ class Http(models.AbstractModel): return False @classmethod - def _serve_404(cls): - req_page = request.httprequest.path - page404 = 'website.%s' % (request.website.is_publisher() and 'page_404' or '404') - return request.render(page404, {'path': req_page[1:]}) - - @classmethod def _serve_redirect(cls): req_page = request.httprequest.path domain = [ @@ -153,7 +147,7 @@ class Http(models.AbstractModel): if redirect: return request.redirect(redirect.url_to, code=redirect.type) - return cls._serve_404() + return False @classmethod def _handle_exception(cls, exception): @@ -212,11 +206,16 @@ class Http(models.AbstractModel): status_code=code, ) + view_id = code + if request.website.is_publisher() and isinstance(exception, werkzeug.exceptions.NotFound): + view_id = 'page_404' + values['path'] = request.httprequest.path[1:] + if not request.uid: cls._auth_method_public() try: - html = request.env['ir.ui.view'].render_template('website.%s' % code, values) + html = request.env['ir.ui.view'].render_template('website.%s' % view_id, values) except Exception: html = request.env['ir.ui.view'].render_template('website.http_error', values) return werkzeug.wrappers.Response(html, status=code, content_type='text/html;charset=utf-8') |
