summaryrefslogtreecommitdiff
path: root/addons/website_theme_install/models/theme_models.py
diff options
context:
space:
mode:
authorqsm-odoo <qsm@odoo.com>2018-09-04 11:42:30 +0200
committerqsm-odoo <qsm@odoo.com>2018-09-04 17:43:45 +0200
commita0fed1c7195536108d422df2289f78ceb09838ca (patch)
treebf9066bec661028797bd7267dbb4e480c712a4d1 /addons/website_theme_install/models/theme_models.py
parentc4557580ef28be701b20646644f190a7949fd1bb (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/website_theme_install/models/theme_models.py')
-rw-r--r--addons/website_theme_install/models/theme_models.py17
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'