From 6e3ff69730ec269973cc5225a99e5ce7123f05f7 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 --- 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 d1f49287ca..96290c00ad 100755 --- a/misc/cronjobs/holds/holds_reminder.pl +++ b/misc/cronjobs/holds/holds_reminder.pl @@ -260,6 +260,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;