From: mark Date: Tue, 12 Oct 2010 19:06:44 +0000 (+0000) Subject: per-package option to adjust bill date on unsuspend, RT#8434 X-Git-Tag: freeside_1_9_5~11 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=b87b8ca36fe928ce89d31de7e7d4bebddd1ff6a2 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 19c97307a..82fdce135 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -1011,10 +1011,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 be17fd803..3929cb99d 100644 --- a/FS/FS/part_pkg/flat.pm +++ b/FS/FS/part_pkg/flat.pm @@ -116,6 +116,11 @@ tie my %temporalities, 'Tie::IxHash', 'start_1st' => { 'name' => 'Auto-add a start date to the 1st, ignoring the current month.', 'type' => 'checkbox', }, + 'unsuspend_adjust_bill' => + { 'name' => 'Adjust next bill date forward when '. + 'unsuspending', + 'type' => 'checkbox', + }, %usage_fields, %usage_recharge_fields, @@ -126,7 +131,7 @@ tie my %temporalities, 'Tie::IxHash', }, 'fieldorder' => [ qw( setup_fee recur_fee recur_temporality unused_credit - expire_months start_1st + expire_months start_1st unsuspend_adjust_bill ), @usage_fieldorder, @usage_recharge_fieldorder, qw( externalid ),