From 3c649c8bc53456f2da2dd9f5acfe0af7ec8d8980 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Thu, 8 Jun 2023 11:15:27 +0000 Subject: [PATCH] Bug 33957: Add normalized_oclc and only fetch when needed opac-user.tt wants to normalized_oclc number if using syndetics or B&T images We don't need to fetch it if not, but we need to pass it if so To test: 1 - Switch all Syndetics prefs to 'Show' or 'Use' except SyndeticsClientCode = just enter 'test' 2 - Checkout some items to a patron, ensure the records have: - ISBN - UPC - OCLC number 3 - View opac-user.pl (sign in to opac as the user) 4 - View the network console tab (may need to reload) 5 - Note requests like: https://secure.syndetics.com/index.aspx?isbn=1780335792/MC.GIF&client=test&type=xw10&upc=&oclc= 6 - Note that oclc parameter is not filled for record with an oclc number 7 - Apply patch 8 - Reload 9 - Confirm the link now has oclc as expected 10 - Disable syndetics, enable google books or another source 11 - Confirm images display as expected JD amended patch: tidy Signed-off-by: Jonathan Druart --- opac/opac-user.pl | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/opac/opac-user.pl b/opac/opac-user.pl index e65a3ce49b5..bc04c520a80 100755 --- a/opac/opac-user.pl +++ b/opac/opac-user.pl @@ -27,6 +27,7 @@ use C4::Koha qw( getitemtypeimagelocation GetNormalizedISBN GetNormalizedUPC + GetNormalizedOCLCNumber ); use C4::Circulation qw( CanBookBeRenewed GetRenewCount GetIssuingCharges ); use C4::External::BakerTaylor qw( image_url link_url ); @@ -296,9 +297,15 @@ if ( $pending_checkouts->count ) { # Useless test my $isbn = GetNormalizedISBN($issue->{'isbn'}); $issue->{normalized_isbn} = $isbn; - my $marcrecord = $biblio_object->metadata->record({ embed_items => 1, opac => 1, patron => $patron,}); - $issue->{normalized_upc} = GetNormalizedUPC( $marcrecord, C4::Context->preference('marcflavour') ); + if ( C4::Context->preference('BakerTaylorEnabled') + || C4::Context->preference('SyndeticsEnabled') + || C4::Context->preference('SyndeticsCoverImages') ) + { + my $marcrecord = $biblio_object->metadata->record( { embed_items => 1, opac => 1, patron => $patron, } ); + $issue->{normalized_upc} = GetNormalizedUPC( $marcrecord, C4::Context->preference('marcflavour') ); + $issue->{normalized_oclc} = GetNormalizedOCLCNumber( $marcrecord, C4::Context->preference('marcflavour') ); + } # My Summary HTML if (my $my_summary_html = C4::Context->preference('OPACMySummaryHTML')){ $issue->{author} ? $my_summary_html =~ s/{AUTHOR}/$issue->{author}/g : $my_summary_html =~ s/{AUTHOR}//g; -- 2.25.1