diff options
author | Christopher Burger <burgerc@freeside.biz> | 2018-05-15 08:17:31 -0400 |
---|---|---|
committer | Christopher Burger <burgerc@freeside.biz> | 2018-05-15 08:17:31 -0400 |
commit | 7eff77c9579ff987439e1e6a82aa79cf147478a4 (patch) | |
tree | 2369f116225453b60a3dc1c082b4af0fd934cb1d /FS/FS/part_pkg | |
parent | b53391a3517cfc6f492ad830ba92eaf1eb21bfad (diff) |
Revert "RT# 77964 - Placed waive setup fee check back to billing.pm, and added check for prorate package in billing.pm"
This reverts commit 88dc1572bd268239a0ca0384a8f536df22f08c1a.
Diffstat (limited to 'FS/FS/part_pkg')
-rw-r--r-- | FS/FS/part_pkg/flat.pm | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/FS/FS/part_pkg/flat.pm b/FS/FS/part_pkg/flat.pm index cfee584..0bc3860 100644 --- a/FS/FS/part_pkg/flat.pm +++ b/FS/FS/part_pkg/flat.pm @@ -118,22 +118,26 @@ sub calc_setup { return 0 if $self->prorate_setup($cust_pkg, $sdate); - my $i = 0; - my $count = $self->option( 'additional_count', 'quiet' ) || 0; - while ($i < $count) { - push @$details, $self->option( 'additional_info' . $i++ ); - } + if (!$cust_pkg->waive_setup) { + my $i = 0; + my $count = $self->option( 'additional_count', 'quiet' ) || 0; + while ($i < $count) { + push @$details, $self->option( 'additional_info' . $i++ ); + } - my $charge = $self->base_setup($cust_pkg, $sdate, $details); + my $charge = $self->base_setup($cust_pkg, $sdate, $details); - my $discount = 0; - if ( $charge > 0 ) { - $param->{'setup_charge'} = $charge; - $discount = $self->calc_discount($cust_pkg, $sdate, $details, $param); - delete $param->{'setup_charge'}; + my $discount = 0; + if ( $charge > 0 ) { + $param->{'setup_charge'} = $charge; + $discount = $self->calc_discount($cust_pkg, $sdate, $details, $param); + delete $param->{'setup_charge'}; + } + + return sprintf( '%.2f', ($cust_pkg->quantity || 1) * ($charge - $discount) ); } - sprintf( '%.2f', ($cust_pkg->quantity || 1) * ($charge - $discount) ); + return; } |