allow assignment of auto recharge values AND rollover
[freeside.git] / FS / FS / part_pkg / flat.pm
index 6d1fbde..471f216 100644 (file)
@@ -63,12 +63,16 @@ use FS::part_pkg;
                          'format' => \&FS::UI::bytecount::display_bytecount,
                          'parse' => \&FS::UI::bytecount::parse_bytecount,
                        },
+    'usage_rollover' => { 'name' => 'Allow usage from previous period to roll '.
+                                    ' over into current period',
+                          'type' => 'checkbox',
+                        },
   },
   'fieldorder' => [ 'setup_fee', 'recur_fee', 'unused_credit', 
                     'seconds', 'upbytes', 'downbytes', 'totalbytes',
                     'recharge_amount', 'recharge_seconds', 'recharge_upbytes',
                     'recharge_downbytes', 'recharge_totalbytes',
-                    'externalid' ],
+                    'usage_rollover', 'externalid' ],
   'weight' => 10,
 );
 
@@ -141,7 +145,11 @@ sub reset_usage {
   my %values = map { $_, $self->option($_) } 
     grep { $self->option($_, 'hush') } 
     qw(seconds upbytes downbytes totalbytes);
-  $cust_pkg->set_usage(\%values);
+  if ($self->option('usage_rollover', 1)) {
+    $cust_pkg->recharge(\%values);
+  }else{
+    $cust_pkg->set_usage(\%values);
+  }
 }
 
 1;