From daa648743c6d537379c914df99480281a179b872 Mon Sep 17 00:00:00 2001 From: Baptiste Wojtkowski Date: Tue, 21 Feb 2017 15:47:36 +0000 Subject: [PATCH] Bug 12310 : Modify 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. Modify the tooltips helping the users entering monrtary information in the right format. Fields on all those pages are now automatically formatted - cgi-bin/koha/admin/aqbudgetperiods.tt - cgi-bin/koha/admin/aqbudgets.tt - cgi-bin/koha/members/mancredit.tt - cgi-bin/koha/members/maninvoice.tt 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 | 39 +++++++++++++- .../prog/en/modules/admin/aqbudgets.tt | 60 ++++++++++++++++++++-- .../en/modules/admin/preferences/i18n_l10n.pref | 4 ++ .../prog/en/modules/members/mancredit.tt | 37 ++++++++++++- .../prog/en/modules/members/maninvoice.tt | 42 ++++++++++++++- .../prog/en/modules/members/paycollect.tt | 58 +++++++++++++-------- 9 files changed, 238 insertions(+), 30 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 64aa493..f2bb2cb 100644 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -133,6 +133,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..561ae06 --- /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..0aaf02e 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..2b610a7 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/paycollect.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/paycollect.tt @@ -37,31 +37,33 @@ function moneyFormat(textObj) { 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 +148,7 @@ function moneyFormat(textObj) {
  • - +
  • @@ -211,7 +213,19 @@ function moneyFormat(textObj) {
  • - + + + [% IF Koha.Preference('DigitSeparator') %] + Please use any of the following character(s) "[% Koha.Preference('DigitSeparator').substr(0,1) %]" as separator : ex "XX[% Koha.Preference('DigitSeparator').substr(0,1) %]XX". + [% IF CAN_user_parameters %] + If you want to change it, click here + [% END %] + [% ELSE %] + [% IF CAN_user_parameters %] + Please chose a digit separator by clicking here + [% END %] + [% END %] +
  • -- 2.7.4