summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2013-06-11 23:07:07 -0700
committerIvan Kohler <ivan@freeside.biz>2013-06-11 23:07:07 -0700
commit31b49b580727c2c9dca516b9ccbb67b10e6d0fcf (patch)
treed2410688771b699a45aae7f6a08f7f811d76cd8a
parent2e3ee9e645776e6f6ff49127e649dcddd595b936 (diff)
fix discounts w/quantities, RT#23530
-rw-r--r--FS/FS/part_pkg/flat.pm12
1 files changed, 4 insertions, 8 deletions
diff --git a/FS/FS/part_pkg/flat.pm b/FS/FS/part_pkg/flat.pm
index 22eb69815..757e1ceb6 100644
--- a/FS/FS/part_pkg/flat.pm
+++ b/FS/FS/part_pkg/flat.pm
@@ -120,9 +120,7 @@ sub calc_setup {
push @$details, $self->option( 'additional_info' . $i++ );
}
- my $quantity = $cust_pkg->quantity || 1;
-
- my $charge = $quantity * $self->unit_setup($cust_pkg, $sdate, $details);
+ my $charge = $self->unit_setup($cust_pkg, $sdate, $details);
my $discount = 0;
if ( $charge > 0 ) {
@@ -131,7 +129,7 @@ sub calc_setup {
delete $param->{'setup_charge'};
}
- sprintf('%.2f', $charge - $discount);
+ sprintf( '%.2f', ($cust_pkg->quantity || 1) * ($charge - $discount) );
}
sub unit_setup {
@@ -162,11 +160,9 @@ sub calc_recur {
$charge *= $param->{freq_override} if $param->{freq_override};
}
- my $quantity = $cust_pkg->quantity || 1;
- $charge *= $quantity;
-
my $discount = $self->calc_discount($cust_pkg, $sdate, $details, $param);
- return sprintf('%.2f', $charge - $discount);
+
+ sprintf( '%.2f', ($cust_pkg->quantity || 1) * ($charge - $discount) );
}
sub cutoff_day {