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>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit b895eb9b7d)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
This commit is contained in:
parent
ae9b83ae96
commit
00ee0cc163
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue