promised payment date for invoices, #13554
[freeside.git] / httemplate / search / report_cust_bill.html
index 0f6e681..51618fb 100644 (file)
-  <HEAD>
-    <TITLE>Invoice report criteria</TITLE>
-    <LINK REL="stylesheet" TYPE="text/css" HREF="../elements/calendar-win2k-2.css" TITLE="win2k-2">
-    <SCRIPT TYPE="text/javascript" SRC="../elements/calendar_stripped.js"></SCRIPT>
-    <SCRIPT TYPE="text/javascript" SRC="../elements/calendar-en.js"></SCRIPT>
-    <SCRIPT TYPE="text/javascript" SRC="../elements/calendar-setup.js"></SCRIPT>
-  </HEAD>
-  <BODY BGCOLOR="#e8e8e8">
-    <H1>Invoice report criteria</H1>
-    <FORM ACTION="cust_bill.html" METHOD="GET">
-    <INPUT TYPE="hidden" NAME="magic" VALUE="_date">
-    <TABLE>
-      <TR>
-        <TD ALIGN="right">for agent: </TD>
-        <TD><SELECT NAME="agentnum">
-              <OPTION VALUE="">all</OPTION>
-              <% foreach my $agent ( qsearch('agent', { disabled=>'' } ) ) { %>
-                <OPTION VALUE="<%= $agent->agentnum %>"<%= $cgi->param('agentnum') == $agent->agentnum ? ' SELECTED' : '' %>><%= $agent->agent %>
-              <% } %>
-            </SELECT>
-        </TD>
-      </TR>
-      <TR>
-        <TD ALIGN="right">From: </TD>
-        <TD><INPUT TYPE="text" NAME="beginning" ID="beginning_text" VALUE="" SIZE=11 MAXLENGTH=10> <IMG SRC="../images/calendar.png" ID="beginning_button" STYLE="cursor: pointer" TITLE="Select date"><BR><i>m/d/y</i></TD>
-<SCRIPT TYPE="text/javascript">
-  Calendar.setup({
-    inputField: "beginning_text",
-    ifFormat:   "%m/%d/%Y",
-    button:     "beginning_button",
-    align:      "BR"
-  });
-</SCRIPT>
-      </TR>
-      <TR>
-        <TD ALIGN="right">To: </TD>
-        <TD><INPUT TYPE="text" NAME="ending" ID="ending_text" VALUE="" SIZE=11 MAXLENGTH=10> <IMG SRC="../images/calendar.png" ID="ending_button" STYLE="cursor: pointer" TITLE="Select date"><BR><i>m/d/y</i></TD>
-<SCRIPT TYPE="text/javascript">
-  Calendar.setup({
-    inputField: "ending_text",
-    ifFormat:   "%m/%d/%Y",
-    button:     "ending_button",
-    align:      "BR"
-  });
-</SCRIPT>
-      </TR>
-      <TR>
-        <TD ALIGN="right"><INPUT TYPE="checkbox" NAME="open" VALUE="1" CHECKED></TD>
-        <TD>Show only open invoices</TD>
-      </TR>
-      <TR>
-        <TD ALIGN="right"><INPUT TYPE="checkbox" NAME="newest_percust" VALUE="1"></TD>
-        <TD>Show only the single most recent invoice per-customer</TD>
-      </TR>
-    </TABLE>
-    <BR><INPUT TYPE="submit" VALUE="Get Report">
-    </FORM>
-  </BODY>
-</HTML>
+<& /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 ) {
+  <& /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><% mt('Show only open invoices') |h %></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>
+<INPUT TYPE="submit" VALUE="<% mt('Get Report') |h %>">
+
+</FORM>
+
+<& /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>