correct fallout from duplicate line items
[freeside.git] / httemplate / search / cust_bill_pkg.cgi
index d9f2548..2354be9 100644 (file)
@@ -70,6 +70,8 @@ my $agentnums_sql =
 
 my @where = ( $agentnums_sql );
 
+push @where, "(duplicate IS NULL OR duplicate = '' )";
+
 my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi);
 push @where, "_date >= $beginning",
              "_date <= $ending";
@@ -122,6 +124,20 @@ if ( $cgi->param('out') ) {
   push @where, ' taxclass = '. dbh->quote( $cgi->param('taxclass') )
     if $cgi->param('taxclass');
 
+  if ( $cgi->param('taxclassNULL') ) {
+
+    my %hash = ( 'country' => scalar($cgi->param('country')) );
+    foreach (qw( state county )) {
+      $hash{$_} = scalar($cgi->param($_)) if $cgi->param($_);
+    }
+    my $cust_main_county = qsearchs('cust_main_county', \%hash);
+    die "unknown base region for empty taxclass" unless $cust_main_county;
+
+    my $same_sql = $cust_main_county->sql_taxclass_sameregion;
+    push @where, $same_sql if $same_sql;
+
+  }
+
 }
 
 push @where, 'pkgnum != 0' if $cgi->param('nottax');
@@ -185,7 +201,7 @@ my $query = {
                    FS::UI::Web::cust_sql_fields(),
                  ),
   'extra_sql' => $where,
-  'order_by'  => 'ORDER BY _date',
+  'order_by'  => 'ORDER BY _date, billpkgnum',
 };
 
 my $ilink = [ "${p}view/cust_bill.cgi?", 'invnum' ];