From 3008f7d254c95f200b9ca0e83eeee76557a9362a Mon Sep 17 00:00:00 2001 From: "Julien (juc) Castiaux" Date: Wed, 17 Oct 2018 14:01:21 +0200 Subject: [PATCH] [FIX] point_of_sale: Button spamming create duplicates Spamming the save button when creating a new custommer in point- of-sale create duplicate users. This PR disable the button once clicked and re-enable it when all the processing is done. opw-1895302 close #23919 --- addons/point_of_sale/static/src/js/screens.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/addons/point_of_sale/static/src/js/screens.js b/addons/point_of_sale/static/src/js/screens.js index b37dc13ff95..8b1b001c340 100644 --- a/addons/point_of_sale/static/src/js/screens.js +++ b/addons/point_of_sale/static/src/js/screens.js @@ -1224,6 +1224,9 @@ var ClientListScreenWidget = ScreenWidget.extend({ fields.id = partner.id || false; fields.country_id = fields.country_id || false; + var contents = this.$(".client-details-contents"); + contents.off("click", ".button.save"); + new Model('res.partner').call('create_from_ui',[fields]).then(function(partner_id){ self.saved_client_details(partner_id); },function(err,event){ @@ -1237,6 +1240,7 @@ var ClientListScreenWidget = ScreenWidget.extend({ 'title': _t('Error: Could not Save Changes'), 'body': error_body, }); + contents.on('click','.button.save',function(){ self.save_client_details(partner); }); }); }, @@ -1254,6 +1258,8 @@ var ClientListScreenWidget = ScreenWidget.extend({ // has created, and reload_partner() must have loaded the newly created partner. self.display_client_details('hide'); } + }).always(function(){ + $(".client-details-contents").on('click','.button.save',function(){ self.save_client_details(partner); }); }); },