Bugzilla – Attachment 187426 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 --triggered switch does not work as intended if the day to send notice hits concurrent holidays
Bug-35700-Holds-reminder-cronjob---triggered-switc.patch (text/plain), 3.99 KB, created by
Andrew Fuerste-Henry
on 2025-10-03 21:25:22 UTC
(
hide
)
Description:
Bug 35700: Holds reminder cronjob --triggered switch does not work as intended if the day to send notice hits concurrent holidays
Filename:
MIME Type:
Creator:
Andrew Fuerste-Henry
Created:
2025-10-03 21:25:22 UTC
Size:
3.99 KB
patch
obsolete
>From 0277551fa91f3d23990f7dcd8ab487bf01631cfa 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 --triggered switch does not > work as intended 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> >--- > misc/cronjobs/holds/holds_reminder.pl | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) > >diff --git a/misc/cronjobs/holds/holds_reminder.pl b/misc/cronjobs/holds/holds_reminder.pl >index 6269301ee99..c5c87278ff6 100755 >--- a/misc/cronjobs/holds/holds_reminder.pl >+++ b/misc/cronjobs/holds/holds_reminder.pl >@@ -42,7 +42,6 @@ holds_reminder.pl > -lettercode <notice to send> > [ -c ][ -v ][ -library <branchcode> ][ -library <branchcode> ... ] > [ -days <number of days> ][ -mtt <transport type> ... ][ -holidays ] >- [ -date <YYYY-MM-DD> ] > > Options: > -help brief help message >@@ -120,7 +119,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 >@@ -190,7 +188,7 @@ GetOptions( > 'library=s' => \@branchcodes, > 'date=s' => \$date_input, > 'holidays' => \$use_calendar, >- 'mtt=s' => \@mtts >+ 'mtt=s' => \@mtts, > ); > pod2usage(1) if $help; > pod2usage( -verbose => 2 ) if $man; >@@ -243,9 +241,15 @@ foreach my $branchcode (@branchcodes) { #BEGIN BRANCH LOOP > # If respecting calendar get the correct waiting since date > my $waiting_date; > if ($use_calendar) { >+ my $today = $date_to_run; > 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($today); >+ { >+ 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.39.5
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