From 0db595f05e7c43bacbb6fff7289615176876cbdd Mon Sep 17 00:00:00 2001 From: Baptiste Date: Mon, 6 Oct 2025 11:45:10 +0200 Subject: [PATCH] Bug 40960: Print notification only if selected type is impossible Test plan (ktd): 1 - Have henry acevedo have no mail and set messaging preference "Hold filled to sms" 2 - Have edna acosta have not messaging preference 3 - Place an hold on two books for edna acosta and henry acevedo, check in both books and select the button to fill the hold 4 - Check in notices and see that both received a notice 5 - Apply tests and run tests -> they should fail 6 - Apply patch, run rest -> they should pass 7 - Unfill both holds and fill them back. Henry should keep receiving notices while Edna should not anymore. --- C4/Reserves.pm | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index 7d6c106ceae..d1bee8636d6 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -2037,25 +2037,24 @@ sub _koha_notify_reserve { }; while ( my ( $mtt, $letter_code ) = each %{ $messagingprefs->{transports} } ) { - next - if ( + if ( ( $mtt eq 'email' and not $to_address ) # No email address or ( $mtt eq 'sms' and not $patron->smsalertnumber ) # No SMS number or ( $mtt eq 'itiva' and C4::Context->preference('TalkingTechItivaPhoneNotification') ) # Notice is handled by TalkingTech_itiva_outbound.pl or ( $mtt eq 'phone' and not $patron->phone ) # No phone number to call - ); + ) + { + unless ($notification_sent) { + $notification_sent++; + &$send_notification( 'print', 'HOLD' ); + } + next; + } &$send_notification( $mtt, $letter_code, $messagingprefs->{wants_digest} ); - $notification_sent++; - } - - #Making sure that a print notification is sent if no other transport types can be utilized. - if ( !$notification_sent ) { - &$send_notification( 'print', 'HOLD' ); } - } =head2 _koha_notify_hold_changed -- 2.43.0