From 86cf4f41b70bf186b59d3aeafe09725da9a15fd1 Mon Sep 17 00:00:00 2001 From: Joren Van Onder Date: Tue, 13 Jun 2017 17:50:56 -0700 Subject: [PATCH] [FIX] point_of_sale: don't race order destruction in customer display By the time the product images are downloaded the current order object may have already been destroyed. This can happen when e.g. clicking on the 'Next order' button. --- addons/point_of_sale/static/src/js/models.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/point_of_sale/static/src/js/models.js b/addons/point_of_sale/static/src/js/models.js index c40c39643ed..cf2e0503d47 100644 --- a/addons/point_of_sale/static/src/js/models.js +++ b/addons/point_of_sale/static/src/js/models.js @@ -731,6 +731,7 @@ exports.PosModel = Backbone.Model.extend({ return $.when.apply($, get_image_deferreds).then(function () { var rendered_order_lines = ""; var rendered_payment_lines = ""; + var order_total_with_tax = self.chrome.format_currency(0); if (order) { rendered_order_lines = QWeb.render('CustomerFacingDisplayOrderLines', { @@ -741,11 +742,12 @@ exports.PosModel = Backbone.Model.extend({ 'order': order, 'widget': self.chrome, }); + order_total_with_tax = self.chrome.format_currency(order.get_total_with_tax()); } var $rendered_html = $(rendered_html); $rendered_html.find('.pos_orderlines_list').html(rendered_order_lines); - $rendered_html.find('.pos-total').find('.pos_total-amount').html(self.chrome.format_currency(order.get_total_with_tax())); + $rendered_html.find('.pos-total').find('.pos_total-amount').html(order_total_with_tax); var pos_change_title = $rendered_html.find('.pos-change_title').text(); $rendered_html.find('.pos-paymentlines').html(rendered_payment_lines); $rendered_html.find('.pos-change_title').text(pos_change_title);