From a15e12e9f21c2fcb24d1e418b71347c95f721b92 Mon Sep 17 00:00:00 2001 From: Josef Moravec Date: Thu, 5 Oct 2017 20:37:25 +0000 Subject: [PATCH] Bug 19260: Holds marked as problems being seen as expired ones and deleted wrongly Content-Type: text/plain; charset=utf-8 Test plan: 0) Apply just the first patch - the one with test 1) Run t/db_dependent/Reserves.t - test for CancelExpiredReserves should fail 2) Apply the second patch 3) t/db_dependent/Reserves.t should pass now Followed test plan, patch worked as described. Passes QA test tool Signed-off-by: Alex Buckley Signed-off-by: Marcel de Rooy --- C4/Reserves.pm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index fbf03fb..3d011a6 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -799,16 +799,18 @@ sub CancelExpiredReserves { my $today = dt_from_string(); my $cancel_on_holidays = C4::Context->preference('ExpireReservesOnHolidays'); + my $expireWaiting = C4::Context->preference('ExpireReservesMaxPickUpDelay'); my $dbh = C4::Context->dbh; my $dtf = Koha::Database->new->schema->storage->datetime_parser; + + my $params = { expirationdate => { '<', $dtf->format_date($today) } }; + + $params->{found} = undef unless $expireWaiting; + # FIXME To move to Koha::Holds->search_expired (?) - my $holds = Koha::Holds->search( - { - expirationdate => { '<', $dtf->format_date($today) } - } - ); + my $holds = Koha::Holds->search( $params ); while ( my $hold = $holds->next ) { my $calendar = Koha::Calendar->new( branchcode => $hold->branchcode ); -- 2.1.4