diff options
Diffstat (limited to 'addons/website_theme_install/models/theme_models.py')
| -rw-r--r-- | addons/website_theme_install/models/theme_models.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/addons/website_theme_install/models/theme_models.py b/addons/website_theme_install/models/theme_models.py index 808af1e091e..f073fb5efbe 100644 --- a/addons/website_theme_install/models/theme_models.py +++ b/addons/website_theme_install/models/theme_models.py @@ -2,7 +2,7 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. import logging -from odoo import fields, models +from odoo import api, fields, models from odoo.modules.module import get_resource_from_path _logger = logging.getLogger(__name__) @@ -70,6 +70,21 @@ class Theme(models.AbstractModel): method = getattr(self.with_context(website_id=website.id), theme_post_copy) return method(mod) + @api.model + def _toggle_view(self, xml_id, active): + obj = self.env.ref(xml_id) + if obj._name == 'theme.ir.ui.view': + website = self.env['website'].get_current_website() + obj = obj.copy_ids.filtered(lambda x: x.website_id == website) + obj.write({'active': active}) + + @api.model + def enable_view(self, xml_id): + self._toggle_view(xml_id, True) + + @api.model + def disable_view(self, xml_id): + self._toggle_view(xml_id, False) class IrUiView(models.Model): _inherit = 'ir.ui.view' |
