The script takes the waiting date and adds the delay It should simply pass through the expiration date field
Created attachment 139070 [details] [review] Bug 31356: Pass expirationdate through itiva script
Created attachment 139071 [details] [review] Bug 31356: Use hold expiration date instead of adding days to the waiting date 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!
Created attachment 139072 [details] [review] Bug 31356: Use hold expiration date instead of adding days to the waiting date 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>
Created attachment 139929 [details] [review] Bug 31356: Use hold expiration date instead of adding days to the waiting date 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>
Pushed to master for 22.11. Nice work everyone, thanks!
Backported to 22.05.x for upcoming 22.05.07 release
applied to 21.11.x for 21.11.14
Not backported to oldoldstable (21.05.x). Feel free to ask if it's needed. Nothing to document it seems, marking resolved.