diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index c3c697638d8..02f0c9d5812 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -756,15 +756,6 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({ width: '95%'}, $root).open(); }); break; - case 'manage_views': - if (current_view.fields_view && current_view.fields_view.arch) { - var view_editor = new instance.web_view_editor.ViewEditor(current_view, current_view.$element, this.dataset, current_view.fields_view.arch); - view_editor.start(); - } else { - this.do_warn(_t("Manage Views"), - _t("Could not find current view declaration")); - } - break; case 'edit_workflow': return this.do_action({ res_model : 'workflow', diff --git a/addons/web_view_editor/static/src/js/view_editor.js b/addons/web_view_editor/static/src/js/view_editor.js index bd2d7ec406b..36e07622dd0 100644 --- a/addons/web_view_editor/static/src/js/view_editor.js +++ b/addons/web_view_editor/static/src/js/view_editor.js @@ -1,6 +1,24 @@ openerp.web_view_editor = function(instance) { var _t = instance.web._t; var QWeb = instance.web.qweb; +instance.web_view_editor.ViewManagerAction = instance.web.ViewManagerAction.include({ + on_debug_changed:function(evt){ + var val = $(evt.currentTarget).find('option:selected').val(), + current_view = this.views[this.active_view].controller; + if(val === "manage_views"){ + if (current_view.fields_view && current_view.fields_view.arch) { + var view_editor = new instance.web_view_editor.ViewEditor(current_view, current_view.$element, this.dataset, current_view.fields_view.arch); + view_editor.start(); + } else { + this.do_warn(_t("Manage Views"), + _t("Could not find current view declaration")); + } + evt.currentTarget.selectedIndex = 0; + }else{ + return this._super.apply(this,arguments); + } + } +}) instance.web_view_editor.ViewEditor = instance.web.OldWidget.extend({ init: function(parent, element_id, dataset, view, options) { this._super(parent);