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

(-)a/C4/Letters.pm (-2 / +22 lines)
Lines 887-893 sub _get_unsent_messages { Link Here
887
887
888
    my $dbh = C4::Context->dbh();
888
    my $dbh = C4::Context->dbh();
889
    my $statement = << 'ENDSQL';
889
    my $statement = << 'ENDSQL';
890
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
890
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
891
  FROM message_queue mq
891
  FROM message_queue mq
892
  LEFT JOIN borrowers b ON b.borrowernumber = mq.borrowernumber
892
  LEFT JOIN borrowers b ON b.borrowernumber = mq.borrowernumber
893
 WHERE status = ?
893
 WHERE status = ?
Lines 995-1000 $content Link Here
995
EOS
995
EOS
996
}
996
}
997
997
998
sub _is_duplicate {
999
    my ( $message ) = @_;
1000
    my $dbh = C4::Context->dbh;
1001
    my $count = $dbh->selectrow_array(q|
1002
        SELECT COUNT(*)
1003
        FROM message_queue
1004
        WHERE message_transport_type = ?
1005
        AND borrowernumber = ?
1006
        AND letter_code = ?
1007
        AND CAST(time_queued AS date) = CAST(? AS date)
1008
        AND status="sent"
1009
    |, {}, $message->{message_transport_type}, $message->{borrowernumber}, $message->{letter_code}, $message->{time_queued} );
1010
    return $count;
1011
}
1012
998
sub _send_message_by_sms {
1013
sub _send_message_by_sms {
999
    my $message = shift or return;
1014
    my $message = shift or return;
1000
    my $member = C4::Members::GetMember( 'borrowernumber' => $message->{'borrowernumber'} );
1015
    my $member = C4::Members::GetMember( 'borrowernumber' => $message->{'borrowernumber'} );
Lines 1005-1010 sub _send_message_by_sms { Link Here
1005
        return;
1020
        return;
1006
    }
1021
    }
1007
1022
1023
    if ( _is_duplicate( $message ) ) {
1024
        _set_message_status( { message_id => $message->{'message_id'},
1025
                               status     => 'failed' } );
1026
        return;
1027
    }
1028
1008
    my $success = C4::SMS->send_sms( { destination => $member->{'smsalertnumber'},
1029
    my $success = C4::SMS->send_sms( { destination => $member->{'smsalertnumber'},
1009
                                       message     => $message->{'content'},
1030
                                       message     => $message->{'content'},
1010
                                     } );
1031
                                     } );
1011
- 

Return to bug 11209