@@ -, +, @@ last pickup date --- C4/Reserves.pm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) --- a/C4/Reserves.pm +++ a/C4/Reserves.pm @@ -724,7 +724,7 @@ sub GetReservesForBranch { my $dbh = C4::Context->dbh; my $query = " - SELECT reserve_id,borrowernumber,reservedate,itemnumber,waitingdate + SELECT reserve_id,borrowernumber,reservedate,itemnumber,waitingdate,branchcode FROM reserves WHERE priority='0' AND found='W' @@ -940,12 +940,16 @@ sub CancelExpiredReserves { $sth = $dbh->prepare( $query ); $sth->execute( $max_pickup_delay ); + my $today = DateTime->now( time_zone => C4::Context->tz() ); + while (my $res = $sth->fetchrow_hashref ) { - if ( $charge ) { - manualinvoice($res->{'borrowernumber'}, $res->{'itemnumber'}, 'Hold waiting too long', 'F', $charge); + my $expiration = _reserve_last_pickup_date( $res ); + if ( $today > $expiration ) { + if ( $charge ) { + manualinvoice($res->{'borrowernumber'}, $res->{'itemnumber'}, 'Hold waiting too long', 'F', $charge); + } + CancelReserve({ reserve_id => $res->{'reserve_id'} }); } - - CancelReserve({ reserve_id => $res->{'reserve_id'} }); } } --