@@ -, +, @@ 0- Set CurrencyFormat to FR 1- Go to Acquisitions 2- Search for a Vendor 3- Click on "New basket" 4- Give basket a name and click "Save" 5- Click on "Add to basket" 6- Add an order through preferred method 7- In Accounting details, enter a vendor price with dot decimal (i.e. 19.44) 8- Save your order line 9- Click on "Close this basket" 10- Confirm closing of basket by clicking on "Yes, close" 11- Click on "Receive shipment" 12- Enter an invoice number and click "Next" 13- Click on "Receive" to the right of your order 14- In Accounting details, notice the Actual cost is written with a decimal dot. 15- Change the Actual cost, using a dot decimal (i.e 20.99) 16- Receive the order 17- Click on "Save" 18- In "Already received" notice the price is multiplied by 100 (i.e. 2099,00) 19- Click on "Cancel receipt" 20- Click on "Receive" to the right of your order 21- In Accounting details, change the Actual cost, using a comma decimal (i.e. 20,99) 22- Receive the order 23- Click on "Save" 24- In "Already received", notice the price is correct. 1- Click on "Cancel receipt" 2- Click on "Receive to the right of your order 3- In Accounting Details, notice the Actual cost is formatted correctly (comma decimal) 4- Change the Actual cost, using a dot decimal (21.99) 5- Receive the order 6- Click on "Save" 7- Notice an error message explaining the proper format for Actual cost (click "Ok") 8- Change the Actual cost, using a comma decimal (21,99) 9- Click on "Save" 10- In "Already received", notice the price is correct. 11- Test the other CurrencyFormat settings --- .../prog/en/modules/acqui/orderreceive.tt | 26 +++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt @@ -1,5 +1,6 @@ [% USE raw %] [% USE Asset %] +[% USE Koha %] [% USE KohaDates %] [% USE Branches %] [% USE Price %] @@ -296,7 +297,7 @@
  • [% ecost | $Price %] [% IF (listincgst == 1) %](tax inclusive)[% ELSE %](tax exclusive)[% END %]
  • - [% IF (invoiceincgst == 1) %](tax inclusive)[% ELSE %](tax exclusive)[% END %] + [% IF (invoiceincgst == 1) %](tax inclusive)[% ELSE %](tax exclusive)[% END %]
  • [% IF order_vendornote %] @@ -369,6 +370,29 @@ }; [% END %] + //Check if unit price is correctly formatted + var unit_price_correct_format = false; + + switch("[%- Koha.Preference( 'CurrencyFormat' ) -%]") { + case 'FR': + var unit_price_regexp = /^(?![^.])*([0-9])+(,[0-9]{1,2})?$/; + var unit_price_format_error_alert_message = _("Decimals must be separated by a comma."); + break; + case 'CH': + var unit_price_regexp = /(?=.*?\d)^\$?(([1-9]\d{0,2}('\d{3})*)|\d+)?(\.\d{1,2})?$/; + var unit_price_format_error_alert_message = _("Decimals must be separated by a period and thousands by an apostrophe."); + break; + default: + var unit_price_regexp = /(?=.*?\d)^\$?(([1-9]\d{0,2}(,\d{3})*)|\d+)?(\.\d{1,2})?$/; + var unit_price_format_error_alert_message = _("Decimals must be separated by a period and thousands by a comma."); + break; + } + + if (!(unit_price_regexp.test(document.getElementById("unitprice").value))){ + alert(_("Actual cost: ") + unit_price_format_error_alert_message); + return false; + } + return true; } --