[freeside-commits] branch master updated. a1e1a1510968526f0c94e4eb684c66c7e3b93a8c

Christopher Burger burgerc at freeside.biz
Fri Apr 20 09:18:26 PDT 2018


The branch, master has been updated
       via  a1e1a1510968526f0c94e4eb684c66c7e3b93a8c (commit)
       via  9cdd008acdaa19127409188b51e25fe8c8b0b04b (commit)
      from  babcdb7e84d1d9ee1537b47e16c4e182f426f07b (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 a1e1a1510968526f0c94e4eb684c66c7e3b93a8c
Merge: 9cdd008ac babcdb7e8
Author: Christopher Burger <burgerc at freeside.biz>
Date:   Fri Apr 20 12:17:15 2018 -0400

    Merge branch 'master' of ssh://git.freeside.biz/home/git/freeside
    
    fixed commit message


commit 9cdd008acdaa19127409188b51e25fe8c8b0b04b
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:




More information about the freeside-commits mailing list