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 <gmc@equinoxinitiative.org>
LP#
1772680: add some guards
Avoid crashes if the RBDigital API is not available or incorrect
tokens are configured.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
$logger->error("EbookAPI: User Authenticated. Now, calling for patron authentication");
my $handler = new_handler($session_id);
+ return unless defined $handler;
return $handler->do_patron_auth($editor->requestor->usrname, $editor->requestor->email);
}
};
my $res = $self->request($req, $session_id);
- if ($res && defined($res->{content}->{patronId})) {
- $self->{patron_id} = $res->{content}->{patronId};
- return $res->{content}->{patronId};
- }
if (defined ($res)) {
if ($res->{is_success} && defined($res->{content}->{patronId}) ) {
$self->{patron_id} = $res->{content}->{patronId};
return $res->{content}->{patronId};
} else {
- $logger->error("EbookAPI: Unable to get patron Id from RBDigital portal: ".$res->{content}->{message});
+ $logger->error("EbookAPI: Unable to get patron Id from RBDigital portal: ".$res->{content});
return 0;
}
} else {
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|;
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;
}
my $ebook_api = OpenSRF::AppSession->create('open-ils.ebook_api');
my $api_request = $ebook_api->request('open-ils.ebook_api.get_patron_id', $authtoken, $session_id,0);
- if ($api_request) {
- return $api_request->recv->content;
+ if (my $resp = $api_request->recv) {
+ return $resp->content;
}
return 0;
)
);
+INSERT INTO config.workstation_setting_type (name, grp, datatype, label)
+VALUES (
+ 'eg.catalog.results.count', 'gui', 'integer',
+ oils_i18n_gettext(
+ 'eg.catalog.results.count',
+ 'Catalog Results Page Size',
+ 'cwst', 'label'
+ )
+
+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
+
+);
+
-- 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 (
</div>
</div>
[% 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 %]