From 789672bdc900511b12413ad95f31dc7dbfb8ff89 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 10 Apr 2012 09:59:14 +0200 Subject: [PATCH] [FIX] also unfuck just as retarded handling of global buttons in form view bzr revid: xmo@openerp.com-20120410075914-d7632s7v7bpjseg4 --- addons/web/static/src/js/view_form.js | 26 ++++++++++++++++---------- addons/web/static/src/js/view_list.js | 4 ++-- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index ae4b69a..718925a 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -75,17 +75,23 @@ openerp.web.FormView = openerp.web.View.extend({ var $dest = this.$element.hasClass("oe_form_container") ? this.$element : this.$element.find('.oe_form_container'); this.rendering_engine.render_to($dest); - this.$buttons = this.options.$buttons || this.$element.find('.oe_form_buttons'); this.$sidebar = this.options.$sidebar || this.$element.find('.oe_form_sidebar'); this.$pager = this.options.$pager || this.$element.find('.oe_form_pager'); - this.$buttons.html(QWeb.render("FormView.buttons", {'widget':self})); - this.$buttons.on('click','.oe_form_buttons button.oe_form_button_save',this.on_button_save); - this.$buttons.on('click','.oe_form_buttons button.oe_form_button_cancel',this.on_button_cancel); - this.$buttons.on('click','.oe_form_buttons button.oe_form_button_edit',this.on_button_edit); - this.$buttons.on('click','.oe_form_buttons button.oe_form_button_create',this.on_button_create); - this.$buttons.on('click','.oe_form_buttons button.oe_form_button_duplicate',this.on_button_duplicate); - this.$buttons.on('click','.oe_form_buttons button.oe_form_button_delete',this.on_button_delete); + var buttons_html = QWeb.render("FormView.buttons", {'widget':self}); + this.$buttons = $(_.str.isBlank(buttons_html) ? '
' : buttons_html); + if (this.options.$buttons) { + this.$buttons.appendTo(this.options.$buttons); + } else { + this.$element.find('.oe_form_buttons').replaceWith(this.$buttons); + } + this.$buttons + .on('click','button.oe_form_button_save',this.on_button_save) + .on('click','button.oe_form_button_cancel',this.on_button_cancel) + .on('click','button.oe_form_button_edit',this.on_button_edit) + .on('click','button.oe_form_button_create',this.on_button_create) + .on('click','button.oe_form_button_duplicate',this.on_button_duplicate) + .on('click','button.oe_form_button_delete',this.on_button_delete); this.$pager.html(QWeb.render("FormView.pager", {'widget':self})); this.$pager.on('click','.oe_form_pager button[data-pager-action]',function(event) { @@ -127,7 +133,7 @@ openerp.web.FormView = openerp.web.View.extend({ this.sidebar.$element.show(); } if (this.$buttons) { - this.$buttons.find('.oe_form_buttons').show(); + this.$buttons.show(); this.$buttons.find('.oe_form_button_save').removeClass('oe_form_button_save_dirty'); } if (this.$pager) { @@ -156,7 +162,7 @@ openerp.web.FormView = openerp.web.View.extend({ this.sidebar.$element.hide(); } if (this.$buttons) { - this.$buttons.find('.oe_form_buttons').hide(); + this.$buttons.hide(); } if (this.$pager) { this.$pager.find('.oe_form_pager').hide(); diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index 098578a..bff6c3c 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -433,7 +433,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# this.sidebar.$element.show(); } if (this.$buttons) { - this.$buttons.find('.oe_list_buttons').show(); + this.$buttons.show(); } if (this.$pager) { this.$pager.find('.oe_list_pager').show(); @@ -444,7 +444,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# this.sidebar.$element.hide(); } if (this.$buttons) { - this.$buttons.find('.oe_list_buttons').hide(); + this.$buttons.hide(); } if (this.$pager) { this.$pager.find('.oe_list_pager').hide(); -- 1.7.10.4