diff options
| author | ivan <ivan> | 2010-10-13 20:21:03 +0000 | 
|---|---|---|
| committer | ivan <ivan> | 2010-10-13 20:21:03 +0000 | 
| commit | 7f9c2a0086d8f644b27b79c14cedb627a96aa1cf (patch) | |
| tree | 2fa07836dc564410b2922d1dc51645c45d178df2 | |
| parent | e5fc56b70e89f947cbe9ecf0bae5ff73f294f10d (diff) | |
fix late fee held for next invoice triggering immediately if next bill dates have been manually added to one-time charges, RT#10192
| -rw-r--r-- | FS/FS/cust_main.pm | 17 | 
1 files changed, 16 insertions, 1 deletions
| 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<FS::cust_pkg>) 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 | 
