Browse Source

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 <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
20.05.x
Martin Renvoize 4 years ago
parent
commit
dfe3d78445
Signed by: martin.renvoize GPG Key ID: 422B469130441A0F
  1. 6
      koha-tmpl/intranet-tmpl/prog/en/modules/pos/pay.tt

6
koha-tmpl/intranet-tmpl/prog/en/modules/pos/pay.tt

@ -323,7 +323,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;
@ -331,9 +331,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');
}

Loading…
Cancel
Save