[freeside-commits] freeside/FS/FS/cust_main Packages.pm,1.5,1.6

Ivan,,, ivan at wavetail.420.am
Mon Jul 25 18:25:29 PDT 2011


Update of /home/cvs/cvsroot/freeside/FS/FS/cust_main
In directory wavetail.420.am:/tmp/cvs-serv3871

Modified Files:
	Packages.pm 
Log Message:
fix late fee holding until next invoice w/suspended packages set to bill while suspended, RT#13638

Index: Packages.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/cust_main/Packages.pm,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -w -d -r1.5 -r1.6
--- Packages.pm	14 Jan 2011 02:51:49 -0000	1.5
+++ Packages.pm	26 Jul 2011 01:25:27 -0000	1.6
@@ -395,16 +395,32 @@
        $self->unsuspended_pkgs;
 }
 
+=item billing_pkgs
+
+Returns active packages, and also any suspended packages which are set to
+continue billing while suspended.
+
+=cut
+
+sub billing_pkgs {
+  my $self = shift;
+  grep { my $part_pkg = $_->part_pkg;
+         $part_pkg->freq ne '' && $part_pkg->freq ne '0'
+           && ( ! $_->susp || $part_pkg->option('suspend_bill', 1) );
+       }
+       $self->ncancelled_pkgs;
+}
+
 =item next_bill_date
 
 Returns the next date this customer will be billed, as a UNIX timestamp, or
-undef if no active package has a next bill date.
+undef if no billing package has a next bill date.
 
 =cut
 
 sub next_bill_date {
   my $self = shift;
-  min( map $_->get('bill'), grep $_->get('bill'), $self->active_pkgs );
+  min( map $_->get('bill'), grep $_->get('bill'), $self->billing_pkgs );
 }
 
 =item num_cancelled_pkgs



More information about the freeside-commits mailing list