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

(-)a/C4/Letters.pm (-4 / +4 lines)
Lines 1070-1076 sub GetQueuedMessages { Link Here
1070
1070
1071
    my $dbh = C4::Context->dbh();
1071
    my $dbh = C4::Context->dbh();
1072
    my $statement = << 'ENDSQL';
1072
    my $statement = << 'ENDSQL';
1073
SELECT message_id, borrowernumber, subject, content, message_transport_type, status, time_queued
1073
SELECT message_id, borrowernumber, subject, content, message_transport_type, status, time_queued, time_status_changed
1074
FROM message_queue
1074
FROM message_queue
1075
ENDSQL
1075
ENDSQL
1076
1076
Lines 1124-1130 sub GetMessage { Link Here
1124
    return unless $message_id;
1124
    return unless $message_id;
1125
    my $dbh = C4::Context->dbh;
1125
    my $dbh = C4::Context->dbh;
1126
    return $dbh->selectrow_hashref(q|
1126
    return $dbh->selectrow_hashref(q|
1127
        SELECT message_id, borrowernumber, subject, content, metadata, letter_code, message_transport_type, status, time_queued, to_address, from_address, content_type
1127
        SELECT message_id, borrowernumber, subject, content, metadata, letter_code, message_transport_type, status, time_queued, time_status_changed, to_address, from_address, content_type
1128
        FROM message_queue
1128
        FROM message_queue
1129
        WHERE message_id = ?
1129
        WHERE message_id = ?
1130
    |, {}, $message_id );
1130
    |, {}, $message_id );
Lines 1368-1374 sub _is_duplicate { Link Here
1368
        WHERE message_transport_type = ?
1368
        WHERE message_transport_type = ?
1369
        AND borrowernumber = ?
1369
        AND borrowernumber = ?
1370
        AND letter_code = ?
1370
        AND letter_code = ?
1371
        AND CAST(time_queued AS date) = CAST(NOW() AS date)
1371
        AND CAST(time_status_changed AS date) = CAST(NOW() AS date)
1372
        AND status="sent"
1372
        AND status="sent"
1373
        AND content = ?
1373
        AND content = ?
1374
    |, {}, $message->{message_transport_type}, $message->{borrowernumber}, $message->{letter_code}, $message->{content} );
1374
    |, {}, $message->{message_transport_type}, $message->{borrowernumber}, $message->{letter_code}, $message->{content} );
Lines 1419-1425 sub _set_message_status { Link Here
1419
    }
1419
    }
1420
1420
1421
    my $dbh = C4::Context->dbh();
1421
    my $dbh = C4::Context->dbh();
1422
    my $statement = 'UPDATE message_queue SET status= ? WHERE message_id = ?';
1422
    my $statement = 'UPDATE message_queue SET status= ?, time_status_changed = NOW() WHERE message_id = ?';
1423
    my $sth = $dbh->prepare( $statement );
1423
    my $sth = $dbh->prepare( $statement );
1424
    my $result = $sth->execute( $params->{'status'},
1424
    my $result = $sth->execute( $params->{'status'},
1425
                                $params->{'message_id'} );
1425
                                $params->{'message_id'} );
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/members/notices.tt (-2 / +4 lines)
Lines 35-41 Link Here
35
		<th>Notice</th>
35
		<th>Notice</th>
36
		<th>Type</th>
36
		<th>Type</th>
37
		<th>Status</th>
37
		<th>Status</th>
38
		<th>Time</th>
38
        <th>Time status changed</th>
39
        <th>Time created</th>
39
	    </tr>
40
	    </tr>
40
	</thead>
41
	</thead>
41
	<tbody>
42
	<tbody>
Lines 73-78 Link Here
73
            </div>
74
            </div>
74
            [% END %]
75
            [% END %]
75
        </td>
76
        </td>
77
        <td><span title="[% QUEUED_MESSAGE.time_status_changed | html %]">[% QUEUED_MESSAGE.time_status_changed | $KohaDates  with_hours => 1 %]</span></td>
