From: mark Date: Fri, 27 Aug 2010 02:10:14 +0000 (+0000) Subject: per-package option to adjust bill date on unsuspend, RT#8434 X-Git-Tag: TORRUS_1_0_9~337 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=fff0c848e4c9933934b8da41d23e45b204cac11b;hp=b2d209dec4f00bd444a68c201940ef90f2af050f per-package option to adjust bill date on unsuspend, RT#8434 --- diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index f367fd34e..c27d4587d 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -1024,10 +1024,16 @@ sub unsuspend { my $conf = new FS::Conf; - $hash{'bill'} = ( $hash{'bill'} || $hash{'setup'} ) + $inactive - if ( $opt{'adjust_next_bill'} - || $conf->exists('unsuspend-always_adjust_next_bill_date') ) - && $inactive > 0 && ( $hash{'bill'} || $hash{'setup'} ); + if ( $inactive > 0 && + ( $hash{'bill'} || $hash{'setup'} ) && + ( $opt{'adjust_next_bill'} || + $conf->exists('unsuspend-always_adjust_next_bill_date') || + $self->part_pkg->option('unsuspend_adjust_bill', 1) ) + ) { + + $hash{'bill'} = ( $hash{'bill'} || $hash{'setup'} ) + $inactive; + + } $hash{'susp'} = ''; $hash{'adjourn'} = '' if $hash{'adjourn'} < time; diff --git a/FS/FS/part_pkg/flat.pm b/FS/FS/part_pkg/flat.pm index 537cdcf56..d539e8d1e 100644 --- a/FS/FS/part_pkg/flat.pm +++ b/FS/FS/part_pkg/flat.pm @@ -123,6 +123,11 @@ tie my %temporalities, 'Tie::IxHash', 'with the customer\'s other packages', 'type' => 'checkbox', }, + 'unsuspend_adjust_bill' => + { 'name' => 'Adjust next bill date forward when '. + 'unsuspending', + 'type' => 'checkbox', + }, %usage_fields, %usage_recharge_fields, @@ -134,6 +139,7 @@ tie my %temporalities, 'Tie::IxHash', 'fieldorder' => [ qw( setup_fee recur_fee recur_temporality unused_credit expire_months start_1st sync_bill_date + unsuspend_adjust_bill ), @usage_fieldorder, @usage_recharge_fieldorder, qw( externalid ),