summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorC.J. Adams-Collier <cjac@colliertech.org>2014-09-08 11:56:13 -0700
committerC.J. Adams-Collier <cjac@colliertech.org>2014-09-08 12:00:34 -0700
commit61c4e7640f905d326b36e61ad3ce81d22a9a663a (patch)
tree6293e5ac68b5c111b313484711cc07bcc648708d
parent5d7bec95fa2b821878a318d32c25a691d219055f (diff)
for one-time discounts, print line item in different format - FS RT #27189
-rw-r--r--FS/FS/part_pkg/discount_Mixin.pm15
1 files changed, 11 insertions, 4 deletions
diff --git a/FS/FS/part_pkg/discount_Mixin.pm b/FS/FS/part_pkg/discount_Mixin.pm
index 1edf258d6..48ca94d49 100644
--- a/FS/FS/part_pkg/discount_Mixin.pm
+++ b/FS/FS/part_pkg/discount_Mixin.pm
@@ -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;