[freeside-commits] branch master updated. 5a78b285800539935217563c961cd5dc8f084cd0

Christopher Burger burgerc at freeside.biz
Fri Mar 9 11:16:05 PST 2018


The branch, master has been updated
       via  5a78b285800539935217563c961cd5dc8f084cd0 (commit)
      from  e3a53cf6d4915941327a316927310586c0126d77 (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 5a78b285800539935217563c961cd5dc8f084cd0
Author: Christopher Burger <burgerc at freeside.biz>
Date:   Fri Mar 9 14:14:14 2018 -0500

    RT# 79239 - updated code to use existing sub routine

diff --git a/FS/FS/part_pkg/sql_external.pm b/FS/FS/part_pkg/sql_external.pm
index 77b5e4983..75c7e132e 100644
--- a/FS/FS/part_pkg/sql_external.pm
+++ b/FS/FS/part_pkg/sql_external.pm
@@ -145,41 +145,10 @@ sub calc_recur {
 }
 
 sub cutoff_day {
-  my $self = shift;
-  my $cust_pkg = shift;
-  my $cust_main = $cust_pkg->cust_main;
-  # force it to act like a prorate package, is what this means
-  # because we made a distinction once between prorate and flat packages
-  if ( $cust_main->force_prorate_day  and $cust_main->prorate_day ) {
-     return ( $cust_main->prorate_day );
-  }
-  if ( $self->option('sync_bill_date',1) ) {
-    my $next_bill = $cust_pkg->cust_main->next_bill_date;
-    if ( $next_bill ) {
-      return (localtime($next_bill))[3];
-    } else {
-      # This is the customer's only active package and hasn't been billed
-      # yet, so set the cutoff day to either today or tomorrow, whichever
-      # would result in a full period after rounding.
-      my $setup = $cust_pkg->setup; # because it's "now"
-      my $rounding_mode = $self->option('prorate_round_day',1);
-      return () if !$setup or !$rounding_mode;
-      my ($sec, $min, $hour, $mday, $mon, $year) = localtime($setup);
-
-      if (   ( $rounding_mode == 1 and $hour >= 12 )
-          or ( $rounding_mode == 3 and ( $sec > 0 or $min > 0 or $hour > 0 ))
-      ) {
-        # then the prorate period will be rounded down to start from
-        # midnight tomorrow, so the cutoff day should be the current day +
-        # 1.
-        $setup = timelocal(59,59,23,$mday,$mon,$year) + 1;
-        $mday = (localtime($setup))[3];
-      }
-      # otherwise, it will be rounded up, so leave the cutoff day at today.
-      return $mday;
-    }
-  }
-  return ();
+  my( $self, $cust_pkg ) = @_;
+  my $error = SUPER->cutoff_day($cust_pkg);
+  #my $error = FS::part_pkg::flat::cutoff_day( $self, $cust_pkg ));
+  return $error;
 }
 
 sub can_discount { 1; }

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

Summary of changes:
 FS/FS/part_pkg/sql_external.pm | 39 ++++-----------------------------------
 1 file changed, 4 insertions(+), 35 deletions(-)




More information about the freeside-commits mailing list