diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py index 250cd0bebaba27fcd473b23514600c1d92198764..65ae0663ad726c6eb0f368ccf040fc3795363762 100644 --- a/addons/website/controllers/main.py +++ b/addons/website/controllers/main.py @@ -236,10 +236,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()