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

(-)a/C4/Letters.pm (-2 / +22 lines)
Lines 916-922 sub _get_unsent_messages { Link Here
916
916
917
    my $dbh = C4::Context->dbh();
917
    my $dbh = C4::Context->dbh();
918
    my $statement = << 'ENDSQL';
918
    my $statement = << 'ENDSQL';
919
SELECT mq.message_id, mq.borrowernumber, mq.subject, mq.content, mq.message_transport_type, mq.status, mq.time_queued, mq.from_address, mq.to_address, mq.content_type, b.branchcode
919
SELECT mq.message_id, mq.borrowernumber, mq.subject, mq.content, mq.message_transport_type, mq.status, mq.time_queued, mq.from_address, mq.to_address, mq.content_type, b.branchcode, mq.letter_code
920
  FROM message_queue mq
920
  FROM message_queue mq
921
  LEFT JOIN borrowers b ON b.borrowernumber = mq.borrowernumber
921
  LEFT JOIN borrowers b ON b.borrowernumber = mq.borrowernumber
922
 WHERE status = ?
922
 WHERE status = ?
Lines 1024-1029 $content Link Here
1024
EOS
1024
EOS
1025
}
1025
}
1026
1026
1027
sub _is_duplicate {
1028
    my ( $message ) = @_;
1029
    my $dbh = C4::Context->dbh;
1030
    my $count = $dbh->selectrow_array(q|
1031
        SELECT COUNT(*)
1032
        FROM message_queue
1033
        WHERE message_transport_type = ?
1034
        AND borrowernumber = ?
1035
        AND letter_code = ?
1036
        AND CAST(time_queued AS date) = CAST(? AS date)
1037
        AND status="sent"
1038
    |, {}, $message->{message_transport_type}, $message->{borrowernumber}, $message->{letter_code}, $message->{time_queued} );
1039
    return $count;
1040
}
1041
1027
sub _send_message_by_sms {
1042
sub _send_message_by_sms {
1028
    my $message = shift or return;
1043
    my $message = shift or return;
1029
    my $member = C4::Members::GetMember( 'borrowernumber' => $message->{'borrowernumber'} );
1044
    my $member = C4::Members::GetMember( 'borrowernumber' => $message->{'borrowernumber'} );
Lines 1034-1039 sub _send_message_by_sms { Link Here
1034
        return;
1049
        return;
1035
    }
1050
    }
1036
1051
1052
    if ( _is_duplicate( $message ) ) {
1053
        _set_message_status( { message_id => $message->{'message_id'},
1054
                               status     => 'failed' } );
1055
        return;
1056
    }
1057
1037
    my $success = C4::SMS->send_sms( { destination => $member->{'smsalertnumber'},
1058
    my $success = C4::SMS->send_sms( { destination => $member->{'smsalertnumber'},
1038
                                       message     => $message->{'content'},
1059
                                       message     => $message->{'content'},
1039
                                     } );
1060
                                     } );
1040
- 

Return to bug 11209