[freeside-commits] branch master updated. d263897b2b9247340901f93c57f44c7f85d87d37

Christopher Burger burgerc at freeside.biz
Tue May 1 07:11:26 PDT 2018


The branch, master has been updated
       via  d263897b2b9247340901f93c57f44c7f85d87d37 (commit)
      from  ae9a208fa96fca49f1eef01519353a4c9f54d15f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit d263897b2b9247340901f93c57f44c7f85d87d37
Author: Christopher Burger <burgerc at freeside.biz>
Date:   Tue May 1 10:07:54 2018 -0400

    RT# 77964 - Placed waive setup fee check back to billing.pm, and added check for prorate package in billing.pm

diff --git a/FS/FS/cust_main/Billing.pm b/FS/FS/cust_main/Billing.pm
index 44a4dbb04..a5a38fdc2 100644
--- a/FS/FS/cust_main/Billing.pm
+++ b/FS/FS/cust_main/Billing.pm
@@ -1027,9 +1027,10 @@ sub _make_lines {
              || $cust_pkg->expire > $cmp_time )
      )
   {
-    
+
     warn "    bill setup\n" if $DEBUG > 1;
 
+    unless ($cust_pkg->waive_setup) {
         $lineitems++;
 
         $setup = eval { $cust_pkg->calc_setup( $time, \@details, \%setup_param ) };
@@ -1049,6 +1050,12 @@ sub _make_lines {
           $setup_billed_currency = delete $setup_param{'billed_currency'};
           $setup_billed_amount   = delete $setup_param{'billed_amount'};
         }
+    }
+
+    if ($cust_pkg->waive_setup && $part_pkg->plan eq "prorate") {
+      $lineitems++;
+      $setup = 0 if $part_pkg->prorate_setup($cust_pkg, $time);
+    }
 
     if ( $cust_pkg->get('setup') ) {
       # don't change it
diff --git a/FS/FS/part_pkg/flat.pm b/FS/FS/part_pkg/flat.pm
index 0bc3860a3..cfee58465 100644
--- a/FS/FS/part_pkg/flat.pm
+++ b/FS/FS/part_pkg/flat.pm
@@ -118,26 +118,22 @@ sub calc_setup {
 
   return 0 if $self->prorate_setup($cust_pkg, $sdate);
 
-  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 $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'};
-    }
-
-    return sprintf( '%.2f', ($cust_pkg->quantity || 1) * ($charge - $discount) );
+  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) );
 
 }
 

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/cust_main/Billing.pm |  9 ++++++++-
 FS/FS/part_pkg/flat.pm     | 28 ++++++++++++----------------
 2 files changed, 20 insertions(+), 17 deletions(-)




More information about the freeside-commits mailing list