From 0af9d299ab078f0f12c295440a719d26c7932edd 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 par page 4) check number of records diplayed is OK 5) perform a search with number of results upper than number of results par 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