summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/web_editor/controllers/main.py7
-rw-r--r--addons/web_editor/models/ir_ui_view.py18
-rw-r--r--addons/web_editor/static/src/js/ace.js3
-rw-r--r--addons/website/controllers/main.py5
-rw-r--r--addons/website/models/ir_ui_view.py12
-rw-r--r--addons/website/static/src/js/website.editor.js3
6 files changed, 15 insertions, 33 deletions
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) {