use Config;
use Search::Elasticsearch;
use Try::Tiny;
+use YAML;
use C4::Output;
use C4::Auth;
my $context = new C4::Context;
-if ( ! defined C4::Context->config('zebra_bib_index_mode') ) {
- push @xml_config_warnings, {
- error => 'zebra_bib_index_mode_warn'
- };
- if ($context->{'server'}->{'biblioserver'}->{'config'} !~ /zebra-biblios-dom.cfg/) {
- push @xml_config_warnings, {
- error => 'zebra_bib_mode_seems_grs1'
- };
- }
- else {
- push @xml_config_warnings, {
- error => 'zebra_bib_mode_seems_dom'
- };
- }
-} else {
- push @xml_config_warnings, { error => 'zebra_bib_grs_warn' }
- if C4::Context->config('zebra_bib_index_mode') eq 'grs1';
-}
-
-if ( (C4::Context->config('zebra_bib_index_mode') eq 'dom') &&
- ($context->{'server'}->{'biblioserver'}->{'config'} !~ /zebra-biblios-dom.cfg/) ) {
-
- push @xml_config_warnings, {
- error => 'zebra_bib_index_mode_mismatch_warn'
- };
-}
-
-if ( (C4::Context->config('zebra_bib_index_mode') eq 'grs1') &&
- ($context->{'server'}->{'biblioserver'}->{'config'} =~ /zebra-biblios-dom.cfg/) ) {
-
- push @xml_config_warnings, {
- error => 'zebra_bib_index_mode_mismatch_warn'
- };
+if ( C4::Context->config('zebra_bib_index_mode')
+ and C4::Context->config('zebra_bib_index_mode') eq 'grs1' )
+{
+ push @xml_config_warnings, { error => 'zebra_bib_index_mode_is_grs1' };
}
-if ( ! defined C4::Context->config('zebra_auth_index_mode') ) {
- push @xml_config_warnings, {
- error => 'zebra_auth_index_mode_warn'
- };
- if ($context->{'server'}->{'authorityserver'}->{'config'} !~ /zebra-authorities-dom.cfg/) {
- push @xml_config_warnings, {
- error => 'zebra_auth_mode_seems_grs1'
- };
- }
- else {
- push @xml_config_warnings, {
- error => 'zebra_auth_mode_seems_dom'
- };
- }
-} else {
- push @xml_config_warnings, { error => 'zebra_auth_grs_warn' }
- if C4::Context->config('zebra_auth_index_mode') eq 'grs1';
+if ( C4::Context->config('zebra_auth_index_mode')
+ and C4::Context->config('zebra_auth_index_mode') eq 'grs1' )
+{
+ push @xml_config_warnings, { error => 'zebra_auth_index_mode_is_grs1' };
}
if ( (C4::Context->config('zebra_auth_index_mode') eq 'dom') && ($context->{'server'}->{'authorityserver'}->{'config'} !~ /zebra-authorities-dom.cfg/) ) {
};
}
-if ( (C4::Context->config('zebra_auth_index_mode') eq 'grs1') && ($context->{'server'}->{'authorityserver'}->{'config'} =~ /zebra-authorities-dom.cfg/) ) {
- push @xml_config_warnings, {
- error => 'zebra_auth_index_mode_mismatch_warn'
- };
-}
-
if ( ! defined C4::Context->config('log4perl_conf') ) {
push @xml_config_warnings, {
error => 'log4perl_entry_missing'
}
}
-if ( ! defined C4::Context->config('tmp_path') ) {
+if ( ! C4::Context->config('tmp_path') ) {
+ my $temporary_directory = C4::Context::temporary_directory;
push @xml_config_warnings, {
- error => 'tmp_path_entry_missing',
- effective_tmp_dir => File::Spec->tmpdir
+ error => 'tmp_path_missing',
+ effective_tmp_dir => $temporary_directory,
}
}
# Test Zebra facets configuration
if ( !defined C4::Context->config('use_zebra_facets') ) {
push @xml_config_warnings, { error => 'use_zebra_facets_entry_missing' };
-} else {
- if ( C4::Context->config('use_zebra_facets') &&
- C4::Context->config('zebra_bib_index_mode') ) {
- # use_zebra_facets works with DOM
- push @xml_config_warnings, {
- error => 'use_zebra_facets_needs_dom'
- } if C4::Context->config('zebra_bib_index_mode') ne 'dom' ;
- }
}
# ILL module checks
$warnILLConfiguration = 1;
}
+
+ if ( !$ill_config_from_file->{branch} ) {
+ # branch not defined
+ $template->param( ill_branch_not_defined => 1 );
+ $warnILLConfiguration = 1;
+ }
+
$template->param( warnILLConfiguration => $warnILLConfiguration );
}
);
}
+# Test YAML system preferences
+# FIXME: This is list of current YAML formatted prefs, should by type of preference
+my @yaml_prefs = (
+ "UpdateNotForLoanStatusOnCheckin",
+ "OpacHiddenItems",
+ "BibtexExportAdditionalFields",
+ "RisExportAdditionalFields",
+ "UpdateItemWhenLostFromHoldList",
+ "MarcFieldsToOrder",
+ "MarcItemFieldsToOrder",
+ "UpdateitemLocationOnCheckin",
+ "ItemsDeniedRenewal"
+);
+my @bad_yaml_prefs;
+foreach my $syspref (@yaml_prefs) {
+ my $yaml = C4::Context->preference( $syspref );
+ if ( $yaml ) {
+ eval { YAML::Load( "$yaml\n\n" ); };
+ if ($@) {
+ push @bad_yaml_prefs, $syspref;
+ }
+ }
+}
+$template->param( 'bad_yaml_prefs' => \@bad_yaml_prefs ) if @bad_yaml_prefs;
+
{
my $dbh = C4::Context->dbh;
my $patrons = $dbh->selectall_arrayref(