Option to ignore old CDRs, RT#81480
[freeside.git] / httemplate / search / report_cust_bill.html
index 79f244f..d26ebdc 100644 (file)
@@ -1,16 +1,40 @@
-<& /elements/header.html, emt('Invoice Report') &>
+<& /elements/header.html, mt($title, @title_arg) &>
 
 <FORM ACTION="cust_bill.html" METHOD="GET">
 <INPUT TYPE="hidden" NAME="magic" VALUE="_date">
+<INPUT TYPE="hidden" NAME="custnum" VALUE="<% $custnum %>">
 
-<TABLE BGCOLOR="#cccccc" CELLSPACING=0
+% unless ( $custnum ) {
+
+  <FONT CLASS="fsinnerbox-title"><% emt('Customer search options') %></FONT>
+  <TABLE CLASS="fsinnerbox">
 
   <& /elements/tr-select-agent.html,
                  'curr_value'    => scalar( $cgi->param('agentnum') ),
-                 'label'         => emt('Invoices for agent: '),
+                 'label'         => emt('Agent'),
                  'disable_empty' => 0,
   &>
 
+  <& /elements/tr-select-cust_main-status.html,
+       'label' => 'Customer status',
+       'field' => 'cust_status',
+  &>
+
+  <& /elements/tr-select-cust_class.html,
+      label         => mt('Customer Class'),
+      field         => 'cust_classnum',
+      multiple      => 1,
+     'pre_options'  => [ 0 => emt('(none)') ],
+  &>
+
+  </TABLE>
+  <BR>
+
+% }
+
+  <FONT CLASS="fsinnerbox-title"><% emt('Invoice search options') %></FONT>
+  <TABLE CLASS="fsinnerbox">
+
   <& /elements/tr-input-beginning_ending.html &>
 
   <& /elements/tr-input-lessthan_greaterthan.html,
                 label   => emt('Owed'),
                 field   => 'owed',
   &>
-  <& /elements/tr-select-payby.html,
-                label   => emt('Payment method:'),
-                payby_type   => 'cust',
-                multiple     => 1,
-                all_selected => 1,
-  &>
+
+% if ( $conf->exists('cust_bill-enable_promised_date') ) {
+  <TR>
+    
+    <TD ALIGN="right" STYLE="vertical-align:text-top">
+      <% emt('Promised payment date:') %></TD>
+    <TD>
+      <INPUT TYPE="checkbox" NAME="promised_date"   CHECKED VALUE="null">
+        <% emt('None') %> <BR>
+      <INPUT TYPE="checkbox" NAME="promised_date"   CHECKED VALUE="past">
+        <% emt('In the past') %><BR>
+      <INPUT TYPE="checkbox" NAME="promised_date"   CHECKED VALUE="future">
+        <% emt('In the future') %><BR>
+    </TD>
+  </TR>
+% }
+
+</TABLE>
+<BR>
+
+<FONT CLASS="fsinnerbox-title"><% emt('Display options') %></FONT>
+<TABLE CLASS="fsinnerbox">
 
   <TR>
     <TD ALIGN="right"><INPUT TYPE="checkbox" NAME="open" VALUE="1" CHECKED></TD>
     <TD><% mt('Show only open invoices') |h %></TD>
   </TR>
+
   <TR>
-    <TD ALIGN="right"><INPUT TYPE="checkbox" NAME="newest_percust" VALUE="1"></TD>
-    <TD><% mt('Show only the single most recent invoice per-customer') |h %></TD>
+    <TD ALIGN="right"><INPUT TYPE="checkbox" NAME="invoiced" VALUE="1"></TD>
+    <TD><% emt('Exclude discounts from gross amount billed'), %></TD>
   </TR>
 
+% unless ( $custnum ) {
+    <TR>
+      <TD ALIGN="right"><INPUT TYPE="checkbox" NAME="newest_percust" VALUE="1"></TD>
+      <TD><% mt('Show only the single most recent invoice per-customer') |h %></TD>
+    </TR>
+% }
+
 </TABLE>
 
 <BR>
 die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right('List invoices');
 
+my $conf = new FS::Conf;
+
+my $title = 'Invoice Report';
+#false laziness w/report_cust_pkg.html
+my @title_arg = ();
+
+my $custnum = '';
+my $cust_main = '';
+if ( $cgi->param('custnum') =~ /^(\d+)$/ ) {
+  $custnum = $1;
+  $cust_main = qsearchs({
+    'table'     => 'cust_main', 
+    'hashref'   => { 'custnum' => $custnum },
+    'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql,
+  }) or die "unknown custnum $custnum";
+  $title .= ': [_1]';
+  push @title_arg, $cust_main->name;
+}
+
 </%init>