for one-time discounts, print line item in different format - FS RT #27189
authorC.J. Adams-Collier <cjac@colliertech.org>
Mon, 8 Sep 2014 18:56:13 +0000 (11:56 -0700)
committerC.J. Adams-Collier <cjac@colliertech.org>
Mon, 8 Sep 2014 19:00:34 +0000 (12:00 -0700)
FS/FS/part_pkg/discount_Mixin.pm

index 1edf258..48ca94d 100644 (file)
@@ -168,10 +168,17 @@ sub calc_discount {
     $months = sprintf('%.2f', $months) if $months =~ /\./;
 
     my $d = 'Includes ';
-    $d .= 'setup ' if defined $param->{'setup_charge'};
-    $d .= 'discount of '. $discount->description_short;
-    $d .= " for $months month". ( $months!=1 ? 's' : '' ) unless defined $param->{'setup_charge'};
-    $d .= ": $money_char$amount" if $months != 1 || $discount->percent;
+
+    if ( $months eq '1' ) {
+      $d .= "discount of $money_char$amount each";
+    } else {
+      $d .= 'setup ' if defined $param->{'setup_charge'};
+      $d .= 'discount of '. $discount->description_short;
+      $d .= " for $months month". ( $months!=1 ? 's' : '' )
+       unless defined $param->{'setup_charge'};
+      $d .= ": $money_char$amount" if $months != 1 || $discount->percent;
+    }
+
     push @$details, $d;
 
     $tot_discount += $amount;