Bugzilla – Attachment 139929 Details for
Bug 31356
Itiva outbound script doesn't respect calendar when calculating expiration date for holds
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 31356: Use hold expiration date instead of adding days to the waiting date
Bug-31356-Use-hold-expiration-date-instead-of-addi.patch (text/plain), 3.68 KB, created by
Joonas Kylmälä
on 2022-08-28 17:02:00 UTC
(
hide
)
Description:
Bug 31356: Use hold expiration date instead of adding days to the waiting date
Filename:
MIME Type:
Creator:
Joonas Kylmälä
Created:
2022-08-28 17:02:00 UTC
Size:
3.68 KB
patch
obsolete
>From 2d5c42e23b31c5ed3a429df2245e7b1f94e260ab Mon Sep 17 00:00:00 2001 >From: Nick Clemens <nick@bywatersolutions.com> >Date: Fri, 12 Aug 2022 16:19:49 +0000 >Subject: [PATCH] Bug 31356: Use hold expiration date instead of adding days to > the waiting date >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >The Talking Tech outbound script currently just adds the >ReservesMaxPickUpDelay to the waiting date to calculate the >"expiration date", but it should use the actual hold expiration >date which may differ from this naive calculation based on >various system preference values. > >Test Plan: >1) Create a holiday for tomorrow >2) Set ReservesMaxPickUpDelay to 5 >3) Set "Days mode" to "Same week day" >4) Enable ExcludeHolidaysFromMaxPickUpDelay >5) Enable TalkingTechItivaPhoneNotification >6) Create a hold and fill the hold so it is waiting >7) Enable "Hold filled" phone notices for that patron >8) Create a 'phone' version of the HOLD notice >9) Run ./misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl --type RESERVE -w 0 >10) Note the output has the expiration date ( 15th colume ) 5 days from now which is *not* the hold's expiration date >11) Apply this patch >12) Repeat the command from step 9 >13) Note the expiration date column now matches the holds actual expiration date! > >Signed-off-by: Kyle Hall <kyle@bywatersolutions.com> > >Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi> >--- > misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl | 10 +++------- > 1 file changed, 3 insertions(+), 7 deletions(-) > >diff --git a/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl b/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl >index 6a1456987f..5f679a9932 100755 >--- a/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl >+++ b/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl >@@ -308,7 +308,8 @@ sub GetWaitingHolds { > my $query = "SELECT borrowers.borrowernumber, borrowers.cardnumber, borrowers.title as patron_title, borrowers.firstname, borrowers.surname, borrowers.categorycode, > borrowers.phone, borrowers.email, borrowers.branchcode, biblio.biblionumber, biblio.title, items.barcode, reserves.waitingdate, > reserves.branchcode AS site, branches.branchname AS site_name, >- TO_DAYS(NOW())-TO_DAYS(reserves.waitingdate) AS days_since_waiting >+ TO_DAYS(NOW())-TO_DAYS(reserves.waitingdate) AS days_since_waiting, >+ reserves.expirationdate > FROM borrowers JOIN reserves USING (borrowernumber) > JOIN items USING (itemnumber) > JOIN biblio ON (biblio.biblionumber = items.biblionumber) >@@ -321,7 +322,6 @@ sub GetWaitingHolds { > AND message_name = 'Hold_Filled' > $patron_branchcode_filter > "; >- my $pickupdelay = C4::Context->preference("ReservesMaxPickUpDelay"); > my $sth = $dbh->prepare($query); > $sth->execute(); > my @results; >@@ -338,12 +338,8 @@ sub GetWaitingHolds { > my $calendar = Koha::Calendar->new( branchcode => $issue->{'site'}, days_mode => $daysmode ); > > my $waiting_date = dt_from_string( $issue->{waitingdate}, 'sql' ); >- my $pickup_date = $waiting_date->clone->add( days => $pickupdelay ); >- if ( $calendar->is_holiday($pickup_date) ) { >- $pickup_date = $calendar->next_open_days( $pickup_date, 1 ); >- } > >- $issue->{'date_due'} = output_pref({dt => $pickup_date, dateformat => 'iso' }); >+ $issue->{'date_due'} = output_pref({dt => dt_from_string($issue->{expirationdate}), dateformat => 'iso' }); > $issue->{'level'} = 1; # only one level for Hold Waiting notifications > > my $days_to_subtract = 0; >-- >2.30.2
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 31356
:
139070
|
139071
|
139072
| 139929