diff options
| author | Romain Derie <rde@odoo.com> | 2019-11-22 13:20:23 +0000 |
|---|---|---|
| committer | qsm-odoo <qsm@odoo.com> | 2020-01-29 14:53:38 +0000 |
| commit | 3028e9a8649ae5d9b23a1bdb989b903645ede5fe (patch) | |
| tree | cf54e7c116cee0cb0cea3f06d65f897e8531596e /addons/website/models/website.py | |
| parent | 3bce5277e378fd499bf2d0fed8c62929165b7871 (diff) | |
[IMP] website: introduce cookies bar on website
With this commit, it is now possible to activate a cookies bar on a
website through the res.settings.
The cookies bar can be edited in the frontend by entering edit mode.
The cookies bar will appear until the user clicks on 'I agree'.
Part of https://github.com/odoo/odoo/pull/41294
task-2087003
closes odoo/odoo#41294
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Diffstat (limited to 'addons/website/models/website.py')
| -rw-r--r-- | addons/website/models/website.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/addons/website/models/website.py b/addons/website/models/website.py index f9a6a9f4c77..6de22c8f241 100644 --- a/addons/website/models/website.py +++ b/addons/website/models/website.py @@ -59,6 +59,7 @@ class Website(models.Model): language_ids = fields.Many2many('res.lang', 'website_lang_rel', 'website_id', 'lang_id', 'Languages', default=_active_languages) default_lang_id = fields.Many2one('res.lang', string="Default Language", default=_default_language, required=True) auto_redirect_lang = fields.Boolean('Autoredirect Language', default=True, help="Should users be redirected to their browser's language") + cookies_bar = fields.Boolean('Cookies Bar', help="Display a customizable cookies bar on your website.") def _default_social_facebook(self): return self.env.ref('base.main_company').social_facebook @@ -168,6 +169,26 @@ class Website(models.Model): if 'cdn_activated' in values or 'cdn_url' in values or 'cdn_filters' in values: # invalidate the caches from static node at compile time self.env['ir.qweb'].clear_caches() + + if 'cookies_bar' in values: + if values['cookies_bar']: + cookies_view = self.env.ref('website.cookie_policy', raise_if_not_found=False) + if cookies_view: + cookies_view.with_context(website_id=self.id).write({'website_id': self.id}) + specific_cook_view = self.with_context(website_id=self.id).viewref('website.cookie_policy') + self.env['website.page'].create({ + 'is_published': True, + 'website_indexed': False, + 'url': '/cookie-policy', + 'website_id': self.id, + 'view_id': specific_cook_view.id, + }) + else: + self.env['website.page'].search([ + ('website_id', '=', self.id), + ('url', '=', '/cookie-policy'), + ]).unlink() + return result @api.model |
