From 4476cd670112e2aff612e945d626ce03f28f3a6e Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Wed, 13 Nov 2013 16:21:07 +0100 Subject: [PATCH] [FIX] problem when clicking too fast on pagers in the form view lp bug: https://launchpad.net/bugs/1238569 fixed bzr revid: nicolas.vanhoren@openerp.com-20131113152107-5zwsbntil4wihoh4 --- addons/web/static/src/js/view_form.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 2cb318dcb17..94fc38faa23 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -399,9 +399,11 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM this.dataset.index = this.dataset.ids.length - 1; break; } - this.reload(); + var def = this.reload(); this.trigger('pager_action_executed'); + return def; } + return $.when(); }, init_pager: function() { var self = this; @@ -416,8 +418,15 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM this.$el.find('.oe_form_pager').replaceWith(this.$pager); } this.$pager.on('click','a[data-pager-action]',function() { - var action = $(this).data('pager-action'); - self.execute_pager_action(action); + var $el = $(this); + if ($el.attr("disabled")) + return; + var action = $el.data('pager-action'); + var def = $.when(self.execute_pager_action(action)); + $el.attr("disabled"); + def.always(function() { + $el.removeAttr("disabled"); + }); }); this.do_update_pager(); },