From a1035aee021551cb3745d7efd4d3ea614d80b244 Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Thu, 20 Sep 2018 16:23:10 -0400 Subject: [PATCH] LP#1772680: add global flag to control display of digital search tab This patch introduces a new global flag, extras.enable_digital_resource_search_tab, that controls whether the public catalog search tab for digital resources is displayed. If that flag is not turned on, the tab is not displayed and unnecessary RBDigital initialization code is bypassed. Signed-off-by: Galen Charlton --- Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm | 10 ++++++++-- Open-ILS/src/sql/Pg/950.data.seed-values.sql | 11 +++++++++++ .../Pg/upgrade/XXXX.data.org-setting.ebook-api-rbdigital.sql | 11 +++++++++++ Open-ILS/src/templates/opac/parts/topnav.tt2 | 4 +++- 4 files changed, 33 insertions(+), 3 deletions(-) diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm index 08c6b09a38..e20b380b59 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm @@ -163,7 +163,7 @@ sub load { return $self->load_temp_warn_post if $path =~ m|opac/temp_warn/post|; return $self->load_temp_warn if $path =~ m|opac/temp_warn|; - # Load EbookAPI modules + # Load RBDigital EbookAPI modules return $self->load_rbdigital_advanced if $path =~ m|opac/ebook_api/rbdigital/advanced|; return $self->load_rbdigital_manage_search_fields if $path =~ m|opac/ebook_api/rbdigital/manage_search_fields|; return $self->load_rbdigital_results if $path =~ m|opac/ebook_api/rbdigital/results|; @@ -435,7 +435,13 @@ sub load_common { return $rows; }; - $self->load_rbdigital_common(); + + $ctx->{digital_resource_search_tab_enabled} = 0; + my $flag = $e->retrieve_config_global_flag('extras.enable_digital_resource_search_tab'); + if ($flag && $U->is_true($flag->enabled)) { + $self->load_rbdigital_common(); + $ctx->{digital_resource_search_tab_enabled} = 1; + } return Apache2::Const::OK; } diff --git a/Open-ILS/src/sql/Pg/950.data.seed-values.sql b/Open-ILS/src/sql/Pg/950.data.seed-values.sql index 00341c84ec..ffcc7f46c5 100644 --- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql +++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql @@ -20413,3 +20413,14 @@ VALUES ( 'string' ); +INSERT INTO config.global_flag (name, label, enabled) VALUES ( + 'extras.enable_digital_resource_search_tab', + oils_i18n_gettext( + 'extras.enable_digital_resource_search_tab', + 'Extras: Enable public catalog search tab for digital resource searches (e.g., RBDigital)', + 'cgf', + 'label' + ), + FALSE +); + diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.data.org-setting.ebook-api-rbdigital.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.data.org-setting.ebook-api-rbdigital.sql index 4e525f38ca..8cf46e90b6 100644 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.data.org-setting.ebook-api-rbdigital.sql +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.data.org-setting.ebook-api-rbdigital.sql @@ -2,6 +2,17 @@ BEGIN; -- SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); +INSERT INTO config.global_flag (name, label, enabled) VALUES ( + 'extras.enable_digital_resource_search_tab', + oils_i18n_gettext( + 'extras.enable_digital_resource_search_tab', + 'Extras: Enable public catalog search tab for digital resource searches (e.g., RBDigital)', + 'cgf', + 'label' + ), + FALSE +); + INSERT INTO config.org_unit_setting_type (name, label, description, grp, datatype) VALUES ( diff --git a/Open-ILS/src/templates/opac/parts/topnav.tt2 b/Open-ILS/src/templates/opac/parts/topnav.tt2 index 5fc4a6fa7f..7dbe73430a 100644 --- a/Open-ILS/src/templates/opac/parts/topnav.tt2 +++ b/Open-ILS/src/templates/opac/parts/topnav.tt2 @@ -104,5 +104,7 @@ [% INCLUDE "opac/parts/topnav_links.tt2" %] -[% INCLUDE "opac/parts/vendor_tabs.tt2" %] +[% IF ctx.digital_resource_search_tab_enabled; + INCLUDE "opac/parts/vendor_tabs.tt2"; + END %] [% END %] -- 2.11.0