From 03fb3ee6413a7e3474403f3847cd4b418718084c Mon Sep 17 00:00:00 2001 From: Fridolin Somers Date: Thu, 2 May 2019 14:20:45 +0200 Subject: [PATCH] Bug 22830: correct for loop in value_builder/unimarc_field_4XX.pl value_builder In value_builder/unimarc_field_4XX.pl value_builder gets search results and runs a for loog with $i index. This loop is limiter with number of results par page, it should also be limited by number of results if lower that number of results par page. Same in cataloguing/value_builder/marc21_linking_section.pl. Test plan : 1) configure framework to use value builder 2) use value builder 3) perform a search with number of results lower than number of results per page 4) check number of records diplayed is OK 5) perform a search with number of results upper than number of results per page and check number of results is OK 6) you see number of results par page records and pagination link Signed-off-by: Owen Leonard --- cataloguing/value_builder/marc21_linking_section.pl | 2 +- cataloguing/value_builder/unimarc_field_4XX.pl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cataloguing/value_builder/marc21_linking_section.pl b/cataloguing/value_builder/marc21_linking_section.pl index 0fb9b7bcfe1..f537516c04d 100755 --- a/cataloguing/value_builder/marc21_linking_section.pl +++ b/cataloguing/value_builder/marc21_linking_section.pl @@ -213,7 +213,7 @@ my $launcher = sub { } my @arrayresults; my @field_data = ($search); - for ( my $i = 0 ; $i < $resultsperpage ; $i++ ) { + for ( my $i = 0 ; $i < $total && $i < $resultsperpage ; $i++ ) { my $record = C4::Search::new_record_from_zebra( 'biblioserver', $results->[$i] ); my $rechash = TransformMarcToKoha( $record ); my $pos; diff --git a/cataloguing/value_builder/unimarc_field_4XX.pl b/cataloguing/value_builder/unimarc_field_4XX.pl index c51434954c6..5b95f145815 100755 --- a/cataloguing/value_builder/unimarc_field_4XX.pl +++ b/cataloguing/value_builder/unimarc_field_4XX.pl @@ -399,7 +399,7 @@ sub plugin { my @field_data = ($search); for ( my $i = 0 ; - $i < $resultsperpage ; + $i < $total && $i < $resultsperpage ; $i++ ) { -- 2.11.0