From a05942ac39e5c8bc5da6d6ee15675a553750cd16 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 + .../prog/en/includes/price-conversion-message.inc | 15 +++++++ .../intranet-tmpl/prog/en/includes/prices.inc | 25 ++++++++++++ .../prog/en/modules/admin/aqbudgetperiods.tt | 26 +++++++++++- .../prog/en/modules/admin/aqbudgets.tt | 37 +++++++++++++++-- .../en/modules/admin/preferences/i18n_l10n.pref | 4 ++ .../prog/en/modules/members/mancredit.tt | 27 ++++++++++++- .../prog/en/modules/members/maninvoice.tt | 30 +++++++++++++- .../prog/en/modules/members/paycollect.tt | 47 ++++++++++++---------- 10 files changed, 184 insertions(+), 30 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/bug12310_added_DigitSeparator.sql create mode 100644 koha-tmpl/intranet-tmpl/prog/en/includes/price-conversion-message.inc 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 0bd8cac..5587e17 100644 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -134,6 +134,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/price-conversion-message.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/price-conversion-message.inc new file mode 100644 index 0000000..8d88f8a --- /dev/null +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/price-conversion-message.inc @@ -0,0 +1,15 @@ +[% USE Koha %] +[% INCLUDE 'prices.inc' %] + + + [% 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 %] + Edit Separator + [% END %] + [% ELSE %] + [% IF CAN_user_parameters %] + No Digit separator defined Chose one + [% END %] + [% END %] + + 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..f7d87cd 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..4e115d3 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,8 @@ function moneyFormat(textObj) {
  • - + + [% INCLUDE 'price-conversion-message.inc' %]
  • -- 2.7.4