use CGI qw ( -utf8 );
use DateTime::TimeZone;
+use File::Spec;
use List::MoreUtils qw/ any /;
use LWP::Simple;
+use Module::Load::Conditional qw(can_load);
use XML::Simple;
use Config;
use Search::Elasticsearch;
use C4::Installer;
use Koha;
+use Koha::DateUtils qw(dt_from_string output_pref);
use Koha::Acquisition::Currencies;
use Koha::Patron::Categories;
use Koha::Patrons;
}
);
-my $config_timezone = C4::Context->config('timezone');
+my $config_timezone = C4::Context->config('timezone') // '';
my $config_invalid = !DateTime::TimeZone->is_valid_name( $config_timezone );
-my $env_timezone = $ENV{TZ};
+my $env_timezone = $ENV{TZ} // '';
my $env_invalid = !DateTime::TimeZone->is_valid_name( $env_timezone );
my $actual_bad_tz_fallback = 0;
}
my $time_zone = {
- actual => C4::Context->timezone(),
+ actual => C4::Context->tz->name,
actual_bad_tz_fallback => $actual_bad_tz_fallback,
config => $config_timezone,
config_invalid => $config_invalid,
environment => $env_timezone,
environment_invalid => $env_invalid
};
-$template->param( 'time_zone' => $time_zone );
+
+$template->param(
+ time_zone => $time_zone,
+ current_date_and_time => output_pref({ dt => dt_from_string(), dateformat => 'iso' })
+);
my $perl_path = $^X;
if ($^O ne 'VMS') {
}
}
+if ( ! C4::Context->config('tmp_path') ) {
+ my $temporary_directory = C4::Context::temporary_directory;
+ push @xml_config_warnings, {
+ error => 'tmp_path_missing',
+ effective_tmp_dir => $temporary_directory,
+ }
+}
+
# Test QueryParser configuration sanity
if ( C4::Context->preference( 'UseQueryParser' ) ) {
# Get the QueryParser configuration file name
}
}
+if ( C4::Context->preference('RESTOAuth2ClientCredentials') ) {
+ # Do we have the required deps?
+ unless ( can_load( modules => { 'Net::OAuth2::AuthorizationServer' => undef }) ) {
+ $template->param( oauth2_missing_deps => 1 );
+ }
+}
+
# Sco Patron should not contain any other perms than circulate => self_checkout
if ( C4::Context->preference('WebBasedSelfCheck')
and C4::Context->preference('AutoSelfCheckAllowed')