diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py index 6192cf0539510cfaa94dbbec546fdc617b526468..4d7c0ce0715e1cfbbedeecf9dee9378693ad7638 100644 --- a/addons/website/controllers/main.py +++ b/addons/website/controllers/main.py @@ -237,10 +237,24 @@ class Website(Home): return request.make_response(content, [('Content-Type', mimetype)]) - @http.route('/website/info', type='http', auth="public", website=True, sitemap=True) + def sitemap_website_info(env, rule, qs): + website = env['website'].get_current_website() + if not ( + website.viewref('website.website_info', False).active + and website.viewref('website.show_website_info', False).active + ): + # avoid 404 or blank page in sitemap + return False + + if not qs or qs.lower() in '/website/info': + yield {'loc': '/website/info'} + + @http.route('/website/info', type='http', auth="public", website=True, sitemap=sitemap_website_info) def website_info(self, **kwargs): if not request.website.viewref('website.website_info', False).active: # Deleted or archived view (through manual operation in backend). + # Don't check `show_website_info` view: still need to access if + # disabled to be able to enable it through the customize show. raise request.not_found() Module = request.env['ir.module.module'].sudo()