From fce44867acdcfe34bea0cf165601d51081c85c5c Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Mon, 12 Sep 2022 14:35:24 +0000 Subject: [PATCH] Bug 31540: Exclude expired holds from the reminder job Some libraries don't want to auto-cancel holds, but we should not remind a patron about a hold which has expired. To test: 1 - Place a hold for a patron 2 - Set it waiting 3 - Run the holds reminder script in the future perl misc/cronjobs/holds/holds_reminder.pl -day 1 --date '2023-09-12' -v 4 - Note the holds would be reminded 5 - Set expirationdate for the hold less than today UPDATE reserves SET expirationdate = DATE_SUB(CURDATE(), INTERVAL 1 DAY); 6 - Run the remidner cron again 7 - No holds trigger! Signed-off-by: David Nind Signed-off-by: Katrin Fischer Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 4c3d18091d821af2d9ac7a6178547cc9c478f9de) Signed-off-by: Lucas Gass (cherry picked from commit 6e3ff69730ec269973cc5225a99e5ce7123f05f7) Signed-off-by: Arthur Suzuki --- misc/cronjobs/holds/holds_reminder.pl | 1 + 1 file changed, 1 insertion(+) diff --git a/misc/cronjobs/holds/holds_reminder.pl b/misc/cronjobs/holds/holds_reminder.pl index e0cd4b8b52..ea0f4346d0 100755 --- a/misc/cronjobs/holds/holds_reminder.pl +++ b/misc/cronjobs/holds/holds_reminder.pl @@ -266,6 +266,7 @@ foreach my $branchcode (@branchcodes) { #BEGIN BRANCH LOOP my $reserves = Koha::Holds->search({ waitingdate => {$comparator => $waiting_since }, 'me.branchcode' => $branchcode, + '-or' => [ expirationdate => undef, expirationdate => { '>' => \'CURDATE()' } ] },{ prefetch => 'patron' }); $verbose and warn "No reserves found for $branchcode\n" unless $reserves->count; -- 2.39.5