From 59a107a90ce5f5f942a8273d2ceabba7ee68ca15 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 10 Apr 2012 09:48:01 +0200 Subject: [PATCH] [FIX] unfuck retarded handling of global buttons in list view bzr revid: xmo@openerp.com-20120410074801-bepzklcdi7g3sx7k --- addons/web/static/src/js/view_list.js | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index 525a47c3654..098578a8ebb 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -231,10 +231,22 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# }); // Add and delete - this.$buttons = this.options.$buttons || this.$element.find('.oe_list_buttons'); - this.$buttons.html(QWeb.render("ListView.buttons", {'widget':self})); - this.$buttons.find('.oe_list_add') .click(this.proxy('do_add_record')) .attr('disabled', grouped && this.options.editable); - this.$buttons.find('.oe_list_delete') .attr('disabled', true) .click(this.proxy('do_delete_selected')); + if (!this.$buttons) { + this.$buttons = $(QWeb.render("ListView.buttons", {'widget':self})); + if (this.options.$buttons) { + this.$buttons.appendTo(this.options.$buttons); + } else { + this.$element.find('.oe_list_buttons').replaceWith( + this.options.$buttons); + } + this.$buttons.find('.oe_list_add') + .click(this.proxy('do_add_record')) + .prop('disabled', grouped && this.options.editable) + .end() + .find('.oe_list_delete') + .click(this.proxy('do_delete_selected')) + .prop('disabled', true); + } // Pager this.$pager = this.options.$pager || this.$element.find('.oe_list_pager');