From 65e0b3851eef8dd9b13827f7432a7a952a5c3303 Mon Sep 17 00:00:00 2001 From: Baptiste Wojtkowski Date: Tue, 21 Feb 2017 15:47:36 +0000 Subject: [PATCH] BUG 12310 : Modified scripts in order to convert any string to the good format paxed's solution is obsolete since the form asks for a number. The script includes 2 function which check if it is possible to transform properly into the format "XX.XX" and which do it. The money symbols are ignored. All other symbols are ignored. Test plan : 1) Check you can't enter any string except like "XX.XX" when - you create a Budget (Administration->Budget) - you write a fine (Circulation->[select a Borrower]->new fine ) - you pay an existing fine 2) Apply patch 3) Check you can enter any string with - anything you want - a , or a . as separator (both are default) - change the syspref DigitSeparator into the separator you with and check again ex : XXX,XXX,XXX.XX => . XXX XXX XXX,XX => ,. or , XXX XXX XXX.XX => ,. or . The string is immediately changed after you change the field Please note that any other symbole is ignored --- .../atomicupdate/bug12310_added_DigitSeparator.sql | 2 + installer/data/mysql/sysprefs.sql | 1 + .../intranet-tmpl/prog/en/includes/prices.inc | 25 +++++++ .../prog/en/modules/admin/aqbudgetperiods.tt | 26 +++++++- .../en/modules/admin/preferences/i18n_l10n.pref | 4 ++ .../prog/en/modules/members/maninvoice.tt | 30 ++++++++- .../prog/en/modules/members/paycollect.tt | 78 +++++++++------------- 7 files changed, 117 insertions(+), 49 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/bug12310_added_DigitSeparator.sql create mode 100644 koha-tmpl/intranet-tmpl/prog/en/includes/prices.inc diff --git a/installer/data/mysql/atomicupdate/bug12310_added_DigitSeparator.sql b/installer/data/mysql/atomicupdate/bug12310_added_DigitSeparator.sql new file mode 100644 index 0000000..5022f3c --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug12310_added_DigitSeparator.sql @@ -0,0 +1,2 @@ +INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES +('DigitSeparator', ',.', NULL , 'The separator between entire and decimal part', 'Free'); diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql index 46093e8..4173e16 100644 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -135,6 +135,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('DefaultToLoggedInLibraryNoticesSlips', '0', NULL , 'If enabled,slips and notices editor will default to the logged in library''s rules, rather than the ''all libraries'' rules.', 'YesNo'), ('DefaultToLoggedInLibraryOverdueTriggers', '0', NULL , 'If enabled, overdue status triggers editor will default to the logged in library''s rules, rather than the ''default'' rules.', 'YesNo'), ('delimiter',';',';|tabulation|,|/|\\|#||','Define the default separator character for exporting reports','Choice'), +('DigitSeparator', '.,', NULL , 'The separator between entire and decimal part', 'Free'), ('Display856uAsImage','OFF','OFF|Details|Results|Both','Display the URI in the 856u field as an image, the corresponding Staff Client XSLT option must be on','Choice'), ('DisplayClearScreenButton','0','','If set to ON, a clear screen button will appear on the circulation page.','YesNo'), ('displayFacetCount','0',NULL,NULL,'YesNo'), diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/prices.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/prices.inc new file mode 100644 index 0000000..8952845 --- /dev/null +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/prices.inc @@ -0,0 +1,25 @@ +[% USE Koha %] + diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqbudgetperiods.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqbudgetperiods.tt index 76f0701..97f1cfd 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqbudgetperiods.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqbudgetperiods.tt @@ -1,5 +1,6 @@ [% USE KohaDates %] [% USE Price %] +[% USE Koha %] [%- BLOCK action_menu %] + +[% INCLUDE 'prices.inc' %] + + + [% INCLUDE 'intranet-bottom.inc' %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/paycollect.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/paycollect.tt index 1e317bc..22fdbff 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/paycollect.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/paycollect.tt @@ -11,57 +11,34 @@ $(document).ready(function() { moneyFormat( this ); }); }); +//]]> + -function moneyFormat(textObj) { - var newValue = textObj.value; - var decAmount = ""; - var dolAmount = ""; - var decFlag = false; - var aChar = ""; - - for(i=0; i < newValue.length; i++) { - aChar = newValue.substring(i, i+1); - if (aChar >= "0" && aChar <= "9") { - if(decFlag) { - decAmount = "" + decAmount + aChar; - } - else { - dolAmount = "" + dolAmount + aChar; - } - } - if (aChar == ".") { - if (decFlag) { - dolAmount = ""; - break; - } - decFlag = true; - } - } - - if (dolAmount == "") { - dolAmount = "0"; - } -// Strip leading 0s - if (dolAmount.length > 1) { - while(dolAmount.length > 1 && dolAmount.substring(0,1) == "0") { - dolAmount = dolAmount.substring(1,dolAmount.length); - } - } - if (decAmount.length > 2) { - decAmount = decAmount.substring(0,2); +[% INCLUDE 'prices.inc' %] + + + + [% INCLUDE 'header.inc' %] @@ -146,7 +123,11 @@ function moneyFormat(textObj) {
  • +<<<<<<< 16ee11980e3d1f0c5cbd3650d3a90b7d00d971e4 +======= + +>>>>>>> BUG 12310 : Modified scripts in order to convert any string to the good format
  • @@ -211,7 +192,12 @@ function moneyFormat(textObj) {
  • +<<<<<<< 16ee11980e3d1f0c5cbd3650d3a90b7d00d971e4 +======= + + Please use the "[% Koha.Preference('DigitSeparator') %]" as separator : ex "XX[% Koha.Preference('DigitSeparator') %]XX" +>>>>>>> BUG 12310 : Modified scripts in order to convert any string to the good format
  • -- 2.7.4