<% include( 'elements/search.html', 'title' => 'FCC Form 477 Results', 'html_init' => $html_init, 'name' => 'regions', 'query' => $sql_query, 'count_query' => $count_query, 'header' => [ 'State code', 'County code', 'Census tract code', 'Quantity', ], 'fields' => [ sub { my $row = shift; substr($row->censustract, 0, 2) }, sub { my $row = shift; substr($row->censustract, 2, 3) }, sub { my $row = shift; substr($row->censustract, 5) }, 'quantity', ], 'links' => [ [ $link, 'censustract' ], [ $link, 'censustract' ], [ $link, 'censustract' ], [ $link, 'censustract' ], ], ) %> <%init> my $curuser = $FS::CurrentUser::CurrentUser; die "access denied" unless $curuser->access_right('List packages'); my %search_hash = (); $search_hash{'query'} = $cgi->keywords; for ( qw(agentnum magic status classnum) ) { $search_hash{$_} = $cgi->param($_) if $cgi->param($_); } my @report_option = $cgi->param('report_option') if $cgi->param('report_option'); $search_hash{report_option} = join(',', @report_option) if @report_option; my $where = join(' OR ', map { "num = $_" } grep { /^\d+$/ } @report_option ); my @report_option_name = $where ? ( map { $_->name } qsearch({ 'table' => 'part_pkg_report_option', 'hashref' => {}, 'extra_sql' => "WHERE $where", }) ) : ( 'all packages' ); my $html_init = "For
". join(' and
', @report_option_name). "
"; my $sql_query = FS::cust_pkg->search_sql(\%search_hash); $sql_query->{select} = 'count(*) as quantity, censustract'; $sql_query->{extra_sql} =~ /^(.*)(ORDER BY bill)(.*)$/s or die "couldn't parse extra_sql"; $sql_query->{extra_sql} = "$1 GROUP BY censustract $3"; my $count_query = delete($sql_query->{'count_query'}); $count_query = 'SELECT count(*) FROM (SELECT count(*) FROM cust_pkg '. $sql_query->{addl_from}. ' '. $sql_query->{extra_sql}. ') AS foo'; my $link = 'cust_pkg.cgi?'. $cgi->query_string. ';censustract=';