diff --git a/addons/web_editor/controllers/main.py b/addons/web_editor/controllers/main.py index 5ea843bcaae..325cbdc6d87 100644 --- a/addons/web_editor/controllers/main.py +++ b/addons/web_editor/controllers/main.py @@ -223,10 +223,11 @@ class Web_Editor(http.Controller): attachments_to_remove.unlink() return removal_blocked_by - @http.route('/web_editor/customize_template_get', type='json', auth='user', website=True) - def customize_template_get(self, key, full=False, bundles=False): + @http.route('/web_editor/get_assets_editor_resources', type='json', auth='user', website=True) + def get_assets_editor_resources(self, key, bundles=False): """ Get inherit view's informations of the template ``key``. returns templates info (which can be active or not) ``bundles=True`` returns also the asset bundles """ - return request.env["ir.ui.view"].customize_template_get(key, full=full, bundles=bundles) + views = request.env["ir.ui.view"].get_related_views(key, bundles=bundles) + return views.read(['name', 'id', 'key', 'xml_id', 'arch', 'active', 'inherit_id']) diff --git a/addons/web_editor/models/ir_ui_view.py b/addons/web_editor/models/ir_ui_view.py index 2b0af052c23..955f2496860 100644 --- a/addons/web_editor/models/ir_ui_view.py +++ b/addons/web_editor/models/ir_ui_view.py @@ -175,21 +175,11 @@ class IrUiView(models.Model): return views_to_return @api.model - def _customize_template_get_views(self, key, full=False, bundles=False): - """ Get inherit views of the template ``key``. - returns views (which can be active or not) - ``bundles=True`` returns also the asset bundles - """ - user_groups = set(self.env.user.groups_id) - views = self.with_context(active_test=False)._views_get(key, bundles=bundles) - views = views.filtered(lambda v: user_groups.issuperset(v.groups_id)) - return views - - @api.model - def customize_template_get(self, key, full=False, bundles=False): + def get_related_views(self, key, bundles=False): """ Get inherit view's informations of the template ``key``. returns templates info (which can be active or not) ``bundles=True`` returns also the asset bundles """ - views = self._customize_template_get_views(key, full=full, bundles=bundles) - return views.read(['name', 'id', 'key', 'xml_id', 'arch', 'active', 'inherit_id']) + user_groups = set(self.env.user.groups_id) + views = self.with_context(active_test=False)._views_get(key, bundles=bundles) + return views.filtered(lambda v: user_groups.issuperset(v.groups_id)) diff --git a/addons/web_editor/static/src/js/ace.js b/addons/web_editor/static/src/js/ace.js index 3fbdad61d66..bbcc4fa4f74 100644 --- a/addons/web_editor/static/src/js/ace.js +++ b/addons/web_editor/static/src/js/ace.js @@ -186,9 +186,8 @@ var ViewEditor = Widget.extend({ * @return a deferred which is resolved once everything is loaded and processed. */ loadResources: function () { - return ajax.jsonRpc('/web_editor/customize_template_get', 'call', { + return ajax.jsonRpc("/web_editor/get_assets_editor_resources", "call", { key: this.viewKey, - full: true, bundles: this.options.includeBundles }).then((function (views) { // Only keep the active views and index them by ID. diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py index dcae38f7159..95df8404518 100644 --- a/addons/website/controllers/main.py +++ b/addons/website/controllers/main.py @@ -244,6 +244,11 @@ class Website(Home): def snippets(self): return request.env['ir.ui.view'].render_template('website.snippets') + @http.route("/website/get_switchable_related_views", type="json", auth="user", website=True) + def get_switchable_related_views(self, key): + views = request.env["ir.ui.view"].get_related_views(key, bundles=False).filtered(lambda v: v.customize_show) + return views.read(['name', 'id', 'key', 'xml_id', 'arch', 'active', 'inherit_id']) + @http.route('/website/reset_templates', type='http', auth='user', methods=['POST'], website=True) def reset_template(self, templates, redirect='/'): templates = request.httprequest.form.getlist('templates') diff --git a/addons/website/models/ir_ui_view.py b/addons/website/models/ir_ui_view.py index 110ce7e39ee..ce93898914e 100644 --- a/addons/website/models/ir_ui_view.py +++ b/addons/website/models/ir_ui_view.py @@ -134,15 +134,3 @@ class View(models.Model): menu_data=self.env['ir.ui.menu'].load_menus_root() if request.website.is_user() else None, ) return qcontext - - @api.model - def _customize_template_get_views(self, key, full=False, bundles=False): - """ Get inherit view's informations of the template ``key``. - returns views (which can be active or not) - ``full=False`` returns only the customize_show template - ``bundles=True`` returns also the asset bundles - """ - views = super(View, self)._customize_template_get_views(key, full=full, bundles=bundles) - if full: - return views - return views.filtered(lambda v: v.customize_show) diff --git a/addons/website/static/src/js/website.editor.js b/addons/website/static/src/js/website.editor.js index 9e4e32cd227..1b302b9ea2a 100644 --- a/addons/website/static/src/js/website.editor.js +++ b/addons/website/static/src/js/website.editor.js @@ -70,9 +70,8 @@ website.TopBarCustomize = Widget.extend({ }, load_menu: function () { var $menu = this.$el.children("ul"); - ajax.jsonRpc('/web_editor/customize_template_get', 'call', { + ajax.jsonRpc('/website/get_switchable_related_views', 'call', { key: this.view_name, - full: false }).then(function (result) { var current_group = ""; _.each(result, function (item) {