View | Details | Raw Unified | Return to bug 18990
Collapse All | Expand All

(-)a/C4/Letters.pm (-2 / +2 lines)
Lines 1055-1066 sub SendQueuedMessages { Link Here
1055
                    _set_message_status( { message_id => $message->{'message_id'}, status => 'failed' } );
1055
                    _set_message_status( { message_id => $message->{'message_id'}, status => 'failed' } );
1056
                    next MESSAGE;
1056
                    next MESSAGE;
1057
                }
1057
                }
1058
                $message->{to_address} ||= $patron->smsalertnumber;
1058
                unless ( $patron->smsalertnumber ) {
1059
                unless ( $message->{to_address} && $patron->smsalertnumber ) {
1060
                    _set_message_status( { message_id => $message->{'message_id'}, status => 'failed' } );
1059
                    _set_message_status( { message_id => $message->{'message_id'}, status => 'failed' } );
1061
                    warn sprintf( "No smsalertnumber found for patron %s!", $message->{'borrowernumber'} ) if $params->{'verbose'} or $debug;
1060
                    warn sprintf( "No smsalertnumber found for patron %s!", $message->{'borrowernumber'} ) if $params->{'verbose'} or $debug;
1062
                    next MESSAGE;
1061
                    next MESSAGE;
1063
                }
1062
                }
1063
                $message->{to_address}  = $patron->smsalertnumber; #Sometime this is set to email - sms should always use smsalertnumber
1064
                $message->{to_address} .= '@' . $sms_provider->domain();
1064
                $message->{to_address} .= '@' . $sms_provider->domain();
1065
                _update_message_to_address($message->{'message_id'},$message->{to_address});
1065
                _update_message_to_address($message->{'message_id'},$message->{to_address});
1066
                _send_message_by_email( $message, $params->{'username'}, $params->{'password'}, $params->{'method'} );
1066
                _send_message_by_email( $message, $params->{'username'}, $params->{'password'}, $params->{'method'} );
(-)a/t/db_dependent/Letters.t (-3 / +11 lines)
Lines 629-635 subtest 'TranslateNotices' => sub { Link Here
629
629
630
subtest 'SendQueuedMessages' => sub {
630
subtest 'SendQueuedMessages' => sub {
631
631
632
    plan tests => 2;
632
    plan tests => 3;
633
    t::lib::Mocks::mock_preference( 'SMSSendDriver', 'Email' );
633
    t::lib::Mocks::mock_preference( 'SMSSendDriver', 'Email' );
634
    my $patron = Koha::Patrons->find($borrowernumber);
634
    my $patron = Koha::Patrons->find($borrowernumber);
635
    $dbh->do(q|
635
    $dbh->do(q|
Lines 648-653 subtest 'SendQueuedMessages' => sub { Link Here
648
        borrowernumber => $borrowernumber,
648
        borrowernumber => $borrowernumber,
649
        status => 'sent'
649
        status => 'sent'
650
    })->next()->to_address();
650
    })->next()->to_address();
651
    is( $sms_message_address, '5555555555@kidclamp.rocks', 'SendQueuedMessages populates the to address correctly for SMS by email' );
651
    is( $sms_message_address, '5555555555@kidclamp.rocks', 'SendQueuedMessages populates the to address correctly for SMS by email when to_address not set' );
652
    $schema->resultset('MessageQueue')->search({borrowernumber => $borrowernumber,status => 'sent'})->delete(); #clear borrower queue
653
    $my_message->{to_address} = 'fixme@kidclamp.iswrong';
654
    $message_id = C4::Letters::EnqueueLetter($my_message);
655
    C4::Letters::SendQueuedMessages();
656
    $sms_message_address = $schema->resultset('MessageQueue')->search({
657
        borrowernumber => $borrowernumber,
658
        status => 'sent'
659
    })->next()->to_address();
660
    is( $sms_message_address, '5555555555@kidclamp.rocks', 'SendQueuedMessages populates the to address correctly for SMS by email when to_address is set incorrectly' );
652
661
653
};
662
};
654
- 

Return to bug 18990