fix late fee held for next invoice triggering immediately if next bill dates have...
authorivan <ivan>
Wed, 13 Oct 2010 20:21:03 +0000 (20:21 +0000)
committerivan <ivan>
Wed, 13 Oct 2010 20:21:03 +0000 (20:21 +0000)
FS/FS/cust_main.pm

index 4e602e7..165e45f 100644 (file)
@@ -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