From e3fe0bdb316ef2ea901dabc9f97d4dd30dacf3f9 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Tue, 28 Oct 2014 08:12:46 -0400 Subject: [PATCH] Bug 13152 - Duplicate phone hold notices when using Talking Tech If a library is using Talking Tech for phone notices, any waiting hold phone notice will show up twice! This is because Koha generates on at the time the hold is set to waiting, and then the cronjob TalkingTech_itiva_outbound.pl generates it's own notice as well. The former notice will always have a status of 'pending', as the TalkingTech_itiva_inbound.pl script will update the notice the outbound script created. The solution is to prevent Koha from creating a phone notice for waiting holds if TT is enabled, and let the cron script do it. Test Plan: 1) Enable Talking Tech from the system preferences 2) Set a hold waiting phone notice in the notices and slips editor 3) Choose a patron, enable hold phone notices for that patron 4) Place a hold for a patron, and check it in so it's marked as waiting 5) Note the phone notice generated for the patron 6) Apply this patch 7) Repeat step 4 8) Note that this time, a phone hold waiting notice is not generated Signed-off-by: Jonathan Druart Signed-off-by: Katrin Fischer Amends condition with an additional or statement. Shoudn't affect anything but phone notices. Change appears logical. Signed-off-by: Tomas Cohen Arazi --- C4/Reserves.pm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index d3e26de375..5058c51ebb 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -2054,10 +2054,12 @@ sub _koha_notify_reserve { }; while ( my ( $mtt, $letter_code ) = each %{ $messagingprefs->{transports} } ) { - if ( ($mtt eq 'email' and not $to_address) or ($mtt eq 'sms' and not $borrower->{smsalertnumber}) ) { - # email or sms is requested but not exist - next; - } + next if ( + ( $mtt eq 'email' and not $to_address ) # No email address + or ( $mtt eq 'sms' and not $borrower->{smsalertnumber} ) # No SMS number + or ( $mtt eq 'phone' and C4::Context->preference('TalkingTechItivaPhoneNotification') ) # Notice is handled by TalkingTech_itiva_outbound.pl + ); + &$send_notification($mtt, $letter_code); $notification_sent++; } -- 2.39.5