From 5a78b285800539935217563c961cd5dc8f084cd0 Mon Sep 17 00:00:00 2001 From: Christopher Burger Date: Fri, 9 Mar 2018 14:14:14 -0500 Subject: [PATCH] RT# 79239 - updated code to use existing sub routine --- FS/FS/part_pkg/sql_external.pm | 39 ++++----------------------------------- 1 file changed, 4 insertions(+), 35 deletions(-) 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; } -- 2.11.0