fix 477 report, #16408
authormark <mark>
Thu, 9 Feb 2012 04:00:13 +0000 (04:00 +0000)
committermark <mark>
Thu, 9 Feb 2012 04:00:13 +0000 (04:00 +0000)
httemplate/search/477partV.html
httemplate/search/477partVI_census.html
httemplate/search/report_477.html

index 1d21649..a30a9bf 100755 (executable)
@@ -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";
 </%init>
index 534d872..51baef7 100755 (executable)
@@ -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++;
index a36ac39..c9d97c5 100755 (executable)
           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;
+      }
     </SCRIPT>
 
     <% include( '/elements/tr-checkbox.html',
                    'label' => 'Enable part IA?',
                    'field' => 'part',
+                   'id'    => 'enableIA',
                    'value' => 'IA',
-                   'onchange' => 'partchange(this)',
+                   'onchange' => 'partchange(this); toggleVI();',
                )
     %>
 
     <% include( '/elements/tr-checkbox.html',
                    'label' => 'Enable part IIA?',
                    'field' => 'part',
+                   'id'    => 'enableIIA',
                    'value' => 'IIA',
-                   'onchange' => 'partchange(this)',
+                   'onchange' => 'partchange(this); toggleV();',
                )
     %>
 
     <% include( '/elements/tr-checkbox.html',
                    'label' => 'Enable part IIB?',
                    'field' => 'part',
+                   'id'    => 'enableIIB',
                    'value' => 'IIB',
-                   'onchange' => 'partchange(this)',
+                   'onchange' => 'partchange(this); toggleV();',
                )
     %>
 
     <% include( '/elements/tr-checkbox.html',
                    'label' => 'Enable part IV?',
                    'field' => 'part',
+                   'id'    => 'enableIV', #unused
                    'value' => 'IV',
                    'onchange' => 'partchange(this)',
                )
                    'label' => 'Enable part V?',
                    'field' => 'part',
                    'value' => 'V',
+                   'id'    => 'enableV',
                    'onchange' => 'partchange(this)',
+                   'postfix'  => 
+                    '&nbsp;<FONT SIZE="-1">(requires Part IIA or IIB)</FONT>',
                )
     %>
     <TR id='partV' style="display:none">
     <% include( '/elements/tr-checkbox.html',
                    'label' => 'Enable part VI?',
                    'field' => 'part',
+                   'id'    => 'enableVI',
                    'value' => 'VI_census',
+                   'postfix'  =>
+                    '&nbsp;<FONT SIZE="-1">(requires part IA)</FONT>',
                )
     %>
-
+  <SCRIPT TYPE="text/javascript">
+  toggleV();
+  toggleVI();
+  </SCRIPT>
   </TABLE>
 
 <BR>