@@ -, +, @@ --- C4/Reserves.pm | 2 +- reserve/request.pl | 1 - t/db_dependent/Reserves.t | 8 +++++++- 3 files changed, 8 insertions(+), 3 deletions(-) --- a/C4/Reserves.pm +++ a/C4/Reserves.pm @@ -284,7 +284,7 @@ sub CanBookBeReserved{ push (@itemnumbers, @hostitems); } - my $canReserve; + my $canReserve = { status => '' }; foreach my $itemnumber (@itemnumbers) { $canReserve = CanItemBeReserved( $borrowernumber, $itemnumber, $pickup_branchcode ); return { status => 'OK' } if $canReserve->{status} eq 'OK'; --- a/reserve/request.pl +++ a/reserve/request.pl @@ -222,7 +222,6 @@ foreach my $biblionumber (@biblionumbers) { if ( $patron ) { { # CanBookBeReserved my $canReserve = CanBookBeReserved( $patron->borrowernumber, $biblionumber ); - $canReserve->{status} //= ''; if ( $canReserve->{status} eq 'OK' ) { #All is OK and we can continue --- a/t/db_dependent/Reserves.t +++ a/t/db_dependent/Reserves.t @@ -17,7 +17,7 @@ use Modern::Perl; -use Test::More tests => 58; +use Test::More tests => 59; use Test::MockModule; use Test::Warn; @@ -105,6 +105,10 @@ my ( $item_bibnum, $item_bibitemnum, $itemnumber ) = AddItem( $bibnum ); +my $biblio_with_no_item = $builder->build({ + source => 'Biblio' +}); + # Modify item; setting barcode. my $testbarcode = '97531'; @@ -533,6 +537,8 @@ $borrower->{dateofbirth} = DateTime->now->add( years => -30 ); Koha::Patrons->find( $borrowernumber )->set({ dateofbirth => $borrower->{dateofbirth} })->store; is( C4::Reserves::CanBookBeReserved($borrowernumber, $biblionumber)->{status} , 'OK', "Reserving a 'PEGI 16' Biblio by a 30 year old borrower succeeds"); + +is( C4::Reserves::CanBookBeReserved($borrowernumber, $biblio_with_no_item->{biblionumber})->{status} , '', "Biblio with no item. Status is empty"); #### ####### EO Bug 13113 <<< #### --