diff --git a/addons/website/models/website.py b/addons/website/models/website.py index 20b64f01ca1..10c919d42f9 100644 --- a/addons/website/models/website.py +++ b/addons/website/models/website.py @@ -1280,6 +1280,31 @@ class Website(models.Model): of the same. :rtype: list({name: str, url: str}) """ + # ==== WEBSITE.PAGES ==== + # '/' already has a http.route & is in the routing_map so it will already have an entry in the xml + domain = [('url', '!=', '/')] + if not force: + domain += [('website_indexed', '=', True), ('visibility', '=', False)] + # is_visible + domain += [ + ('website_published', '=', True), ('visibility', '=', False), + '|', ('date_publish', '=', False), ('date_publish', '<=', fields.Datetime.now()) + ] + + if query_string: + domain += [('url', 'like', query_string)] + + pages = self._get_website_pages(domain) + + for page in pages: + record = {'loc': page['url'], 'id': page['id'], 'name': page['name']} + if page.view_id and page.view_id.priority != 16: + record['priority'] = min(round(page.view_id.priority / 32.0, 1), 1) + if page['write_date']: + record['lastmod'] = page['write_date'].date() + yield record + + # ==== CONTROLLERS ==== router = self.env['ir.http'].routing_map() url_set = set() @@ -1344,29 +1369,6 @@ class Website(models.Model): yield page - # '/' already has a http.route & is in the routing_map so it will already have an entry in the xml - domain = [('url', '!=', '/')] - if not force: - domain += [('website_indexed', '=', True), ('visibility', '=', False)] - # is_visible - domain += [ - ('website_published', '=', True), ('visibility', '=', False), - '|', ('date_publish', '=', False), ('date_publish', '<=', fields.Datetime.now()) - ] - - if query_string: - domain += [('url', 'like', query_string)] - - pages = self._get_website_pages(domain) - - for page in pages: - record = {'loc': page['url'], 'id': page['id'], 'name': page['name']} - if page.view_id and page.view_id.priority != 16: - record['priority'] = min(round(page.view_id.priority / 32.0, 1), 1) - if page['write_date']: - record['lastmod'] = page['write_date'].date() - yield record - def get_website_page_ids(self): if not self.env.user.has_group('website.group_website_restricted_editor'): # Note that `website.pages` have `0,0,0,0` ACL rights by default for