Bug 12933: Add new OVERDUES_SLIP letter
[koha.git] / about.pl
index cf8ab4f..4c27366 100755 (executable)
--- a/about.pl
+++ b/about.pl
@@ -33,6 +33,10 @@ use C4::Auth;
 use C4::Context;
 use C4::Installer;
 
+use Koha;
+use Koha::Borrowers;
+use Koha::Config::SysPrefs;
+
 #use Smart::Comments '####';
 
 my $query = new CGI;
@@ -47,7 +51,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     }
 );
 
-my $kohaVersion   = C4::Context::KOHAVERSION;
+my $kohaVersion   = Koha::version();
 my $osVersion     = `uname -a`;
 my $perl_path = $^X;
 if ($^O ne 'VMS') {
@@ -55,9 +59,10 @@ if ($^O ne 'VMS') {
 }
 my $perlVersion   = $];
 my $mysqlVersion  = `mysql -V`;
-my $apacheVersion = `httpd -v 2> /dev/null`;
-$apacheVersion = `httpd2 -v 2> /dev/null` unless $apacheVersion;
-$apacheVersion = (`/usr/sbin/apache2 -V`)[0] unless $apacheVersion;
+# Get Apache version
+my $apacheVersion = (`apache2ctl -v`)[0];
+$apacheVersion    = `httpd2 -v 2> /dev/null` unless $apacheVersion;
+$apacheVersion    = `httpd -v 2> /dev/null` unless $apacheVersion;
 my $zebraVersion = `zebraidx -V`;
 
 # Additional system information for warnings
@@ -73,6 +78,9 @@ my $warnPrefAnonymousPatron = (
         and not C4::Context->preference('AnonymousPatron')
 );
 
+my $anonymous_patron = Koha::Borrowers->find( C4::Context->preference('AnonymousPatron') );
+my $warnPrefAnonymousPatron_PatronDoesNotExist = ( not $anonymous_patron and Koha::Borrowers->search({ privacy => 2 })->count );
+
 my $errZebraConnection = C4::Context->Zconn("biblioserver",0)->errcode();
 
 my $warnIsRootUser   = (! $loggedinuser);
@@ -148,6 +156,25 @@ if ( (C4::Context->config('zebra_auth_index_mode') eq 'grs1') && ($context->{'se
     };
 }
 
+if ( ! defined C4::Context->config('log4perl_conf') ) {
+    push @xml_config_warnings, {
+        error => 'log4perl_entry_missing'
+    }
+}
+
+if ( ! defined C4::Context->config('upload_path') ) {
+    if ( Koha::Config::SysPrefs->find('OPACBaseURL')->value ) {
+        # OPACBaseURL seems to be set
+        push @xml_config_warnings, {
+            error => 'uploadpath_entry_missing'
+        }
+    } else {
+        push @xml_config_warnings, {
+            error => 'uploadpath_and_opacbaseurl_entry_missing'
+        }
+    }
+}
+
 # Test QueryParser configuration sanity
 if ( C4::Context->preference( 'UseQueryParser' ) ) {
     # Get the QueryParser configuration file name
@@ -190,6 +217,34 @@ if ( !defined C4::Context->config('use_zebra_facets') ) {
     }
 }
 
+# Sco Patron should not contain any other perms than circulate => self_checkout
+if (  C4::Context->preference('WebBasedSelfCheck')
+      and C4::Context->preference('AutoSelfCheckAllowed')
+) {
+    my $userid = C4::Context->preference('AutoSelfCheckID');
+    my $all_permissions = C4::Auth::get_user_subpermissions( $userid );
+    my ( $has_self_checkout_perm, $has_other_permissions );
+    while ( my ( $module, $permissions ) = each %$all_permissions ) {
+        if ( $module eq 'circulate' ) {
+            while ( my ( $permission, $flag ) = each %$permissions ) {
+                if ( $permission eq 'self_checkout' ) {
+                    $has_self_checkout_perm = 1;
+                } else {
+                    $has_other_permissions = 1;
+                }
+            }
+        } else {
+            $has_other_permissions = 1;
+        }
+    }
+    $template->param(
+        AutoSelfCheckPatronDoesNotHaveSelfCheckPerm => not ( $has_self_checkout_perm ),
+        AutoSelfCheckPatronHasTooManyPerm => $has_other_permissions,
+    );
+
+
+}
+
 $template->param(
     kohaVersion   => $kohaVersion,
     osVersion     => $osVersion,
@@ -204,6 +259,7 @@ $template->param(
     warnPrefBiblioAddsAuthorities => $warnPrefBiblioAddsAuthorities,
     warnPrefEasyAnalyticalRecords  => $warnPrefEasyAnalyticalRecords,
     warnPrefAnonymousPatron => $warnPrefAnonymousPatron,
+    warnPrefAnonymousPatron_PatronDoesNotExist => $warnPrefAnonymousPatron_PatronDoesNotExist,
     errZebraConnection => $errZebraConnection,
     warnIsRootUser => $warnIsRootUser,
     warnNoActiveCurrency => $warnNoActiveCurrency,