[freeside-commits] branch FREESIDE_4_BRANCH updated. 88dc1572bd268239a0ca0384a8f536df22f08c1a

Christopher Burger burgerc at freeside.biz
Fri May 4 10:31:50 PDT 2018


The branch, FREESIDE_4_BRANCH has been updated
       via  88dc1572bd268239a0ca0384a8f536df22f08c1a (commit)
       via  b8aea2bf8dcebf7a6b9a217ee78114e42404fe68 (commit)
      from  f394ef58c444b753ea9508a02593ce38f012e5d4 (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 88dc1572bd268239a0ca0384a8f536df22f08c1a
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) );
 
 }
 

commit b8aea2bf8dcebf7a6b9a217ee78114e42404fe68
Author: Christopher Burger <burgerc at freeside.biz>
Date:   Fri Apr 20 12:08:43 2018 -0400

    RT# 77964 - fixed so deferring date now works when waive setup fee is set

diff --git a/FS/FS/cust_main/Billing.pm b/FS/FS/cust_main/Billing.pm
index 08b10c1ff..44a4dbb04 100644
--- a/FS/FS/cust_main/Billing.pm
+++ b/FS/FS/cust_main/Billing.pm
@@ -1030,7 +1030,6 @@ sub _make_lines {
     
     warn "    bill setup\n" if $DEBUG > 1;
 
-    unless ( $cust_pkg->waive_setup ) {
         $lineitems++;
 
         $setup = eval { $cust_pkg->calc_setup( $time, \@details, \%setup_param ) };
@@ -1050,7 +1049,6 @@ sub _make_lines {
           $setup_billed_currency = delete $setup_param{'billed_currency'};
           $setup_billed_amount   = delete $setup_param{'billed_amount'};
         }
-    }
 
     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 6fd9c7d08..0bc3860a3 100644
--- a/FS/FS/part_pkg/flat.pm
+++ b/FS/FS/part_pkg/flat.pm
@@ -118,22 +118,27 @@ 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 ) {
+    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;
+
 }
 
 sub base_setup {

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

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




More information about the freeside-commits mailing list