@@ -, +, @@ --- C4/Acquisition.pm | 5 +++++ t/db_dependent/Acquisition.t | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) --- a/C4/Acquisition.pm +++ a/C4/Acquisition.pm @@ -2282,6 +2282,7 @@ sub GetHistory { my $ordernumber = $params{ordernumber}; my $search_children_too = $params{search_children_too} || 0; my $created_by = $params{created_by} || []; + my $ordernumbers = $params{ordernumbers} || []; my @order_loop; my $total_qty = 0; @@ -2442,6 +2443,10 @@ sub GetHistory { push @query_params, @$created_by; } + if ( @$ordernumbers ) { + $query .= ' AND (aqorders.ordernumber IN ( ' . join (',', ('?') x @$ordernumbers ) . '))'; + push @query_params, @$ordernumbers; + } if ( C4::Context->preference("IndependentBranches") ) { unless ( C4::Context->IsSuperLibrarian() ) { --- a/t/db_dependent/Acquisition.t +++ a/t/db_dependent/Acquisition.t @@ -19,7 +19,7 @@ use Modern::Perl; use POSIX qw(strftime); -use Test::More tests => 68; +use Test::More tests => 70; use t::lib::Mocks; use Koha::Database; @@ -437,6 +437,11 @@ my $orders = GetHistory( ordernumber => $ordernumbers[1] ); is( scalar( @$orders ), 1, 'GetHistory with a given ordernumber returns 1 order' ); $orders = GetHistory( ordernumber => $ordernumbers[1], search_children_too => 1 ); is( scalar( @$orders ), 2, 'GetHistory with a given ordernumber and search_children_too set returns 2 orders' ); +$orders = GetHistory( ordernumbers => [$ordernumbers[1]] ); +is( scalar( @$orders ), 1, 'GetHistory with a given ordernumbers returns 1 order' ); +$orders = GetHistory( ordernumbers => \@ordernumbers ); +is( scalar( @$orders ), scalar( @ordernumbers ) - 1, 'GetHistory with a list of ordernumbers returns N-1 orders (was has been deleted [3])' ); + # Test GetHistory() with and without SearchWithISBNVariations # The ISBN passed as a param is the ISBN-10 version of the 13-digit ISBN in the sample record declared in $marcxml --