RT#39115: View SNMP info on svc_broadband service [got rid of dialog, displays inline]
[freeside.git] / FS / FS / quotation.pm
index cf75267..669a254 100644 (file)
@@ -342,6 +342,29 @@ sub _items_total {
       'total_amount' => sprintf('%.2f',$total_recur),
       'break_after'  => 1,
     };
+    # show 'first payment' line (setup + recur) if there are no prorated 
+    # packages included
+    my $disable_total = 0;
+    foreach my $quotation_pkg ($self->quotation_pkg) {
+      my $part_pkg = $quotation_pkg->part_pkg;
+      if (    $part_pkg->plan =~ /^(prorate|torrus|agent$)/
+           || $part_pkg->option('recur_method') eq 'prorate'
+           || ( $part_pkg->option('sync_bill_date')
+                  && $self->custnum
+                  && $self->cust_main->billing_pkgs #num_billing_pkgs when we have it
+              )
+      ) {
+        $disable_total = 1;
+        last;
+      }
+    }
+    if (!$disable_total) {
+      push @items, {
+        'total_item'   => $self->mt('First payment'),
+        'total_amount' => sprintf('%.2f', $total_setup + $total_recur),
+        'break_after'  => 1,
+      };
+    }
   }
 
   return @items;
@@ -698,7 +721,7 @@ sub estimate {
 
       my $quotation_pkg_tax = FS::quotation_pkg_tax->new({
           quotationpkgnum => $pkg->quotationpkgnum,
-          itemdesc        => $tax_def->taxname,
+          itemdesc        => ($tax_def->taxname || 'Tax'),
           taxnum          => $taxnum,
           taxtype         => ref($tax_def),
       });