From 6c0d06f1e62dac5e2e0f1435875a64f67fac7055 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 22 Jul 2020 16:43:38 +0200 Subject: [PATCH] [20.05.x] Bug 25826: Add a warning to the about page This patch adds a warning to the about page if the biblionumber field is hidden at the OPAC or staff interface. Test plan: Hide the biblionumber to some framework Confirm that there is a warning on the about page Signed-off-by: Tomas Cohen Arazi Signed-off-by: Nick Clemens --- about.pl | 28 +++++++++++++++++++ .../intranet-tmpl/prog/en/modules/about.tt | 11 ++++++-- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/about.pl b/about.pl index ad85b6aadb..96fd263bed 100755 --- a/about.pl +++ b/about.pl @@ -43,6 +43,7 @@ use C4::Installer::PerlModules; use Koha; use Koha::DateUtils qw(dt_from_string output_pref); use Koha::Acquisition::Currencies; +use Koha::BiblioFrameworks; use Koha::Patron::Categories; use Koha::Patrons; use Koha::Caches; @@ -50,6 +51,7 @@ use Koha::Config::SysPrefs; use Koha::Illrequest::Config; use Koha::SearchEngine::Elasticsearch; use Koha::Logger; +use Koha::Filter::MARC::ViewPolicy; use C4::Members::Statistics; @@ -517,6 +519,32 @@ $template->param( 'bad_yaml_prefs' => \@bad_yaml_prefs ) if @bad_yaml_prefs; } } +{ + my @frameworkcodes = Koha::BiblioFrameworks->search->get_column('frameworkcode'); + my @hidden_biblionumbers; + push @frameworkcodes, ""; # it's not in the biblio_frameworks table! + for my $frameworkcode ( @frameworkcodes ) { + my $shouldhidemarc_opac = Koha::Filter::MARC::ViewPolicy->should_hide_marc( + { + frameworkcode => $frameworkcode, + interface => "opac" + } + ); + push @hidden_biblionumbers, { frameworkcode => $frameworkcode, interface => 'opac' } + if $shouldhidemarc_opac->{biblionumber}; + + my $shouldhidemarc_intranet = Koha::Filter::MARC::ViewPolicy->should_hide_marc( + { + frameworkcode => $frameworkcode, + interface => "intranet" + } + ); + push @hidden_biblionumbers, { frameworkcode => $frameworkcode, interface => 'intranet' } + if $shouldhidemarc_intranet->{biblionumber}; + } + $template->param( warnHiddenBiblionumbers => \@hidden_biblionumbers ); +} + my %versions = C4::Context::get_versions(); $template->param( diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/about.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/about.tt index 7448d4094c..f15f0534d6 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/about.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/about.tt @@ -184,7 +184,7 @@
- [% IF warnPrefBiblioAddsAuthorities || warnPrefEasyAnalyticalRecords || warnPrefAnonymousPatronOPACPrivacy || warnPrefAnonymousPatronAnonSuggestions || warnPrefAnonymousPatronOPACPrivacy_PatronDoesNotExist || warnPrefAnonymousPatronAnonSuggestions_PatronDoesNotExist || warnNoActiveCurrency || warnIsRootUser || xml_config_warnings.size || AutoSelfCheckPatronDoesNotHaveSelfCheckPerm || AutoSelfCheckPatronHasTooManyPerm || warnStatisticsFieldsError || warnNoTemplateCaching || warnILLConfiguration || has_ai_issues || oauth2_missing_deps || bad_yaml_prefs || warnRelationships || log4perl_errors %] + [% IF warnPrefBiblioAddsAuthorities || warnPrefEasyAnalyticalRecords || warnPrefAnonymousPatronOPACPrivacy || warnPrefAnonymousPatronAnonSuggestions || warnPrefAnonymousPatronOPACPrivacy_PatronDoesNotExist || warnPrefAnonymousPatronAnonSuggestions_PatronDoesNotExist || warnNoActiveCurrency || warnIsRootUser || xml_config_warnings.size || AutoSelfCheckPatronDoesNotHaveSelfCheckPerm || AutoSelfCheckPatronHasTooManyPerm || warnStatisticsFieldsError || warnNoTemplateCaching || warnILLConfiguration || has_ai_issues || oauth2_missing_deps || bad_yaml_prefs || warnRelationships || log4perl_errors || warnHiddenBiblionumbers.size %] [% IF (warnIsRootUser) %]

Warning regarding current user

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.

@@ -259,7 +259,7 @@ [% END %] [% END %] - [% IF warnPrefBiblioAddsAuthorities || warnPrefEasyAnalyticalRecords || warnPrefAnonymousPatronOPACPrivacy || warnPrefAnonymousPatronAnonSuggestions || warnPrefAnonymousPatronOPACPrivacy_PatronDoesNotExist || warnPrefAnonymousPatronAnonSuggestions_PatronDoesNotExist || warnNoActiveCurrency || AutoSelfCheckPatronDoesNotHaveSelfCheckPerm || AutoSelfCheckPatronHasTooManyPerm || warnStatisticsFieldsError || warnNoTemplateCaching || warnILLConfiguration || oauth2_missing_deps || bad_yaml_prefs || warnIssuingRules %] + [% IF warnPrefBiblioAddsAuthorities || warnPrefEasyAnalyticalRecords || warnPrefAnonymousPatronOPACPrivacy || warnPrefAnonymousPatronAnonSuggestions || warnPrefAnonymousPatronOPACPrivacy_PatronDoesNotExist || warnPrefAnonymousPatronAnonSuggestions_PatronDoesNotExist || warnNoActiveCurrency || AutoSelfCheckPatronDoesNotHaveSelfCheckPerm || AutoSelfCheckPatronHasTooManyPerm || warnStatisticsFieldsError || warnNoTemplateCaching || warnILLConfiguration || oauth2_missing_deps || bad_yaml_prefs || warnIssuingRules || warnHiddenBiblionumbers.size %]

Warnings regarding the system configuration

@@ -335,6 +335,13 @@ Some system preferences have badly formatted YAML content: [% bad_yaml_prefs.join(', ') | html %] [% END %] + [% IF warnHiddenBiblionumbers.size %] + + [% END %]
Preferences and parameters
Warning + [% FOR w IN warnHiddenBiblionumbers %] + Biblio framework "[% w.frameworkcode %]" has the biblionumber field hidden at the interface [% w.interface %]
+ [% END %] +
[% END %] -- 2.30.0