From b470ea71cc67eeba2c942f65cb67331ec38eb7ed Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Thu, 14 Jun 2018 11:31:02 -0300 Subject: [PATCH] Bug 20919: Remove unecessary search calls on the biblio detail page There is a countanalytics flag that is set for items used in analytical biblio records. This flag is only used in the template when 'analyze' has been passed to the script. In order to avoid unecessary search calls (1 per item), $analyse must be tested. Test plan: 0. Do not apply the patch 1. tail -f /var/log/koha/kohadev/zebra-output.log 2. Hit a bibliographic record detail page with several items 3. Notice that the log has 1 line per item: 11:30:36-14/06 zebrasrv(32) [warn] ir_session (exception) 4. Apply the patch 5. Hit the page again 6. There is nothing in the zebra log file If you are familiar with analytic records, confirm that you are not allowed to remove an item that is used in analytical biblio records. Signed-off-by: Hugo Agud Signed-off-by: Martin Renvoize Signed-off-by: Nick Clemens Signed-off-by: Martin Renvoize (cherry picked from commit e4b51adb9a46c72099b950b1976c155f3c7d41f1) Signed-off-by: Fridolin Somers --- catalogue/detail.pl | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/catalogue/detail.pl b/catalogue/detail.pl index 98a26dd661..5dea78e169 100755 --- a/catalogue/detail.pl +++ b/catalogue/detail.pl @@ -302,11 +302,15 @@ foreach my $item (@items) { $item->{hosttitle} = GetBiblioData($item->{biblionumber})->{title}; } - #count if item is used in analytical bibliorecords - my $countanalytics = C4::Context->preference('EasyAnalyticalRecords') ? GetAnalyticsCount($item->{itemnumber}) : 0; - if ($countanalytics > 0){ - $analytics_flag=1; - $item->{countanalytics} = $countanalytics; + + if ( $analyze ) { + # count if item is used in analytical bibliorecords + # The 'countanalytics' flag is only used in the templates if analyze is set + my $countanalytics = C4::Context->preference('EasyAnalyticalRecords') ? GetAnalyticsCount($item->{itemnumber}) : 0; + if ($countanalytics > 0){ + $analytics_flag=1; + $item->{countanalytics} = $countanalytics; + } } if (defined($item->{'materials'}) && $item->{'materials'} =~ /\S/){ -- 2.39.5