diff options
author | Ivan Kohler <ivan@freeside.biz> | 2013-10-24 21:58:47 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2013-10-24 21:58:47 -0700 |
commit | c8247c2214b7246a2be5796ba971ed09d7370228 (patch) | |
tree | ee5448fbb17339807624fa831887ea832e1ddf0d | |
parent | 59e04eed431d9579e8a8f417f5508e5c251d0831 (diff) |
fix next-bill-ignore-time, RT#24318, RT#24476, RT#12570
-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 e170f09cd..1e11b572f 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, |