Merge branch 'master' of git.freeside.biz:/home/git/freeside
[freeside.git] / httemplate / search / report_cust_main.html
index b0c5fde..bac4346 100755 (executable)
@@ -1,4 +1,4 @@
-<% include('/elements/header.html', 'Customer Report' ) %>
+<& /elements/header.html, mt('Customer Report') &>
 
 <FORM ACTION="cust_main.html" METHOD="GET">
 <INPUT TYPE="hidden" NAME="magic" VALUE="bill">
   <TABLE BGCOLOR="#cccccc" CELLSPACING=0>
 
     <TR>
-      <TH BGCOLOR="#e8e8e8" COLSPAN=2 ALIGN="left"><FONT SIZE="+1">Search options</FONT></TH>
+      <TH CLASS="background" COLSPAN=2 ALIGN="left"><FONT SIZE="+1"><% mt('Search options') |h %></FONT></TH>
     </TR>
 
-    <% include( '/elements/tr-select-agent.html',
+    <& /elements/tr-select-agent.html,
                   'curr_value'    => scalar($cgi->param('agentnum')),
                   'disable_empty' => 0,
-               )
-    %>
+    &>
+
+    <& /elements/tr-select-cust_main-status.html,
+                  'label' => emt('Status'),
+    &>
+
+    <& /elements/tr-select-cust_class.html,
+                  'label'        => emt('Class'),
+                  'multiple'     => 1,
+                  'pre_options'  => [ '' => emt('(none)') ],
+                  'all_selected' => 1,
+    &>
+
+    <& /elements/tr-select-part_referral.html,
+                  'label'        => emt('Advertising Source'),
+                  'multiple'     => 1,
+                  #no, causes customers with disabled ones to disappear
+                  #'all_selected' => 1,
+    &>
 
-    <% include( '/elements/tr-select-cust_main-status.html',
-                  'label' => 'Status'
-              )
-    %>
+    <TR>
+      <TD ALIGN="right" VALIGN="center"><% mt('Address') |h %></TD>
+      <TD><INPUT TYPE="text" NAME="address" SIZE=54></TD>
+    </TR>
+    
+    <TR>
+      <TD ALIGN="right" VALIGN="center"><% mt('Zip') |h %></TD>
+      <TD><INPUT TYPE="text" NAME="zip" SIZE=12></TD>
+    </TR>
 
+    <TR>
+        <TD ALIGN="right" VALIGN="center"><% mt('Signup date') |h %></TD>
+        <TD>
+        <TABLE>
+            <& /elements/tr-input-beginning_ending.html,
+                      prefix   => 'signupdate',
+                      layout   => 'horiz',
+            &>
+        </TABLE>
+        </TD>
+    </TR>
 
