Bugzilla – Attachment 140955 Details for
Bug 28375
Inefficiencies in fetching COinS
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 28375: Inefficiencies in fetching COinS
Bug-28375-Inefficiencies-in-fetching-COinS.patch (text/plain), 6.33 KB, created by
Nick Clemens
on 2022-09-23 16:08:09 UTC
(
hide
)
Description:
Bug 28375: Inefficiencies in fetching COinS
Filename:
MIME Type:
Creator:
Nick Clemens
Created:
2022-09-23 16:08:09 UTC
Size:
6.33 KB
patch
obsolete
>From 3d482b62d4bec9502960d102685ffeed4339222f Mon Sep 17 00:00:00 2001 >From: Nick Clemens <nick@bywatersolutions.com> >Date: Tue, 18 May 2021 15:59:53 +0000 >Subject: [PATCH] Bug 28375: Inefficiencies in fetching COinS > >This patchset adds an 'interface' parameter to XSLTParseForDisplay to avoid fetching >coins when not needed > >Additionally we move some logic from the scripts to searchResults to avoid an extra fetch fo the biblio object > >To test: >1 - Enable COinSinOPACResults syspref >2 - Also enable OPACShowOpenURL and OPACOpenURLItemTypes - adding an itemtype that you can find >3 - Perform a search on the OPAC and confirm coins are included and openurl shown >4 - Perform a search on staff client and confirm openurls do not show >5 - Apply patch >6 - Results should be the same >--- > C4/Search.pm | 7 ++++++- > C4/XSLT.pm | 3 ++- > catalogue/detail.pl | 2 ++ > opac/opac-detail.pl | 2 ++ > opac/opac-search.pl | 5 ----- > opac/opac-shelves.pl | 1 + > opac/opac-tags.pl | 1 + > virtualshelves/shelves.pl | 1 + > 8 files changed, 15 insertions(+), 7 deletions(-) > >diff --git a/C4/Search.pm b/C4/Search.pm >index 14935ab731..35b6fbfe52 100644 >--- a/C4/Search.pm >+++ b/C4/Search.pm >@@ -2017,13 +2017,18 @@ sub searchResults { > ), > fix_amps => 1, > hidden_items => \@hiddenitems, >- xslt_variables => $xslt_variables >+ xslt_variables => $xslt_variables, >+ interface => $search_context->{'interface'} > } > ); > } > > my $biblio_object = Koha::Biblios->find( $oldbiblio->{biblionumber} ); > $oldbiblio->{biblio_object} = $biblio_object; >+ $oldbiblio->{coins} = eval { $biblio_object->get_coins } >+ if $biblio_object >+ && C4::Context->preference('COinSinOPACResults') >+ && $is_opac; > > my $can_place_holds = 1; > # if biblio level itypes are used and itemtype is notforloan, it can't be reserved either >diff --git a/C4/XSLT.pm b/C4/XSLT.pm >index 8c2b4c1bcd..546667a69d 100644 >--- a/C4/XSLT.pm >+++ b/C4/XSLT.pm >@@ -179,6 +179,7 @@ sub XSLTParse4Display { > my $hidden_items = $params->{hidden_items} || []; > my $variables = $params->{xslt_variables}; > my $items_rs = $params->{items_rs}; >+ my $interface = $params->{interface}; > > die "Mandatory \$params->{xsl_syspref} was not provided, called with biblionumber $params->{biblionumber}" > if not defined $params->{xsl_syspref}; >@@ -208,7 +209,7 @@ sub XSLTParse4Display { > > $variables ||= {}; > my $biblio; >- if (C4::Context->preference('OPACShowOpenURL')) { >+ if ( $interface eq 'opac' && C4::Context->preference('OPACShowOpenURL')) { > my @biblio_itemtypes; > $biblio //= Koha::Biblios->find($biblionumber); > if (C4::Context->preference('item-level_itypes')) { >diff --git a/catalogue/detail.pl b/catalogue/detail.pl >index a06c470bf3..cbc15fd855 100755 >--- a/catalogue/detail.pl >+++ b/catalogue/detail.pl >@@ -261,6 +261,7 @@ if ( $showcomp eq 'both' || $showcomp eq 'staff' ) { > record => $part, > xsl_syspref => "XSLTResultsDisplay", > fix_amps => 1, >+ interface => 'intranet' > } > ); > } >@@ -284,6 +285,7 @@ $template->param( > xsl_syspref => "XSLTDetailsDisplay", > fix_amps => 1, > xslt_variables => $xslt_variables, >+ interface => 'intranet' > }), > ); > >diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl >index 5f08752a13..e0f11a5701 100755 >--- a/opac/opac-detail.pl >+++ b/opac/opac-detail.pl >@@ -612,6 +612,7 @@ if ( $showcomp eq 'both' || $showcomp eq 'opac' ) { > record => $part, > xsl_syspref => 'OPACXSLTResultsDisplay', > fix_amps => 1, >+ interface => 'opac' > } > ); > } >@@ -647,6 +648,7 @@ $template->param( > xsl_syspref => 'OPACXSLTDetailsDisplay', > fix_amps => 1, > xslt_variables => $variables, >+ interface => 'opac' > }), > ); > >diff --git a/opac/opac-search.pl b/opac/opac-search.pl >index c0f7ca5d8c..f0b150dde9 100755 >--- a/opac/opac-search.pl >+++ b/opac/opac-search.pl >@@ -659,11 +659,6 @@ for (my $i=0;$i<@servers;$i++) { > $res->{'incart'} = 1; > } > >- if (C4::Context->preference('COinSinOPACResults')) { >- my $biblio = Koha::Biblios->find( $res->{'biblionumber'} ); >- # Catch the exception as Koha::Biblio::Metadata->record can explode if the MARCXML is invalid >- $res->{coins} = $biblio ? eval {$biblio->get_coins} : q{}; # FIXME This should be moved at the beginning of the @newresults loop >- } > if ( C4::Context->preference( "Babeltheque" ) and $res->{normalized_isbn} ) { > if( my $isbn = Business::ISBN->new( $res->{normalized_isbn} ) ) { > $isbn = $isbn->as_isbn13->as_string; >diff --git a/opac/opac-shelves.pl b/opac/opac-shelves.pl >index e228b3dfb0..b9f60f2d30 100755 >--- a/opac/opac-shelves.pl >+++ b/opac/opac-shelves.pl >@@ -416,6 +416,7 @@ if ( $op eq 'view' ) { > fix_amps => 1, > xslt_variables => $variables, > items_rs => $items->reset, >+ interface => 'opac' > } > ); > >diff --git a/opac/opac-tags.pl b/opac/opac-tags.pl >index 4aec61ee73..c5c85029e7 100755 >--- a/opac/opac-tags.pl >+++ b/opac/opac-tags.pl >@@ -293,6 +293,7 @@ if ($loggedinuser) { > fix_amps => 1, > hidden_items => \@hidden_items, > xslt_variables => $variables >+ interface => 'opac' > } > ); > >diff --git a/virtualshelves/shelves.pl b/virtualshelves/shelves.pl >index fa92cfcd6e..08b99a16be 100755 >--- a/virtualshelves/shelves.pl >+++ b/virtualshelves/shelves.pl >@@ -293,6 +293,7 @@ if ( $op eq 'view' ) { > record => $record, > xsl_syspref => 'XSLTListsDisplay', > fix_amps => 1, >+ interface => 'intranet' > } > ); > >-- >2.30.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 28375
:
121123
|
121124
|
127582
|
140955
|
141051
|
141126
|
141490
|
141491
|
141497
|
141955
|
141956
|
141957
|
141958