From 4b3d1b0a9f39b57e83323116f13f1d29f26175cf Mon Sep 17 00:00:00 2001 From: qsm-odoo Date: Thu, 23 Dec 2021 15:30:44 +0000 Subject: [PATCH] [FIX] website: review commit [1] about editor views/assets toggling Some naming errors were introduced a few hours ago, this commit quickly fixes them hoping it goes unnoticed. [1]: https://github.com/odoo/odoo/commit/9f56357cc1f4a7b8606ef4d5fd431fc396bdf1e8 closes odoo/odoo#81883 X-original-commit: d8315df6fd733c1331911583f86803bad1718d2d Signed-off-by: Quentin Smetz (qsm) --- addons/website/controllers/main.py | 36 ++++++++++--------- .../static/src/js/editor/snippets.options.js | 4 +-- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py index a3db86d7a08..4905bd42d9b 100644 --- a/addons/website/controllers/main.py +++ b/addons/website/controllers/main.py @@ -692,34 +692,36 @@ class Website(Home): # Themes # ------------------------------------------------------ - def _get_customize_data(self, keys, isViewData): - model = 'ir.ui.view' if isViewData else 'ir.asset' - Data = request.env[model].with_context(active_test=False) - if not keys: - return Data - domain = [("key", "in", keys)] + request.website.website_domain() - return Data.search(domain).filter_duplicate() + def _get_customize_data(self, keys, is_view_data): + model = 'ir.ui.view' if is_view_data else 'ir.asset' + Model = request.env[model].with_context(active_test=False) + domain = expression.AND([[("key", "in", keys)], request.website.website_domain()]) + return Model.search(domain).filter_duplicate() @http.route(['/website/theme_customize_data_get'], type='json', auth='user', website=True) - def theme_customize_data_get(self, keys, isViewData): - Data = self._get_customize_data(keys, isViewData) - return Data.filtered('active').mapped('key') + def theme_customize_data_get(self, keys, is_view_data): + records = self._get_customize_data(keys, is_view_data) + return records.filtered('active').mapped('key') @http.route(['/website/theme_customize_data'], type='json', auth='user', website=True) - def theme_customize_data(self, isViewData, enable=None, disable=None, reset_view_arch=False): + def theme_customize_data(self, is_view_data, enable=None, disable=None, reset_view_arch=False): """ Enables and/or disables views/assets according to list of keys. - :param isViewData: True = "ir.ui.view", False = "ir.asset" + :param is_view_data: True = "ir.ui.view", False = "ir.asset" :param enable: list of views/assets keys to enable :param disable: list of views/assets keys to disable :param reset_view_arch: restore the default template after disabling """ - disabled_data = self._get_customize_data(disable, isViewData).filtered('active') - if reset_view_arch: - disabled_data.reset_arch(mode='hard') - disabled_data.write({'active': False}) - self._get_customize_data(enable, isViewData).filtered(lambda x: not x.active).write({'active': True}) + if disable: + records = self._get_customize_data(disable, is_view_data).filtered('active') + if reset_view_arch: + records.reset_arch(mode='hard') + records.write({'active': False}) + + if enable: + records = self._get_customize_data(enable, is_view_data) + records.filtered(lambda x: not x.active).write({'active': True}) @http.route(['/website/theme_customize_bundle_reload'], type='json', auth='user', website=True) def theme_customize_bundle_reload(self): diff --git a/addons/website/static/src/js/editor/snippets.options.js b/addons/website/static/src/js/editor/snippets.options.js index 4ca29d192e2..d643f6de900 100644 --- a/addons/website/static/src/js/editor/snippets.options.js +++ b/addons/website/static/src/js/editor/snippets.options.js @@ -589,7 +589,7 @@ options.Class.include({ return this._rpc({ route: '/website/theme_customize_data', params: { - 'isViewData': isViewData, + 'is_view_data': isViewData, 'enable': enableDataKeys, 'disable': disableDataKeys, 'reset_view_arch': resetViewArch, @@ -618,7 +618,7 @@ options.Class.include({ route: '/website/theme_customize_data_get', params: { 'keys': allDataKeys, - 'isViewData': isViewData, + 'is_view_data': isViewData, }, }); let mostValuesStr = '';