From 0003b7cd28212a80ed7b62a1d999aa6f367e9925 Mon Sep 17 00:00:00 2001 From: Arthur Maniet Date: Wed, 26 Nov 2014 09:44:50 +0100 Subject: [PATCH] [FIX] account: bank statement reconciliation widget: disable buttons which trigger RPC calls until done --- addons/account/static/src/js/account_widgets.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/addons/account/static/src/js/account_widgets.js b/addons/account/static/src/js/account_widgets.js index 04189e36d7f..171c92c9aab 100644 --- a/addons/account/static/src/js/account_widgets.js +++ b/addons/account/static/src/js/account_widgets.js @@ -278,12 +278,15 @@ openerp.account = function (instance) { if (! self.single_statement) return; var name = self.$(".change_statement_name_field").val(); if (name === "") return; + self.$(".change_statement_name_button").attr("disabled", "disabled"); return self.model_bank_statement .call("write", [[self.statement_ids[0]], {'name': name}]) - .then(function () { + .done(function () { self.title = name; self.$(".statement_name span").text(name).show(); self.$(".change_statement_name_container").hide(); + }).always(function() { + self.$(".change_statement_name_button").removeAttr("disabled"); }); }, @@ -1660,9 +1663,10 @@ openerp.account = function (instance) { var deferred_animation = self.$el.parent().slideUp(speed*height/150); // RPC + self.$(".button_ok").attr("disabled", "disabled"); return self.model_bank_statement_line .call("process_reconciliation", [self.st_line_id, self.makeMoveLineDicts()]) - .then(function () { + .done(function () { self.getParent().unexcludeMoveLines(self, self.partner_id, self.get("mv_lines_selected")); $.each(self.$(".bootstrap_popover"), function(){ $(this).popover('destroy') }); return $.when(deferred_animation).then(function(){ @@ -1672,10 +1676,12 @@ openerp.account = function (instance) { parent.childValidated(self); }); }); - }, function(){ + }).fail(function(){ self.$el.parent().slideDown(speed*height/150, function(){ self.$el.unwrap(); }); + }).always(function() { + self.$(".button_ok").removeAttr("disabled"); }); }, });