summaryrefslogtreecommitdiff
path: root/addons/website/models
diff options
context:
space:
mode:
authorRomain Derie <rde@odoo.com>2020-11-19 17:36:48 +0000
committerRomain Derie <rde@odoo.com>2020-11-27 16:54:00 +0000
commit01fafecf98aba5886c5fe836e2a81f2551155f35 (patch)
tree8540dfd9bce73b95bb525df731fd106693632023 /addons/website/models
parent759ddc180a7fa186d9ad36583ebd1f4857f584e7 (diff)
[FIX] website: ensure websites have snippet filters
Since the feature was implemented with the default snippets having a website_id set to the default website, it means that every other websites won't have snippet filters. This commit bootstrap filters for every new created website. Note that in master, multi-website and generic filters are handled with 550d2935bd. opw-2381423 Closes #62041
Diffstat (limited to 'addons/website/models')
-rw-r--r--addons/website/models/website.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/addons/website/models/website.py b/addons/website/models/website.py
index 44e782e9ac5..1b300b5199f 100644
--- a/addons/website/models/website.py
+++ b/addons/website/models/website.py
@@ -160,6 +160,17 @@ class Website(models.Model):
def _get_menu_ids(self):
return self.env['website.menu'].search([('website_id', '=', self.id)]).ids
+ def _bootstrap_snippet_filters(self):
+ ir_filter = self.env.ref('website.dynamic_snippet_country_filter', raise_if_not_found=False)
+ if ir_filter:
+ self.env['website.snippet.filter'].create({
+ 'field_names': 'name,code,image_url:image,phone_code:char',
+ 'filter_id': ir_filter.id,
+ 'limit': 16,
+ 'name': _('Countries'),
+ 'website_id': self.id,
+ })
+
@api.model
def create(self, vals):
self._handle_favicon(vals)
@@ -170,6 +181,7 @@ class Website(models.Model):
res = super(Website, self).create(vals)
res._bootstrap_homepage()
+ res._bootstrap_snippet_filters()
if not self.env.user.has_group('website.group_multi_website') and self.search_count([]) > 1:
all_user_groups = 'base.group_portal,base.group_user,base.group_public'