diff --git a/addons/website/models/ir_ui_view.py b/addons/website/models/ir_ui_view.py index da9de182eb8..ebb1753a189 100644 --- a/addons/website/models/ir_ui_view.py +++ b/addons/website/models/ir_ui_view.py @@ -159,7 +159,10 @@ class view(osv.osv): qcontext.update(values) # in edit mode ir.ui.view will tag nodes - context = dict(context, inherit_branding=qcontext.get('editable', False)) + if qcontext.get('editable'): + context = dict(context, inherit_branding=True) + elif request.registry['res.users'].has_group(cr, uid, 'base.group_website_publisher'): + context = dict(context, inherit_branding_auto=True) view_obj = request.website.get_template(id_or_xml_id) if 'main_object' not in qcontext: diff --git a/addons/website/static/src/js/website.editor.js b/addons/website/static/src/js/website.editor.js index ee6368ea5aa..82888c5d8a3 100644 --- a/addons/website/static/src/js/website.editor.js +++ b/addons/website/static/src/js/website.editor.js @@ -308,7 +308,6 @@ this.$('#website-top-edit').hide(); this.$('#website-top-view').show(); - this.$buttons.edit.show(); var $edit_button = this.$buttons.edit .prop('disabled', website.no_editor); @@ -822,14 +821,7 @@ return $(root).find('[data-oe-model]') .not('[data-oe-type = "selection"]') .not('link, script') - .not('.oe_snippet_editor') - .filter(function () { - var $this = $(this); - // keep view sections and fields which are *not* in - // view sections for top-level editables - return $this.data('oe-model') === 'ir.ui.view' - || !$this.closest('[data-oe-model = "ir.ui.view"]').length; - }); + .not('.oe_snippet_editor'); }, _current_editor: function () { diff --git a/addons/website/static/src/js/website.js b/addons/website/static/src/js/website.js index 76756c08e47..be99c8e7221 100644 --- a/addons/website/static/src/js/website.js +++ b/addons/website/static/src/js/website.js @@ -282,8 +282,9 @@ return templates_def; }).then(function () { // display button if they are at least one editable zone in the page (check the branding) - var editable = $('html').data('website-id') && !!$('[data-oe-model]').size(); - $("#oe_editzone").toggle(editable); + if (!!$('[data-oe-model]').size()) { + $("#oe_editzone").show(); + } if ($('html').data('website-id')) { website.id = $('html').data('website-id'); diff --git a/addons/website/views/website_backend_navbar.xml b/addons/website/views/website_backend_navbar.xml index d30e5415be1..820248d2b58 100644 --- a/addons/website/views/website_backend_navbar.xml +++ b/addons/website/views/website_backend_navbar.xml @@ -25,8 +25,8 @@ -