From 395efee0eca141d24938147396ad31ad9bd6dd1f Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Tue, 16 May 2017 10:53:00 -0400 Subject: [PATCH] Bug 18478 - Hold Notices sent via SMS gateway fail It seems that for HOLD notices we rely on C4::Letters::SendQueuedMessages to populate the correct address. The sms code in this sub, however, assumed the smsalertnumebr is populated. Ths patch changes C4::Reserves::_koha_notify_reserve to use C4::Message::enqueue for SMS and email messages in order to ensure the correct addrress is populated To test: 1 - Define a messaging prefs for a patron to recieve hold notices via SMS 2 - Ensure you have defined an SMS message for 'HOLD' letter 3 - Set an SMS alert number for patron 4 - Set the SMS::Send driver to 'Email' 5 - Fill a hold for the patron 6 - Check the db and note the address is null 7 - Apply patch 8 - Fill another hold 9 - Check db and note address is populated 10 - Repeat for email notices and see the same change --- C4/Reserves.pm | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index 7e24ff4..f96a214 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -1883,13 +1883,17 @@ sub _koha_notify_reserve { warn "Could not find a letter called '$letter_params{'letter_code'}' for $mtt in the 'reserves' module"; return; } - - C4::Letters::EnqueueLetter( { - letter => $letter, - borrowernumber => $borrowernumber, - from_address => $admin_email_address, - message_transport_type => $mtt, - } ); + if ( $mtt eq 'sms' || $mtt eq 'email' ) { + C4::Message->enqueue($letter,$borrower,$mtt); + } + else { + C4::Letters::EnqueueLetter( { + letter => $letter, + borrowernumber => $borrowernumber, + from_address => $admin_email_address, + message_transport_type => $mtt, + } ); + } }; while ( my ( $mtt, $letter_code ) = each %{ $messagingprefs->{transports} } ) { -- 2.1.4