[freeside-commits] freeside/FS/FS cust_pkg.pm,1.175,1.176
Mark Wells
mark at wavetail.420.am
Sat Oct 30 21:41:02 PDT 2010
Update of /home/cvs/cvsroot/freeside/FS/FS
In directory wavetail.420.am:/tmp/cvs-serv27872
Modified Files:
cust_pkg.pm
Log Message:
option to keep dates when changing packages, RT#9947
Index: cust_pkg.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/cust_pkg.pm,v
retrieving revision 1.175
retrieving revision 1.176
diff -u -w -d -r1.175 -r1.176
--- cust_pkg.pm 23 Oct 2010 08:33:30 -0000 1.175
+++ cust_pkg.pm 31 Oct 2010 04:41:00 -0000 1.176
@@ -1118,7 +1118,7 @@
=over 4
-=item locaitonnum
+=item locationnum
New locationnum, to change the location for this package.
@@ -1135,9 +1135,15 @@
New refnum (see L<FS::part_referral>).
+=item keep_dates
+
+Set to true to transfer billing dates (start_date, setup, last_bill, bill,
+susp, adjourn, cancel, expire, and contract_end) to the new package.
+
=back
-At least one option must be specified (otherwise, what's the point?)
+At least one of locationnum, cust_location, pkgpart, refnum must be specified
+(otherwise, what's the point?)
Returns either the new FS::cust_pkg object or a scalar error.
@@ -1195,6 +1201,13 @@
$opt->{'locationnum'} = $opt->{'cust_location'}->locationnum;
}
+ if ( $opt->{'keep_dates'} ) {
+ foreach my $date ( qw(setup bill last_bill susp adjourn cancel expire
+ start_date contract_end ) ) {
+ $hash{$date} = $self->getfield($date);
+ }
+ }
+
# Create the new package.
my $cust_pkg = new FS::cust_pkg {
custnum => $self->custnum,
@@ -1244,7 +1257,7 @@
? ()
: ( 'null' => 1 )
)
- if $part_pkg->can('reset_usage') && ! $part_pkg->option('usage_rollover');
+ if $part_pkg->can('reset_usage') && ! $part_pkg->option('usage_rollover',1);
if ($error) {
$dbh->rollback if $oldAutoCommit;
More information about the freeside-commits
mailing list