76
        <td><span title="[% QUEUED_MESSAGE.time_queued | html %]">[% QUEUED_MESSAGE.time_queued | $KohaDates  with_hours => 1 %]</span></td>
78
        <td><span title="[% QUEUED_MESSAGE.time_queued | html %]">[% QUEUED_MESSAGE.time_queued | $KohaDates  with_hours => 1 %]</span></td>
77
	    </tr>
79
	    </tr>
78
	    [% END %]
80
	    [% END %]
Lines 98-104 Link Here
98
        $(document).ready(function() {
100
        $(document).ready(function() {
99
            $("#noticestable").dataTable($.extend(true, {}, dataTablesDefaults, {
101
            $("#noticestable").dataTable($.extend(true, {}, dataTablesDefaults, {
100
                "aaSorting": [[ 3, "desc" ]],
102
                "aaSorting": [[ 3, "desc" ]],
101
                "aoColumns": [ null,null,null,{ "sType": "title-string" } ],
103
                "aoColumns": [ null,null,null, { "sType": "title-string" } ,{ "sType": "title-string" } ],
102
                "sPaginationType": "full"
104
                "sPaginationType": "full"
103
            }));
105
            }));
104
106
(-)a/t/db_dependent/Letters.t (-2 / +6 lines)
Lines 18-24 Link Here
18
# along with Koha; if not, see <http://www.gnu.org/licenses>.
18
# along with Koha; if not, see <http://www.gnu.org/licenses>.
19
19
20
use Modern::Perl;
20
use Modern::Perl;
21
use Test::More tests => 69;
21
use Test::More tests => 73;
22
use Test::MockModule;
22
use Test::MockModule;
23
use Test::Warn;
23
use Test::Warn;
24
24
Lines 132-138 is( $messages->[0]->{subject}, $my_message->{letter}->{title}, 'EnqueueLetter st Link Here
132
is( $messages->[0]->{content}, $my_message->{letter}->{content}, 'EnqueueLetter stores the content correctly' );
132
is( $messages->[0]->{content}, $my_message->{letter}->{content}, 'EnqueueLetter stores the content correctly' );
133
is( $messages->[0]->{message_transport_type}, $my_message->{message_transport_type}, 'EnqueueLetter stores the message type correctly' );
133
is( $messages->[0]->{message_transport_type}, $my_message->{message_transport_type}, 'EnqueueLetter stores the message type correctly' );
134
is( $messages->[0]->{status}, 'pending', 'EnqueueLetter stores the status pending correctly' );
134
is( $messages->[0]->{status}, 'pending', 'EnqueueLetter stores the status pending correctly' );
135
isnt( $messages->[0]->{time_queued}, undef, 'Time queued inserted by default in message_queue table' );
136
is( $messages->[0]->{time_status_changed}, undef, 'Time status changed undefined by default in message_queue table' );
135
137
138
my $message_time_queued = $messages->[0]->{time_queued};
136
139
137
# SendQueuedMessages
140
# SendQueuedMessages
138
my $messages_processed = C4::Letters::SendQueuedMessages( { type => 'email' });
141
my $messages_processed = C4::Letters::SendQueuedMessages( { type => 'email' });
Lines 145-150 is( Link Here
145
    'failed',
148
    'failed',
146
    'message marked failed if tried to send SMS message for borrower with no smsalertnumber set (bug 11208)'
149
    'message marked failed if tried to send SMS message for borrower with no smsalertnumber set (bug 11208)'
147
);
150
);
151
isnt($messages->[0]->{time_status_changed}, undef, 'Time status changed set on status change' );
152
is($messages->[0]->{time_queued}, $message_time_queued, 'Time queued remaines inmutable' );
148
153
149
# ResendMessage
154
# ResendMessage
150
my $resent = C4::Letters::ResendMessage($messages->[0]->{message_id});
155
my $resent = C4::Letters::ResendMessage($messages->[0]->{message_id});
151
- 

Return to bug 23673