Bugzilla – Attachment 187505 Details for
Bug 35700
Holds reminder cronjob --triggered switch does not work as intended if the day to send notice hits concurrent holidays
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 35700: Holds reminder cronjob - Fix --triggered switch if the day to send notice hits concurrent holidays
Bug-35700-Holds-reminder-cronjob---Fix---triggered.patch (text/plain), 3.65 KB, created by
Jonathan Druart
on 2025-10-07 08:46:36 UTC
(
hide
)
Description:
Bug 35700: Holds reminder cronjob - Fix --triggered switch if the day to send notice hits concurrent holidays
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2025-10-07 08:46:36 UTC
Size:
3.65 KB
patch
obsolete
>From 7494fa2495af30b43204aeafc76649284491ce95 Mon Sep 17 00:00:00 2001 >From: Lisette Scheer <lisette@bywatersolutions.com> >Date: Tue, 30 Sep 2025 16:16:41 +0000 >Subject: [PATCH] Bug 35700: Holds reminder cronjob - Fix --triggered switch if > the day to send notice hits concurrent holidays > >If the holds reminder cronjob would send a reminder on a holiday,when holidays are taken into account, it also will send it on the subsequent holidays and the first open day. >This bugfix adds a check to the cron when --holidays is set to skip sending the notices for that library if today is a holiday. > >To Test: >Before applying: >1. Create a hold for a patron (I used patron 23529000035676 and 39999000000252) >2. Ensure your patron has an email address set and the hold reminder email selected. >3. Set the hold to waiting by checking it and confirming the hold. >4. In Tools->Calendar add a holiday to yesterday and a seperate holiday to today. >5. On the command line (the date should be set to 5 days ago for my commands to work and any dates adjusted accordingly) >koha-mysql kohadev >update reserves set waitingdate="2025-09-25" >exit >perl misc/cronjobs/holds/holds_reminder.pl -days 3 -t -v -holidays --date 2025-09-29 >6. Observe that 1 notice would have sent to your patron >7. On the command line >perl misc/cronjobs/holds/holds_reminder.pl -days 3 -t -v -holidays >8. Observe that 1 notice would have sent to your patron >9. On the command line >perl misc/cronjobs/holds/holds_reminder.pl -days 3 -t -v -holidays --date 2025-10-01 >10. Observe that 1 notice would have sent to your patron > >11. Apply patches >12. Repeat the last command from step 5 and step 7 >13. Observe that no notice should be sent for your patron >14. Repeat step 7 >15. Observe that a notice should be sent for your patron. >16. Run >perl misc/cronjobs/holds/holds_reminder.pl -days 5 -t -v >17. Confirm the notice should be sent for your patron >18. Sign off > >Signed-off-by: Katie Bliss <KEBliss@dmpl.org> > >Bug 35700: (QA follow-up) fix POD and $today > >This patch replaces the inncorrectly removed POD note and replaces $today with the more correct $date_to_run for checking if we should be skipping sending the message on the day. > >Amended-by: Jonathan Druart >Squashed and adjusted commit title > >Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >--- > misc/cronjobs/holds/holds_reminder.pl | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > >diff --git a/misc/cronjobs/holds/holds_reminder.pl b/misc/cronjobs/holds/holds_reminder.pl >index 6269301ee99..33ccfb37c8d 100755 >--- a/misc/cronjobs/holds/holds_reminder.pl >+++ b/misc/cronjobs/holds/holds_reminder.pl >@@ -120,7 +120,6 @@ If omitted the patron's messaging preferences for Hold notices will be used. > If supplied the notice types will be force sent even if patron has not selected hold notices > Email and SMS will fall back to print if there is no valid info in the patron's account > >- > =back > > =head1 DESCRIPTION >@@ -244,8 +243,13 @@ foreach my $branchcode (@branchcodes) { #BEGIN BRANCH LOOP > my $waiting_date; > if ($use_calendar) { > my $calendar = Koha::Calendar->new( branchcode => $branchcode, days_mode => 'Calendar' ); >- my $duration = DateTime::Duration->new( days => -$days ); >- $waiting_date = $calendar->addDays( $date_to_run, $duration ); #Add negative of days >+ >+ #if today is a holiday skip sending the message >+ next if $calendar->is_holiday($date_to_run); >+ { >+ my $duration = DateTime::Duration->new( days => -$days ); >+ $waiting_date = $calendar->addDays( $date_to_run, $duration ); #Add negative of days >+ } > } else { > $waiting_date = $waiting_date_static; > } >-- >2.34.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 35700
:
187112
|
187113
|
187114
|
187115
|
187426
|
187482
| 187505