add per-customer "Invoice reports" link, RT#13802
[freeside.git] / httemplate / search / 477partV.html
index c6ceac4..1d21649 100755 (executable)
@@ -9,7 +9,7 @@
                   'xml_elements'      => [ 'zip codes' ],
                   'no_field_elements' => 1,
                   'fields'            => [ 'zip' ],
-                  'url'               => $opt{url} || $cgi->self_url,
+                  'url'               => $opt{url} || '',
 
               )
 %>
@@ -26,27 +26,30 @@ my %search_hash = ();
 my @sql_query = ();
 my @count_query = ();
   
-for ( qw(agentnum magic classnum) ) {
+for ( qw(agentnum magic) ) {
   $search_hash{$_} = $cgi->param($_) if $cgi->param($_);
 }
+$search_hash{'classnum'} = [ $cgi->param('classnum') ];
+$search_hash{report_option} = $cgi->param('partv_report_option')
+  if $cgi->param('partv_report_option');
 
 my $sql_query = FS::cust_pkg->search( { %search_hash, 'fcc_line' > 1 });
-$sql_query->{select} = 'DISTINCT zip';
+$sql_query->{select} = 'DISTINCT substr(zip,1,5) as zip';
 $sql_query->{extra_sql} =~ s/ORDER BY [.\w]+//;
 push @sql_query, $sql_query;
 push @count_query, delete($sql_query->{'count_query'});
-$count_query[0] =~ s/count\(\*\)/count(DISTINCT zip)/;
+$count_query[0] =~ s/COUNT\(\*\)/count(DISTINCT substr(zip,1,5))/;
 $count_query[0] =~ s/ORDER BY [.\w]+//;
 
-$search_hash{classnum} = $cgi->param('part2a_classnum')
-  if $cgi->param('part2a_classnum');
+$search_hash{report_option} = $cgi->param('partv_report_option')
+  if $cgi->param('partv_report_option');
 
 $sql_query = FS::cust_pkg->search( { %search_hash } );
-$sql_query->{select} = 'DISTINCT zip';
+$sql_query->{select} = 'DISTINCT substr(zip,1,5) as zip';
 $sql_query->{extra_sql} =~ s/ORDER BY [.\w]+//;
 push @sql_query, $sql_query;
 push @count_query, delete($sql_query->{'count_query'});
-$count_query[1] =~ s/count\(\*\)/count(DISTINCT zip)/;
+$count_query[1] =~ s/COUNT\(\*\)/count(DISTINCT substr(zip,1,5))/;
 $count_query[1] =~ s/ORDER BY [.\w]+//;
 my $count_query = join(' UNION ', @count_query);