Bug 12721 - Syspref StatisticsFields: Warning on About page and text change in System...
authorMarc Véron <veron@veron.ch>
Sun, 18 Oct 2015 16:27:58 +0000 (18:27 +0200)
committerBrendan Gallagher <brendan@bywatersolutions.com>
Fri, 29 Apr 2016 02:48:30 +0000 (02:48 +0000)
This patch adds a warning to the about page if the syspref 'StatisticsFields' is misconfigured.
Additionally, the text on Home > Administration > SystemPreferences for 'Statistics Fields'
is changed.

To test:
- Apply patch
- Edit syspref 'StatisticsFields'. Verify that the explanation makes sense.
- Leave field empty
  => verify that no message appears on About page, tab System information
- Insert valid field names, e.g. location|itype
  => verify that no message appears on the About page
- Add trailing char
  => verify that the warning message appears on the About page
- Fill in some garbage or misspell a field name
  => verify that the warning message appears on the About page

Signed-off-by: Aleisha <aleishaamohia@hotmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>

about.pl
koha-tmpl/intranet-tmpl/prog/en/modules/about.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/patrons.pref

index 6b77677..ca8ff9f 100755 (executable)
--- a/about.pl
+++ b/about.pl
@@ -37,6 +37,7 @@ use Koha;
 use Koha::Acquisition::Currencies;
 use Koha::Patrons;
 use Koha::Config::SysPrefs;
+use C4::Members::Statistics;
 
 #use Smart::Comments '####';
 
@@ -70,6 +71,14 @@ if ( any { /(^psgi\.|^plack\.)/i } keys %ENV ) {
 }
 
 # Additional system information for warnings
+
+my $warnStatisticsFieldsError;
+my $prefStatisticsFields = C4::Context->preference('StatisticsFields');
+if ($prefStatisticsFields) {
+    $warnStatisticsFieldsError = $prefStatisticsFields
+        unless ( $prefStatisticsFields eq C4::Members::Statistics->get_fields() );
+}
+
 my $prefAutoCreateAuthorities = C4::Context->preference('AutoCreateAuthorities');
 my $prefBiblioAddsAuthorities = C4::Context->preference('BiblioAddsAuthorities');
 my $warnPrefBiblioAddsAuthorities = ( $prefAutoCreateAuthorities && ( !$prefBiblioAddsAuthorities) );
@@ -270,6 +279,7 @@ $template->param(
     warnIsRootUser => $warnIsRootUser,
     warnNoActiveCurrency => $warnNoActiveCurrency,
     xml_config_warnings => \@xml_config_warnings,
+    warnStatisticsFieldsError => $warnStatisticsFieldsError,
 );
 
 my @components = ();
index a7663d1..e22c672 100644 (file)
 
         <div id="sysinfo">
     [% IF warnPrefBiblioAddsAuthorities || warnPrefEasyAnalyticalRecords || warnPrefAnonymousPatron ||
-          warnNoActiveCurrency || QueryParserError || warnIsRootUser || xml_config_warnings.size || AutoSelfCheckPatronDoesNotHaveSelfCheckPerm || AutoSelfCheckPatronHasTooManyPerm %]
+          warnNoActiveCurrency || QueryParserError || warnIsRootUser || xml_config_warnings.size || AutoSelfCheckPatronDoesNotHaveSelfCheckPerm || AutoSelfCheckPatronHasTooManyPerm || warnStatisticsFieldsError %]
         [% IF (warnIsRootUser) %]
             <h2>Warning regarding current user</h2>
             <p>You are logged in as the database administrative user. This is not recommended because some parts of Koha will not function as expected when using this account.</p>
         [% END %]
 
         [% IF warnPrefBiblioAddsAuthorities || warnPrefEasyAnalyticalRecords || warnPrefAnonymousPatron ||
-              warnNoActiveCurrency || QueryParserError || AutoSelfCheckPatronDoesNotHaveSelfCheckPerm || AutoSelfCheckPatronHasTooManyPerm %]
+              warnNoActiveCurrency || QueryParserError || AutoSelfCheckPatronDoesNotHaveSelfCheckPerm || AutoSelfCheckPatronHasTooManyPerm || warnStatisticsFieldsError%]
             <h2>Warnings regarding the system configuration</h2>
             <table>
                 <caption>Preferences and parameters</caption>
                 [% IF warnNoActiveCurrency %]
                     <tr><th scope="row"><b>Warning</b> </th><td>No active currency is defined. Please go to <a href="/cgi-bin/koha/admin/currency.pl">Administration &gt; Currencies and exchange rates</a> and mark one currency as active.</td></tr>
                 [% END %]
+                [% IF warnStatisticsFieldsError %]
+                    <tr><th scope="row"><b>Warning</b> </th><td>System preference 'StatisticsFields' contains field names not belonging to the items database table: [% warnStatisticsFieldsError %] </td></tr>
+                [% END %]
                 [% IF QueryParserError %]
                     <tr><th scope="row"><b>Warning</b> </th><td>
                         You have set UseQueryParser but there was a problem inititializing QueryParser.
index 22c2b27..b4b2a1c 100644 (file)
@@ -129,7 +129,7 @@ Patrons:
          - "Show the following fields from the items database table as columns on the statistics tab on the patron record: "
          - pref: StatisticsFields
            class: multi
-         - (separate fields with |)
+         - "(separate fields with |, without trailing |). Default if empty: location|itype|ccode"
      -
          - pref: EnableBorrowerFiles
            choices: