From cb27e3918663fa60f0e21d9fcbd1d2c0b5c7298e Mon Sep 17 00:00:00 2001 From: mark Date: Thu, 9 Feb 2012 04:00:13 +0000 Subject: [PATCH] fix 477 report, #16408 --- httemplate/search/477partV.html | 27 ++++++++------------------- httemplate/search/477partVI_census.html | 6 +++--- httemplate/search/report_477.html | 30 ++++++++++++++++++++++++++---- 3 files changed, 37 insertions(+), 26 deletions(-) diff --git a/httemplate/search/477partV.html b/httemplate/search/477partV.html index 1d21649f5..a30a9bf77 100755 --- a/httemplate/search/477partV.html +++ b/httemplate/search/477partV.html @@ -1,7 +1,7 @@ <% include( 'elements/search.html', 'html_init' => $html_init, 'name' => 'zip code', - 'query' => [ @sql_query ], + 'query' => $sql_query, 'count_query' => $count_query, 'nohtmlheader' => 1, 'disable_total' => 1, @@ -10,6 +10,7 @@ 'no_field_elements' => 1, 'fields' => [ 'zip' ], 'url' => $opt{url} || '', + 'disable_download' => 1, ) %> @@ -33,24 +34,12 @@ $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 }); +my $sql_query = FS::cust_pkg->search( { %search_hash, 'fcc_line' => 1 }); $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 substr(zip,1,5))/; -$count_query[0] =~ s/ORDER BY [.\w]+//; - -$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 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 substr(zip,1,5))/; -$count_query[1] =~ s/ORDER BY [.\w]+//; -my $count_query = join(' UNION ', @count_query); +$sql_query->{order_by} = 'ORDER BY substr(zip,1,5)'; +my $count_query = delete($sql_query->{'count_query'}); +$count_query =~ s/COUNT\(\*\)/count(DISTINCT substr(zip,1,5))/; +$count_query =~ s/ORDER BY [.\w]+//; +warn "\ncount_query:\n$count_query\n\nsql_query:\n".Dumper($sql_query)."\n\n"; diff --git a/httemplate/search/477partVI_census.html b/httemplate/search/477partVI_census.html index 534d872f3..51baef76f 100755 --- a/httemplate/search/477partVI_census.html +++ b/httemplate/search/477partVI_census.html @@ -114,9 +114,9 @@ foreach my $row ( @row_option ) { my $extracolumns = "$rowcount AS upload, $columncount AS download, $tech_code as technology_code"; my $percent = "CASE WHEN count(*) > 0 THEN 100-100*cast(count(cust_main.company) as numeric)/cast(count(*) as numeric) ELSE cast(0 as numeric) END AS residential"; $sql_query->{select} = "count(*) AS quantity, $extracolumns, censustract, $percent"; - $sql_query->{extra_sql} =~ /^(.*)(ORDER BY pkgnum)(.*)$/s - or die "couldn't parse extra_sql"; - $sql_query->{extra_sql} = "$1 GROUP BY censustract $3"; + $sql_query->{order_by} =~ /^(.*)(ORDER BY pkgnum)(.*)$/s + or die "couldn't parse order_by"; + $sql_query->{order_by} = "$1 GROUP BY censustract $3"; push @sql_query, $sql_query; } $columncount++; diff --git a/httemplate/search/report_477.html b/httemplate/search/report_477.html index a36ac39b8..c9d97c5eb 100755 --- a/httemplate/search/report_477.html +++ b/httemplate/search/report_477.html @@ -33,13 +33,23 @@ element.style.display = 'none'; } } + function toggleV() { + document.getElementById('enableV').disabled = + ! (document.getElementById('enableIIA').checked || + document.getElementById('enableIIB').checked); + } + function toggleVI() { + document.getElementById('enableVI').disabled = + ! document.getElementById('enableIA').checked; + } <% include( '/elements/tr-checkbox.html', 'label' => 'Enable part IA?', 'field' => 'part', + 'id' => 'enableIA', 'value' => 'IA', - 'onchange' => 'partchange(this)', + 'onchange' => 'partchange(this); toggleVI();', ) %> @@ -115,8 +125,9 @@ <% include( '/elements/tr-checkbox.html', 'label' => 'Enable part IIA?', 'field' => 'part', + 'id' => 'enableIIA', 'value' => 'IIA', - 'onchange' => 'partchange(this)', + 'onchange' => 'partchange(this); toggleV();', ) %> @@ -144,8 +155,9 @@ <% include( '/elements/tr-checkbox.html', 'label' => 'Enable part IIB?', 'field' => 'part', + 'id' => 'enableIIB', 'value' => 'IIB', - 'onchange' => 'partchange(this)', + 'onchange' => 'partchange(this); toggleV();', ) %> @@ -173,6 +185,7 @@ <% include( '/elements/tr-checkbox.html', 'label' => 'Enable part IV?', 'field' => 'part', + 'id' => 'enableIV', #unused 'value' => 'IV', 'onchange' => 'partchange(this)', ) @@ -193,7 +206,10 @@ 'label' => 'Enable part V?', 'field' => 'part', 'value' => 'V', + 'id' => 'enableV', 'onchange' => 'partchange(this)', + 'postfix' => + ' (requires Part IIA or IIB)', ) %> @@ -213,10 +229,16 @@ <% include( '/elements/tr-checkbox.html', 'label' => 'Enable part VI?', 'field' => 'part', + 'id' => 'enableVI', 'value' => 'VI_census', + 'postfix' => + ' (requires part IA)', ) %> - +
-- 2.11.0