summaryrefslogtreecommitdiff
path: root/httemplate/search
diff options
context:
space:
mode:
authormark <mark>2011-05-20 20:19:44 +0000
committermark <mark>2011-05-20 20:19:44 +0000
commitbb119c4cc86e906f698a205437790bd8f96bb3d0 (patch)
tree5d9f3d66aeb07dba0fa522e28c68ebb5095f71db /httemplate/search
parent7091372fa4580cc041feb25263ac3c1d67c59e3f (diff)
logging of template-generated mail, #12809
Diffstat (limited to 'httemplate/search')
-rw-r--r--httemplate/search/cust_msg.html122
1 files changed, 122 insertions, 0 deletions
diff --git a/httemplate/search/cust_msg.html b/httemplate/search/cust_msg.html
new file mode 100644
index 000000000..7932ab3a2
--- /dev/null
+++ b/httemplate/search/cust_msg.html
@@ -0,0 +1,122 @@
+<& 'elements/search.html',
+ 'title' => $title,
+ 'name' => 'messages',
+ 'query' => $query,
+ 'count_query' => $count_query,
+ 'header' => [
+ 'Date',
+ 'Template',
+ 'Destination',
+ 'Status',
+ '', #error
+ ],
+ 'fields' => [
+ sub {
+ my $date = $_[0]->_date;
+ $date ? time2str('%Y-%m-%d %T',$_[0]->_date) : ''
+ },
+ 'msgname',
+ 'env_to',
+ 'status',
+ sub { encode_entities($_[0]->error) },
+ ],
+ 'align' => 'rllcl',
+ 'links' => [ ],
+ 'link_onclicks' => [
+ $sub_popup_link,
+ $sub_popup_link,
+ $sub_popup_link,
+ '',
+ '',
+ ],
+ 'color' => [ ('') x 3,
+ $statuscolor,
+ $statuscolor,
+ ],
+ 'html_init' => $html_init,
+ 'really_disable_download' => 1,
+&>
+<%init>
+#hmm...
+die "access denied"
+ unless $FS::CurrentUser::CurrentUser->access_right('View customers of all agents');
+
+my $conf = new FS::Conf;
+
+my $title = 'Outgoing Message Log';
+
+my @where;
+if ( $cgi->param('status') =~ /^(\w+)$/ ) {
+ push @where, "status = '$1'";
+}
+my ($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi, '');
+push @where, "(_date >= $beginning AND _date <= $ending)";
+
+my $order_by = '_date';
+if ( $cgi->param('order_by') =~ /^(\w+)$/ ) {
+ $order_by = $1;
+}
+
+my $where = '';
+$where = ' WHERE '.join(' AND ', @where) if @where;
+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",
+};
+my $count_query = 'SELECT COUNT(*) FROM cust_msg'.$where;
+
+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' => 600,
+ 'height' => 500,
+ );
+};
+
+my %color = (
+ 'prepared' => '0000FF',
+ 'failed' => 'FF0000',
+ 'sent' => '',
+);
+my $statuscolor = sub { $color{$_[0]->status} };
+
+my $html_init = qq!<FORM ACTION="$p/search/cust_msg.html" METHOD="GET">
+<TABLE cellspacing="10">!.
+'<TR><TD>From '.
+include('/elements/input-date-field.html',
+ { 'name' => 'beginning', 'value' => $cgi->param('beginning') }
+).
+'</TD><TD> To '.
+include('/elements/input-date-field.html',
+ { 'name' => 'ending', 'value' => ($cgi->param('ending') || ''),
+ 'noinit' => 1, }
+).
+'</TD><TD> Status '.
+include('/elements/select.html',
+ 'field' => 'status',
+ 'curr_value' => $cgi->param('status') || '',
+ 'options' => [ '', 'failed', 'sent', 'prepared' ],
+ 'labels' => { '' => '(any)',
+ 'failed' => 'failed',
+ 'sent' => 'sent',
+ 'prepared'=> 'prepared' },
+) .
+'</TD>
+<TD><INPUT type="submit" value="Search"></TD></TR>
+</TABLE></FORM><BR>
+<STYLE type="text/css">
+a:link {text-decoration: none}
+a:visited {text-decoration: none}
+a:hover {text-decoration: underline}
+</STYLE>';
+
+</%init>