1 <% include( 'elements/search.html',
2 'html_init' => $html_init,
4 'query' => [ @sql_query ],
5 'count_query' => $count_query,
8 'header' => [ 'zip code' ],
9 'xml_elements' => [ 'zip codes' ],
10 'no_field_elements' => 1,
11 'fields' => [ 'zip' ],
12 'url' => $opt{url} || '',
18 my $curuser = $FS::CurrentUser::CurrentUser;
21 unless $curuser->access_right('List packages');
24 my $html_init = '<H2>Part V</H2>';
29 for ( qw(agentnum magic) ) {
30 $search_hash{$_} = $cgi->param($_) if $cgi->param($_);
32 $search_hash{'classnum'} = [ $cgi->param('classnum') ];
33 $search_hash{report_option} = $cgi->param('partv_report_option')
34 if $cgi->param('partv_report_option');
36 my $sql_query = FS::cust_pkg->search( { %search_hash, 'fcc_line' > 1 });
37 $sql_query->{select} = 'DISTINCT substr(zip,1,5) as zip';
38 $sql_query->{extra_sql} =~ s/ORDER BY [.\w]+//;
39 push @sql_query, $sql_query;
40 push @count_query, delete($sql_query->{'count_query'});
41 $count_query[0] =~ s/COUNT\(\*\)/count(DISTINCT substr(zip,1,5))/;
42 $count_query[0] =~ s/ORDER BY [.\w]+//;
44 $search_hash{report_option} = $cgi->param('partv_report_option')
45 if $cgi->param('partv_report_option');
47 $sql_query = FS::cust_pkg->search( { %search_hash } );
48 $sql_query->{select} = 'DISTINCT substr(zip,1,5) as zip';
49 $sql_query->{extra_sql} =~ s/ORDER BY [.\w]+//;
50 push @sql_query, $sql_query;
51 push @count_query, delete($sql_query->{'count_query'});
52 $count_query[1] =~ s/COUNT\(\*\)/count(DISTINCT substr(zip,1,5))/;
53 $count_query[1] =~ s/ORDER BY [.\w]+//;
54 my $count_query = join(' UNION ', @count_query);