% if ( scalar(@rows) ) {
<% emt('Email sent to this customer') %>
% if ($maxrecords < $total) { <% emt('Showing [_1] most recent of [quant,_2,total message]', $maxrecords, $total) %> (<% emt('view all') %>) % } else { <% emt('[quant,_1,total message]', $total) %> % }
<& /elements/table-grid.html &> <% emt('Date') %> <% emt('Type') %> <% emt('Destination') %> <% emt('Subject') %> % my $i = 0; % foreach my $row (@rows) { % my $onclick = $sub_popup_link->($row); % my $link = qq!!; <% $link %> <% $row->_date ? time2str('%Y-%m-%d %T', $row->_date) : '' %> <% $link %> <% ucfirst($row->msgtype) || $row->msgname %> <% $link %> <% join('
', split(/,\s*/, $row->env_to)) %> <% $row->status %> <% $row->error |h %> % $i = 1 - $i; % }
% } <%init> my %opt = @_; my $curuser = $FS::CurrentUser::CurrentUser; my $cust_main = $opt{'cust_main'} or die "cust_main required"; my $custnum = $cust_main->custnum; my $where = "WHERE cust_msg.custnum = $custnum"; my $maxrecords = 10; if ( $curuser->option('customer_view_emails') =~ /^\s*(\d+)\s*$/ ) { $maxrecords = $1; } my $order_by = '_date DESC'; my $query = { 'table' => 'cust_msg', 'select' => join(', ', 'cust_msg.*', 'msg_template.msgname', ), 'addl_from' => ' LEFT JOIN msg_template USING ( msgnum ) ', 'hashref' => {}, 'extra_sql' => $where, 'order_by' => "ORDER BY $order_by LIMIT $maxrecords", }; my $count_query = "SELECT COUNT(*) FROM cust_msg $where"; my @rows = qsearch($query); my $total = FS::Record->scalar_sql($count_query); my $sub_popup_link = sub { my $custmsgnum = $_[0]->custmsgnum; include('/elements/popup_link_onclick.html', 'action' => $p. 'view/cust_msg.html?' . $custmsgnum, 'actionlabel' => 'Message detail', 'width' => 680, 'height' => 550, ); }; my %color = ( 'failed' => '#FF0000', 'sent' => '#000000', 'invoice' => '#00CC00', 'receipt' => '#0000CC', 'admin' => '#CC0000', '' => '#000000', ); my $statuscolor = sub { $color{$_[0]->status} }; my $typecolor = sub { $color{$_[0]->msgtype} };