selfservice: don't display recharge account links if negative balance, RT12728
[freeside.git] / httemplate / search / cust_bill_pkg.cgi
index b974304..9918cf1 100644 (file)
@@ -463,8 +463,11 @@ if ( $cgi->param('pkg_tax') ) {
 
 } else {
 
-  #$count_query = "SELECT COUNT(*), ";
-  $count_query = "SELECT COUNT(DISTINCT billpkgnum), ";
+  if ( $use_usage ) {
+    $count_query = "SELECT COUNT(*), ";
+  } else {
+    $count_query = "SELECT COUNT(DISTINCT billpkgnum), ";
+  }
 
   if ( $use_usage eq 'recurring' ) {
     $count_query .= "SUM(setup + recur - usage)";
@@ -472,13 +475,12 @@ if ( $cgi->param('pkg_tax') ) {
     $count_query .= "SUM(usage)";
   } elsif ( $unearned ) {
     $count_query .= "SUM(cust_bill_pkg.recur)";
+  } elsif ( scalar( grep( /locationtaxid/, $cgi->param ) ) ) {
+    $count_query .= "SUM( COALESCE(cust_bill_pkg_tax_rate_location.amount, cust_bill_pkg.setup + cust_bill_pkg.recur))";
+  } elsif ( $cgi->param('iscredit') eq 'rate') {
+    $count_query .= "SUM( cust_credit_bill_pkg.amount )";
   } else {
-    if ( scalar( grep( /locationtaxid/, $cgi->param ) ) ||
-              $cgi->param('iscredit') eq 'rate') {
-      $count_query .= "SUM( COALESCE(amount, cust_bill_pkg.setup + cust_bill_pkg.recur))";
-    } else {
-      $count_query .= "SUM(cust_bill_pkg.setup + cust_bill_pkg.recur)";
-    }
+    $count_query .= "SUM(cust_bill_pkg.setup + cust_bill_pkg.recur)";
   }
 
   if ( $unearned ) {