@@ -, +, @@ --- C4/Reserves.pm | 23 +---------------------- t/db_dependent/Holds.t | 26 ++++++++++++++++++++++++-- 2 files changed, 25 insertions(+), 24 deletions(-) --- a/C4/Reserves.pm +++ a/C4/Reserves.pm @@ -1101,28 +1101,7 @@ sub ModReserve { my $dbh = C4::Context->dbh; if ( $rank eq "del" ) { - my $query = " - UPDATE reserves - SET cancellationdate=now() - WHERE reserve_id = ? - "; - my $sth = $dbh->prepare($query); - $sth->execute( $reserve_id ); - $query = " - INSERT INTO old_reserves - SELECT * - FROM reserves - WHERE reserve_id = ? - "; - $sth = $dbh->prepare($query); - $sth->execute( $reserve_id ); - $query = " - DELETE FROM reserves - WHERE reserve_id = ? - "; - $sth = $dbh->prepare($query); - $sth->execute( $reserve_id ); - + CancelReserve({ reserve_id => $reserve_id }); } elsif ($rank =~ /^\d+/ and $rank > 0) { my $query = " --- a/t/db_dependent/Holds.t +++ a/t/db_dependent/Holds.t @@ -6,7 +6,7 @@ use t::lib::Mocks; use C4::Context; use C4::Branch; -use Test::More tests => 23; +use Test::More tests => 25; use MARC::Record; use C4::Biblio; use C4::Items; @@ -253,8 +253,30 @@ my $reserveid2 = C4::Reserves::GetReserveId( CancelReserve({ reserve_id => $reserveid1 }); $reserve2 = GetReserve( $reserveid2 ); -is( $reserve2->{priority}, 1, "After cancelreserve, the 2nd reserve become the first on the waiting list" ); +is( $reserve2->{priority}, 1, "After cancelreserve, the 2nd reserve becomes the first on the waiting list" ); +($item_bibnum, $item_bibitemnum, $itemnumber) = AddItem({ homebranch => 'CPL', holdingbranch => 'CPL' } , $bibnum); +AddReserve( + $branch, + $borrowernumbers[0], + $bibnum, + 'a', + '', + 2, +); +my $reserveid3 = C4::Reserves::GetReserveId( + { + biblionumber => $bibnum, + borrowernumber => $borrowernumbers[0] + } +); + +my $reserve3 = GetReserve( $reserveid3 ); +is( $reserve3->{priority}, 2, "New reserve for patron 0, the reserve has a priority = 2" ); + +ModReserve({ reserve_id => $reserveid2, rank => 'del' }); +$reserve3 = GetReserve( $reserveid3 ); +is( $reserve3->{priority}, 1, "After ModReserve, the 3rd reserve becomes the first on the waiting list" ); # Helper method to set up a Biblio. --