diff options
author | Ivan Kohler <ivan@freeside.biz> | 2013-06-11 23:07:05 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2013-06-11 23:07:05 -0700 |
commit | 4c4f4f3e38bb48e491ff7141b2a2e337f69386ae (patch) | |
tree | e2a73f56dbe854afd67ed135cf8b6772666f53fa /FS | |
parent | 597b7036c67ddf08fe367f9212ff06dd94cf76f5 (diff) |
fix discounts w/quantities, RT#23530
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/part_pkg/flat.pm | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/FS/FS/part_pkg/flat.pm b/FS/FS/part_pkg/flat.pm index 9737a94c0..6118fd2ed 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 { |