From 7cbcdb2b253b6253cd3ebe82ec27d0733d18811f Mon Sep 17 00:00:00 2001 From: Julian Maurice Date: Fri, 14 Mar 2014 10:52:03 +0100 Subject: [PATCH] Bug 8868: Remove CancelReserveFromId CancelReserve does the same job. --- C4/ILSDI/Services.pm | 2 +- C4/Reserves.pm | 91 ++++++++++----------------------------------- t/db_dependent/Reserves.t | 8 ++-- 3 files changed, 24 insertions(+), 77 deletions(-) diff --git a/C4/ILSDI/Services.pm b/C4/ILSDI/Services.pm index eb18a4b..0b02bc7 100644 --- a/C4/ILSDI/Services.pm +++ b/C4/ILSDI/Services.pm @@ -742,7 +742,7 @@ sub CancelHold { return { code => 'RecordNotFound' } unless $reserve; return { code => 'RecordNotFound' } unless ($reserve->{borrowernumber} == $borrowernumber); - C4::Reserves::CancelReserveFromId($reserve_id); + C4::Reserves::CancelReserve({reserve_id => $reserve_id}); return { code => 'Canceled' }; } diff --git a/C4/Reserves.pm b/C4/Reserves.pm index 4728709..047dfe1 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -120,7 +120,6 @@ BEGIN { &CanBookBeReserved &CanItemBeReserved &CancelReserve - &CancelReserveFromId &CancelExpiredReserves &AutoUnsuspendReserves @@ -1062,91 +1061,39 @@ sub CancelReserve { my $dbh = C4::Context->dbh; my $reserve = GetReserve( $reserve_id ); - - my $query = " - UPDATE reserves - SET cancellationdate = now(), - found = Null, - priority = 0 - 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 ); - - # now fix the priority on the others.... - _FixPriority({ biblionumber => $reserve->{biblionumber} }); -} - -=head2 CancelReserveFromId - - C4::Reserves::CancelReserveFromId($reserve_id); - -Cancel a reserve, given its reserve_id - -=cut - -sub CancelReserveFromId { - my ($reserve_id) = @_; - - my $reserve = GetReserve($reserve_id); if ($reserve) { - my $dbh = C4::Context->dbh; - - # update the database, removing the record... - my $query = qq{ + my $query = " UPDATE reserves - SET cancellationdate = NOW(), - found = NULL, - priority = 0 - WHERE reserve_id = ? - }; + SET cancellationdate = now(), + found = Null, + priority = 0 + WHERE reserve_id = ? + "; my $sth = $dbh->prepare($query); - $sth->execute($reserve_id); - $sth->finish; + $sth->execute( $reserve_id ); - $query = qq{ + $query = " INSERT INTO old_reserves SELECT * FROM reserves - WHERE reserve_id = ? - }; + WHERE reserve_id = ? + "; $sth = $dbh->prepare($query); - my $rv = $sth->execute($reserve_id); - - if ($rv) { - $query = qq{ - DELETE FROM reserves - WHERE reserve_id = ? - }; - $sth = $dbh->prepare($query); - $sth->execute($reserve_id); - } else { - warn "ERROR: Failed to move reserve $reserve_id to table old_reserves."; - return; - } + $sth->execute( $reserve_id ); - # now fix the priority on the others... + $query = " + DELETE FROM reserves + WHERE reserve_id = ? + "; + $sth = $dbh->prepare($query); + $sth->execute( $reserve_id ); + + # now fix the priority on the others.... _FixPriority({ biblionumber => $reserve->{biblionumber} }); } return $reserve; } - =head2 ModReserve ModReserve({ rank => $rank, diff --git a/t/db_dependent/Reserves.t b/t/db_dependent/Reserves.t index 99417d2..5d3aa2f 100755 --- a/t/db_dependent/Reserves.t +++ b/t/db_dependent/Reserves.t @@ -238,15 +238,15 @@ $reserve = GetReserve($reserve_id); isa_ok($reserve, 'HASH', "GetReserve return"); is($reserve->{biblionumber}, $biblionumber); -$reserve = CancelReserveFromId($reserve_id); -isa_ok($reserve, 'HASH', "CancelReserveFromId return"); +$reserve = CancelReserve({reserve_id => $reserve_id}); +isa_ok($reserve, 'HASH', "CancelReserve return"); is($reserve->{biblionumber}, $biblionumber); $reserve = GetReserve($reserve_id); is($reserve, undef, "GetReserve returns undef after deletion"); -$reserve = CancelReserveFromId($reserve_id); -is($reserve, undef, "CancelReserveFromId return undef if reserve does not exist"); +$reserve = CancelReserve({reserve_id => $reserve_id}); +is($reserve, undef, "CancelReserve return undef if reserve does not exist"); # Tests for bug 9761 (ConfirmFutureHolds): new CheckReserves lookahead parameter, and corresponding change in AddReturn -- 1.7.10.4