From ecaada839cf5de73cd8c47923746203ee4277a59 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Mon, 27 Jan 2020 14:56:35 +0000 Subject: [PATCH] Bug 24482: Fix for formatted price issue with value over 1000 This patch for the point of sale feature fixes an issue where items for purchase with a value of $1,000 or more break the payment calculations. Test plan: 1) Enable the point of sale feature (EnablePointOfSale + UseCashRegisters system preferences) 2) Add a cash register for a library (Home > Point of sale > Cash registers > New cash register) 3) Create a purchase item with a cost of $1000 (Home > Point of sale > Purchase items > New debit type) 4) Go to to the point of sale page and attempt to sell one of your items (Home > Point of sale > click 'Add' next to the item to purchase) 5) Note that Koha inserts a comma into the price in the list of items for purchase 6) Note that the 'Amount being paid' changes to 0.00 instead of $1,000, which affects the other calculations 7) Apply the patch 8) Repeat step 4 9) Amount being paid and other calculations should now be correct 10) Enter an amount for 'Collected from patron' and click 'Confirm' check that the change calculation is correct. 11) Sign-off the patch! Signed-off-by: David Nind Signed-off-by: Nick Clemens --- koha-tmpl/intranet-tmpl/prog/en/modules/pos/pay.tt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/pos/pay.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/pos/pay.tt index afc17d1eda..f3c781034f 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/pos/pay.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/pos/pay.tt @@ -313,7 +313,7 @@ }, "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) { var iTotal = aData[1] * aData[2]; - this.fnUpdate( iTotal.format_price(), nRow, 3, false, false ); + this.fnUpdate( iTotal, nRow, 3, false, false ); }, "fnFooterCallback": function(nFoot, aData, iStart, iEnd, aiDisplay) { var iTotalPrice = 0; @@ -321,9 +321,7 @@ { iTotalPrice += aData[i][3]*1; } - - iTotalPrice = Number.parseFloat(iTotalPrice).toFixed(2); - nFoot.getElementsByTagName('td')[1].innerHTML = iTotalPrice; + nFoot.getElementsByTagName('td')[1].innerHTML = iTotalPrice.format_price(); $('#paid').val(iTotalPrice); $('#paid').trigger('change'); } -- 2.11.0