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.

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Laura Escamilla <laura.escamilla@bywatersolutions.com>
This commit is contained in:
Baptiste 2025-10-06 11:45:10 +02:00 committed by Laura Escamilla
parent 24b7f4eacb
commit 505e58d1d2
No known key found for this signature in database
GPG Key ID: 6B1D9CA1AF817BC3
1 changed files with 9 additions and 10 deletions

View File

@ -2041,25 +2041,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