diff options
author | Ivan Kohler <ivan@freeside.biz> | 2013-10-24 21:58:40 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2013-10-24 21:58:40 -0700 |
commit | a6d62e3bc88e63d71fc972303210aec5464b2219 (patch) | |
tree | fb2531475a47ecfb18d7a88ae7ebb24d2f47e11e /FS/FS/cust_main | |
parent | ca00186e5e6b7eee73140546cde55758f81ed4de (diff) |
fix next-bill-ignore-time, RT#24318, RT#24476, RT#12570
Diffstat (limited to 'FS/FS/cust_main')
-rw-r--r-- | FS/FS/cust_main/Billing.pm | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/FS/FS/cust_main/Billing.pm b/FS/FS/cust_main/Billing.pm index 0a364f509..b8a71d4a9 100644 --- a/FS/FS/cust_main/Billing.pm +++ b/FS/FS/cust_main/Billing.pm @@ -373,6 +373,11 @@ sub bill { my $time = $options{'time'} || time; my $invoice_time = $options{'invoice_time'} || $time; + my $cmp_time = ( $conf->exists('next-bill-ignore-time') + ? day_end( $time ) + : $time + ); + $options{'not_pkgpart'} ||= {}; $options{'not_pkgpart'} = { map { $_ => 1 } split(/\s*,\s*/, $options{'not_pkgpart'}) @@ -480,7 +485,7 @@ sub bill { my $next_bill = $cust_pkg->getfield('bill') || 0; my $error; # let this run once if this is the last bill upon cancellation - while ( $next_bill <= $time or $options{cancel} ) { + while ( $next_bill <= $cmp_time or $options{cancel} ) { $error = $self->_make_lines( 'part_pkg' => $part_pkg, 'cust_pkg' => $cust_pkg, |