-%   foreach my $field (qw( signupdate )) {
+%    if ( $conf->exists('cust_main-enable_birthdate') ) {
+      <TR>
+          <TD ALIGN="right" VALIGN="center"><% mt('Date of Birth') |h %></TD>
+          <TD>
+          <TABLE>
+              <& /elements/tr-input-beginning_ending.html,
+                        prefix   => 'birthdate',
+                        layout   => 'horiz',
+              &>
+          </TABLE>
+          </TD>
+      </TR>
+%   }
 
+%    if ( $conf->exists('cust_main-enable_spouse_birthdate') ) {
       <TR>
-        <TD ALIGN="right" VALIGN="center"><% $label{$field} %></TD>
-        <TD>
+          <TD ALIGN="right" VALIGN="center"><% mt('Spouse Date of Birth') |h %></TD>
+          <TD>
           <TABLE>
-            <% include( '/elements/tr-input-beginning_ending.html',
-                          prefix   => $field,
-                          layout   => 'horiz',
-                      )
-            %>
+              <& /elements/tr-input-beginning_ending.html,
+                        prefix   => 'spouse_birthdate',
+                        layout   => 'horiz',
+              &>
           </TABLE>
-        </TD>
+          </TD>
       </TR>
+%   }
 
+%    if ( $conf->exists('cust_main-enable_anniversary_date') ) {
+      <TR>
+          <TD ALIGN="right" VALIGN="center"><% mt('Anniversary Date') |h %></TD>
+          <TD>
+          <TABLE>
+              <& /elements/tr-input-beginning_ending.html,
+                        prefix   => 'anniversary_date',
+                        layout   => 'horiz',
+              &>
+          </TABLE>
+          </TD>
+      </TR>
 %   }
 
-    <% include( '/elements/tr-select-payby.html',
-                  'payby_type' => 'cust',
-                  'multiple'   => 1,
-                  'curr_value' => { map { $_ => 1 } FS::payby->cust_payby },
-              )
-    %>
+      <TR>
+        <TD ALIGN="right">Tags</TD>
+        <TD>
+            <& /elements/select-cust_tag.html,
+                          'cgi'                => $cgi,
+                          'is_report'   => 1,
+                          'multiple'    => 1,
+            &>
+          <DIV STYLE="display:inline-block; vertical-align:baseline">
+            <INPUT TYPE="radio" NAME="all_tags" VALUE="0" CHECKED> Any of these
+            <BR>
+            <INPUT TYPE="radio" NAME="all_tags" VALUE="1"> All of these
+          </DIV>
+        </TD>
+      </TR>
+
+    <& /elements/tr-select-payby.html,
+                  'payby_type'   => 'cust',
+                  'multiple'     => 1,
+                  'all_selected' => 1,
+    &>
+
+    <TR>
+      <TD ALIGN="right"><% mt('Payment expiration before') |h %></TD>
+      <TD>
+        <SELECT NAME="paydate_month" DISABLED>
+%         foreach my $month ( 1 .. 12 ) {
+            <OPTION VALUE="<% $month %>"><% $month %></OPTION>
+%         }
+        </SELECT>
+        /
+        <SELECT NAME="paydate_year" onChange="paydate_year_changed(this);">
+          <OPTION VALUE=""></OPTION>
+%         my $lastyear = (localtime(time))[5] + 1899;
+%         foreach my $year ( $lastyear .. $lastyear+12 ) {
+            <OPTION VALUE="<% $year %>"><% $year %></OPTION>
+%         }
+        </SELECT>
+      </TD>
+    </TR>
+
+    <SCRIPT TYPE="text/javascript">
+      function paydate_year_changed(what) {
+        var value = what.options[what.selectedIndex].value;
+        var month_select = what.form.paydate_month;
+        if ( value == '' ) {
+          month_select.disabled = true;
+        } else {
+          month_select.disabled = false;
+        }
+      }
+    </SCRIPT>
+    <TR>
+      <TD ALIGN="right"><% mt('Invoice terms') |h %></TD>
+      <TD>
+        <& /elements/select-terms.html,
+                      'pre_options' => [ '' => emt('all') ],
+                      'empty_value' => 'NULL',
+        &>
+      </TD>
+    </TR>
     
-    <% include( '/elements/tr-input-lessthan_greaterthan.html',
-                  label   => 'Current balance',
+    <& /elements/tr-input-lessthan_greaterthan.html,
+                  label   => emt('Current balance'),
                   field   => 'current_balance',
-              )
-    %>
+    &>
 
     <TR>
-      <TD ALIGN="right" VALIGN="center">Include cancelled packages</TD>
-        <TD><INPUT TYPE="checkbox" NAME="cancelled_pkgs"></TD>
+      <TD ALIGN="right" VALIGN="center"><% mt('Without census tract') |h %></TD>
+        <TD><INPUT TYPE="checkbox" NAME="no_censustract"></TD>
+    </TR>
+
+%   if ( $conf->exists('enable_taxproducts') ) {
+
+      <TR>
+        <TD ALIGN="right" VALIGN="center"><% mt('With hardcoded tax location') |h %></TD>
+          <TD><INPUT TYPE="checkbox" NAME="with_geocode"></TD>
+      </TR>
+
+%   }
+
+    <TR>
+      <TD ALIGN="right" VALIGN="center"><% mt('With email address(es)') |h %></TD>
+        <TD><INPUT TYPE="checkbox" NAME="with_email"></TD>
+    </TR>
+
+    <TR>
+      <TD ALIGN="right" VALIGN="center"><% mt('With postal mail invoices') |h %></TD>
+        <TD><INPUT TYPE="checkbox" NAME="POST" ID="POST" onClick="POST_changed();"></TD>
     </TR>
 
     <TR>
-      <TH BGCOLOR="#e8e8e8" COLSPAN=2>&nbsp;</TH>
+      <TD ALIGN="right" VALIGN="center"><% mt('Without postal mail invoices') |h %></TD>
+        <TD><INPUT TYPE="checkbox" NAME="no_POST" ID="no_POST" onClick="no_POST_changed();"></TD>
     </TR>
 
+    <SCRIPT TYPE="text/javascript">
+      function POST_changed() {
+        if ( document.getElementById('POST').checked == true ) {
+          document.getElementById('no_POST').checked = false;
+        }
+      }
+      function no_POST_changed() {
+        if ( document.getElementById('no_POST').checked == true ) {
+          document.getElementById('POST').checked = false;
+        }
+      }
+    </SCRIPT>
+
     <TR>
-      <TH BGCOLOR="#e8e8e8" COLSPAN=2 ALIGN="left"><FONT SIZE="+1">Display options</FONT></TH>
+      <TH CLASS="background" COLSPAN=2>&nbsp;</TH>
     </TR>
-    <% include( '/elements/tr-select-cust-fields.html' ) %>
 
     <TR>
-      <TD ALIGN="right" VALIGN="center">Add package columns</TD>
+      <TH CLASS="background" COLSPAN=2 ALIGN="left"><FONT SIZE="+1"><% mt('Display options') |h %></FONT></TH>
+    </TR>
+    <& /elements/tr-select-cust-fields.html &>
+
+    <TR>
+      <TD ALIGN="right" VALIGN="center"><% mt('Add package columns') |h %></TD>
         <TD><INPUT TYPE="checkbox" NAME="flattened_pkgs"></TD>
     </TR>
+
+    <TR>
+      <TD ALIGN="right" VALIGN="center"><% mt('Include cancelled packages') |h %></TD>
+        <TD><INPUT TYPE="checkbox" NAME="cancelled_pkgs"></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 customers') &&
-           $FS::CurrentUser::CurrentUser->access_right('List packages')
-         );;
+  unless $FS::CurrentUser::CurrentUser->access_right('Advanced customer search');
 
-</%init>
-<%once>
-
-my %label = (
-  'signupdate'     => 'Signup date',
-);
+my $conf = new FS::Conf;
 
-</%once>
+</%init>