improve speed in customer search, #13364
[freeside.git] / httemplate / search / report_tax.html
index 6e78d35..2ab0e0b 100755 (executable)
@@ -4,29 +4,56 @@
 
 <TABLE>
 
- <% include( '/elements/tr-select-agent.html' ) %>
+% if ( $conf->config('tax-report_groups') ) {
+%   my @lines = $conf->config('tax-report_groups');
+    
+  <TR>
+    <TD ALIGN="right">Tax group</TD>
+    <TD>
+      <SELECT NAME="report_group">
+
+        <OPTION VALUE="">all</OPTION>
+
+%       foreach my $line ( @lines ) {
+%         $line =~ /^\s*(.+)\s+(=|!=)\s+(.*)\s*$/ #or next;
+%           or do { warn "bad report_group line: $line\n"; next; };
+%         my($label, $op, $value) = ($1, $2, $3);
+
+          <OPTION VALUE="<% "$op $value" %>"><% $label %></OPTION>
+%       }
+
+      </SELECT>
+    </TD>
+  </TR>
+
+% }
+
+ <% include( '/elements/tr-select-agent.html', 'disable_empty'=>0 ) %>
 
  <% include( '/elements/tr-input-beginning_ending.html' ) %>
-% my $conf = new FS::Conf;
-%    if ( $conf->exists('enable_taxclasses') ) {
-% 
 
+%    if ( $city ) {
+   <TR>
+     <TD ALIGN="right"><INPUT TYPE="checkbox" NAME="show_cities" VALUE="1"></TD>
+     <TD>Show cities</TD>
+   </TR>
+% } 
+
+%    if ( $conf->exists('enable_taxclasses') ) {
    <TR>
      <TD ALIGN="right"><INPUT TYPE="checkbox" NAME="show_taxclasses" VALUE="1"></TD>
      <TD>Show tax classes</TD>
    </TR>
 % } 
-% my @pkg_class = qsearch('pkg_class', {});
-%    if ( @pkg_class ) {
-% 
 
+% my @pkg_class = qsearch('pkg_class', {});
+% if ( @pkg_class ) {
    <TR>
      <TD ALIGN="right"><INPUT TYPE="checkbox" NAME="show_pkgclasses" VALUE="1"></TD>
      <TD>Show package classes</TD>
    </TR>
 % } 
 
-
 </TABLE>
 
 <BR><INPUT TYPE="submit" VALUE="Get Report">
 </FORM>
 
 <% include('/elements/footer.html') %>
+<%init>
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Financial reports');
+
+my $conf = new FS::Conf;
+
+my $city_sql = "SELECT COUNT(*) FROM cust_main_county
+                  WHERE city != '' AND city IS NOT NULL
+                  LIMIT 1";
+
+my $city_sth = dbh->prepare($city_sql) or die dbh->errstr;
+$city_sth->execute or die $city_sth->errstr;
+my $city = $city_sth->fetchrow_arrayref->[0];
+
+</%init>