From: Galen Charlton Date: Thu, 20 Sep 2018 20:23:10 +0000 (-0400) Subject: LP#1772680: add global flag to control display of digital search tab X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=a1035aee021551cb3745d7efd4d3ea614d80b244;p=evergreen%2Fpines.git 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 --- 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 %]