From 073e361819bc6926176f2718711ac9cb1f2d1471 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Mon, 17 Feb 2020 15:36:50 +0100 Subject: [PATCH] Bug 24644: Just a try That does not work, t/db_dependent/Reserves.t is failing --- C4/Reserves.pm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index 2b87fc2629..8939959b6e 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -1860,19 +1860,18 @@ sub MoveReserve { $cancelreserve //= 0; my $lookahead = C4::Context->preference('ConfirmFutureHolds'); #number of days to look for future holds - my ( $restype, $res, undef ) = CheckReserves( $itemnumber, undef, $lookahead ); - return unless $res; - my $biblionumber = $res->{biblionumber}; + my ( $restype, $res, undef ) = CheckReserves( $itemnumber, undef, $lookahead ); - if ($res->{borrowernumber} == $borrowernumber) { + if ($res && $res->{borrowernumber} == $borrowernumber) { ModReserveFill($res); } else { - # warn "Reserved"; + my $item = Koha::Items->find($itemnumber); + my $biblionumber = $item->biblionumber; + # The item is reserved by someone else. # Find this item in the reserves - my $borr_res = Koha::Holds->search({ borrowernumber => $borrowernumber, biblionumber => $biblionumber, @@ -1888,7 +1887,7 @@ sub MoveReserve { if ( $cancelreserve eq 'revert' ) { ## Revert waiting reserve to priority 1 RevertWaitingStatus({ itemnumber => $itemnumber }); } - elsif ( $cancelreserve eq 'cancel' || $cancelreserve ) { # cancel reserves on this item + elsif ( $res && ( $cancelreserve eq 'cancel' || $cancelreserve ) ) { # cancel reserves on this item my $hold = Koha::Holds->find( $res->{reserve_id} ); $hold->cancel; } -- 2.11.0