@@ -, +, @@ --- C4/Reserves.pm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) --- a/C4/Reserves.pm +++ a/C4/Reserves.pm @@ -1133,6 +1133,8 @@ if $transferToDo is not set, then the status is set to "Waiting" as well. otherwise, a transfer is on the way, and the end of the transfer will take care of the waiting status +This function also removes any entry of the hold in holds queue table. + =cut sub ModReserveAffect { @@ -1188,6 +1190,19 @@ sub ModReserveAffect { CartToShelf( $itemnumber ); } + my $std = $dbh->prepare(q{ + DELETE q, t + FROM tmp_holdsqueue q + INNER JOIN hold_fill_targets t + ON q.borrowernumber = t.borrowernumber + AND q.biblionumber = t.biblionumber + AND q.itemnumber = t.itemnumber + AND q.item_level_request = t.item_level_request + AND q.holdingbranch = t.source_branchcode + WHERE t.reserve_id = ? + }); + $std->execute($hold->reserve_id); + logaction( 'HOLDS', 'MODIFY', $hold->reserve_id, Dumper($hold->unblessed) ) if C4::Context->preference('HoldsLog'); --