per-package option to adjust bill date on unsuspend, RT#8434
authormark <mark>
Fri, 27 Aug 2010 02:10:14 +0000 (02:10 +0000)
committermark <mark>
Fri, 27 Aug 2010 02:10:14 +0000 (02:10 +0000)
FS/FS/cust_pkg.pm
FS/FS/part_pkg/flat.pm

index f367fd3..c27d458 100644 (file)
@@ -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;
index 537cdcf..d539e8d 100644 (file)
@@ -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 ),