diff options
| author | qsm-odoo <qsm@odoo.com> | 2018-09-04 11:42:30 +0200 |
|---|---|---|
| committer | qsm-odoo <qsm@odoo.com> | 2018-09-04 17:43:45 +0200 |
| commit | a0fed1c7195536108d422df2289f78ceb09838ca (patch) | |
| tree | bf9066bec661028797bd7267dbb4e480c712a4d1 /addons | |
| parent | c4557580ef28be701b20646644f190a7949fd1bb (diff) | |
[REF] website_theme_install, *: add theme.utils utility methods
* theme_bootswatch, theme_default
Allow to disable/enable a view from a xml_id whether the xml_id is
linked to an ir.ui.view or a theme.ir.ui.view.
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/theme_bootswatch/models/theme_bootswatch.py | 2 | ||||
| -rw-r--r-- | addons/theme_default/models/theme_default.py | 2 | ||||
| -rw-r--r-- | addons/website_theme_install/models/theme_models.py | 17 |
3 files changed, 18 insertions, 3 deletions
diff --git a/addons/theme_bootswatch/models/theme_bootswatch.py b/addons/theme_bootswatch/models/theme_bootswatch.py index dac7c310f46..bf238666044 100644 --- a/addons/theme_bootswatch/models/theme_bootswatch.py +++ b/addons/theme_bootswatch/models/theme_bootswatch.py @@ -4,4 +4,4 @@ class ThemeBootswatch(models.AbstractModel): _inherit = 'theme.utils' def _theme_bootswatch_post_copy(self, mod): - self.env.ref('website_theme_install.customize_modal').write({'active': False}); + self.disable_view('website_theme_install.customize_modal') diff --git a/addons/theme_default/models/theme_default.py b/addons/theme_default/models/theme_default.py index a8444cbb326..bcf9853bd9e 100644 --- a/addons/theme_default/models/theme_default.py +++ b/addons/theme_default/models/theme_default.py @@ -4,4 +4,4 @@ class ThemeDefault(models.AbstractModel): _inherit = 'theme.utils' def _theme_default_post_copy(self, mod): - self.env.ref('website_theme_install.customize_modal').write({'active': False}); + self.disable_view('website_theme_install.customize_modal') 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' |
