From 7f9c2a0086d8f644b27b79c14cedb627a96aa1cf Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 13 Oct 2010 20:21:03 +0000 Subject: [PATCH] fix late fee held for next invoice triggering immediately if next bill dates have been manually added to one-time charges, RT#10192 --- FS/FS/cust_main.pm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index 4e602e750..165e45f6d 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -2186,6 +2186,21 @@ sub unsuspended_pkgs { grep { ! $_->susp } $self->ncancelled_pkgs; } +=item active_pkgs + +Returns all unsuspended (and uncancelled) packages (see L) for +this customer that are active (recurring). + +=cut + +sub active_pkgs { + my $self = shift; + grep { my $part_pkg = $_->part_pkg; + $part_pkg->freq ne '' && $part_pkg->freq ne '0'; + } + $self->unsuspended_pkgs;; +} + =item next_bill_date Returns the next date this customer will be billed, as a UNIX timestamp, or @@ -2195,7 +2210,7 @@ undef if no active package has a next bill date. sub next_bill_date { my $self = shift; - min( map $_->get('bill'), grep $_->get('bill'), $self->unsuspended_pkgs ); + min( map $_->get('bill'), grep $_->get('bill'), $self->active_pkgs ); } =item num_cancelled_pkgs -- 2.11.0