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

(-)a/C4/Letters.pm (-2 / +22 lines)
Lines 893-899 sub _get_unsent_messages { Link Here
893
893
894
    my $dbh = C4::Context->dbh();
894
    my $dbh = C4::Context->dbh();
895
    my $statement = << 'ENDSQL';
895
    my $statement = << 'ENDSQL';
896
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
896
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
897
  FROM message_queue mq
897
  FROM message_queue mq
898
  LEFT JOIN borrowers b ON b.borrowernumber = mq.borrowernumber
898
  LEFT JOIN borrowers b ON b.borrowernumber = mq.borrowernumber
899
 WHERE status = ?
899
 WHERE status = ?
Lines 1001-1006 $content Link Here
1001
EOS
1001
EOS
1002
}
1002
}
1003
1003
1004
sub _is_duplicate {
1005
    my ( $message ) = @_;
1006
    my $dbh = C4::Context->dbh;
1007
    my $count = $dbh->selectrow_array(q|
1008
        SELECT COUNT(*)
1009
        FROM message_queue
1010
        WHERE message_transport_type = ?
1011
        AND borrowernumber = ?
1012
        AND letter_code = ?
1013
        AND CAST(time_queued AS date) = CAST(? AS date)
1014
        AND status="sent"
1015
    |, {}, $message->{message_transport_type}, $message->{borrowernumber}, $message->{letter_code}, $message->{time_queued} );
1016
    return $count;
1017
}
1018
1004
sub _send_message_by_sms {
1019
sub _send_message_by_sms {
1005
    my $message = shift or return;
1020
    my $message = shift or return;
1006
    my $member = C4::Members::GetMember( 'borrowernumber' => $message->{'borrowernumber'} );
1021
    my $member = C4::Members::GetMember( 'borrowernumber' => $message->{'borrowernumber'} );
Lines 1011-1016 sub _send_message_by_sms { Link Here
1011
        return;
1026
        return;
1012
    }
1027
    }
1013
1028
1029
    if ( _is_duplicate( $message ) ) {
1030
        _set_message_status( { message_id => $message->{'message_id'},
1031
                               status     => 'failed' } );
1032
        return;
1033
    }
1034
1014
    my $success = C4::SMS->send_sms( { destination => $member->{'smsalertnumber'},
1035
    my $success = C4::SMS->send_sms( { destination => $member->{'smsalertnumber'},
1015
                                       message     => $message->{'content'},
1036
                                       message     => $message->{'content'},
1016
                                     } );
1037
                                     } );
1017
- 

Return to bug 11209