summaryrefslogtreecommitdiff
path: root/FS/FS/part_pkg/flat.pm
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2013-06-11 23:07:05 -0700
committerIvan Kohler <ivan@freeside.biz>2013-06-11 23:07:05 -0700
commit4c4f4f3e38bb48e491ff7141b2a2e337f69386ae (patch)
treee2a73f56dbe854afd67ed135cf8b6772666f53fa /FS/FS/part_pkg/flat.pm
parent597b7036c67ddf08fe367f9212ff06dd94cf76f5 (diff)
fix discounts w/quantities, RT#23530
Diffstat (limited to 'FS/FS/part_pkg/flat.pm')
-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 9737a94..6118fd2 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->base_setup($cust_pkg, $sdate, $details);
+ my $charge = $self->base_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 base_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 {