summaryrefslogtreecommitdiff
path: root/httemplate/search/477partV.html
blob: c6ceac4db6fde8bd66c5111007b4e3603ab5e022 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<% include( 'elements/search.html',
                  'html_init'         => $html_init,
                  'name'              => 'zip code',
                  'query'             => [ @sql_query ],
                  'count_query'       => $count_query,
                  'nohtmlheader'      => 1,
                  'disable_total'     => 1,
                  'header'            => [ 'zip code' ],
                  'xml_elements'      => [ 'zip codes' ],
                  'no_field_elements' => 1,
                  'fields'            => [ 'zip' ],
                  'url'               => $opt{url} || $cgi->self_url,

              )
%>
<%init>

my $curuser = $FS::CurrentUser::CurrentUser;

die "access denied"
  unless $curuser->access_right('List packages');

my %opt = @_;
my $html_init = '<H2>Part V</H2>';
my %search_hash = ();
my @sql_query = ();
my @count_query = ();
  
for ( qw(agentnum magic classnum) ) {
  $search_hash{$_} = $cgi->param($_) if $cgi->param($_);
}

my $sql_query = FS::cust_pkg->search( { %search_hash, 'fcc_line' > 1 });
$sql_query->{select} = 'DISTINCT 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/ORDER BY [.\w]+//;

$search_hash{classnum} = $cgi->param('part2a_classnum')
  if $cgi->param('part2a_classnum');

$sql_query = FS::cust_pkg->search( { %search_hash } );
$sql_query->{select} = 'DISTINCT 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/ORDER BY [.\w]+//;
my $count_query = join(' UNION ', @count_query);

</%init>