promised payment date for invoices, #13554
[freeside.git] / httemplate / search / report_cust_bill.html
index f1b7bfa..51618fb 100644 (file)
-<%= include('/elements/header.html', 'Invoice report criteria' ) %>
+<& /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>
-  <%= include( '/elements/tr-select-agent.html',
-                 $cgi->param('agentnum'),
-                 'label' => 'Invoices for agent: ',
-             )
-  %>
-  <%= include( '/elements/tr-input-beginning_ending.html' ) %>
+<TABLE BGCOLOR="#cccccc" CELLSPACING=0
+
+% unless ( $custnum ) {
+  <& /elements/tr-select-agent.html,
+                 'curr_value'    => scalar( $cgi->param('agentnum') ),
+                 'label'         => emt('Invoices for agent: '),
+                 'disable_empty' => 0,
+  &>
+% }
+
+  <& /elements/tr-input-beginning_ending.html &>
+
+  <& /elements/tr-input-lessthan_greaterthan.html,
+                label   => emt('Charged'),
+                field   => 'charged',
+  &>
+
+  <& /elements/tr-input-lessthan_greaterthan.html,
+                label   => emt('Owed'),
+                field   => 'owed',
+  &>
+
+% if ( $cust_main ) {
+  <INPUT TYPE="hidden" NAME="payby" VALUE="<% $cust_main->payby %>">
+% } else {
+  <& /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>
+% }
+
+<TR>
     <TD ALIGN="right"><INPUT TYPE="checkbox" NAME="open" VALUE="1" CHECKED></TD>
-    <TD>Show only open invoices</TD>
+    <TD><% mt('Show only open invoices') |h %></TD>
   </TR>
+
+% unless ( $custnum ) {
   <TR>
     <TD ALIGN="right"><INPUT TYPE="checkbox" NAME="newest_percust" VALUE="1"></TD>
-    <TD>Show only the single most recent invoice per-customer</TD>
+    <TD><% mt('Show only the single most recent invoice per-customer') |h %></TD>
   </TR>
+% }
+
+
 </TABLE>
 
 <BR>
-<INPUT TYPE="submit" VALUE="Get Report">
+<INPUT TYPE="submit" VALUE="<% mt('Get Report') |h %>">
 
 </FORM>
 
-<%= include('/elements/footer.html') %>
+<& /elements/footer.html &>
+<%init>
+
+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>