fix cancellation errors with updated flat_introrate, RT#5865
authorivan <ivan>
Wed, 5 Aug 2009 23:34:38 +0000 (23:34 +0000)
committerivan <ivan>
Wed, 5 Aug 2009 23:34:38 +0000 (23:34 +0000)
FS/FS/part_pkg/flat.pm
FS/FS/part_pkg/flat_delayed.pm
FS/FS/part_pkg/prorate_delayed.pm

index 98b0501..d6432fc 100644 (file)
@@ -176,7 +176,7 @@ sub calc_remain {
   #my $last_bill = $cust_pkg->last_bill || 0;
   my $last_bill = $cust_pkg->get('last_bill') || 0; #->last_bill falls back to setup
 
-  return 0 if    ! $self->base_recur
+  return 0 if    ! $self->base_recur($cust_pkg)
               || ! $self->option('unused_credit', 1)
               || ! $last_bill
               || ! $next_bill
@@ -194,7 +194,7 @@ sub calc_remain {
   my $freq_sec = $1 * $sec{$2||'m'};
   return 0 unless $freq_sec;
 
-  sprintf("%.2f", $self->base_recur * ( $next_bill - $time ) / $freq_sec );
+  sprintf("%.2f", $self->base_recur($cust_pkg) * ( $next_bill - $time ) / $freq_sec );
 
 }
 
@@ -216,7 +216,7 @@ sub usage_valuehash {
 sub reset_usage {
   my($self, $cust_pkg, %opt) = @_;
   warn "    resetting usage counters" if $opt{debug} > 1;
-  my %values = $self->usage_valuehash; 
+  my %values = $self->usage_valuehash;
   if ($self->option('usage_rollover', 1)) {
     $cust_pkg->recharge(\%values);
   }else{
index 8ac1682..7e9d65c 100644 (file)
@@ -57,7 +57,7 @@ sub calc_remain {
   return 0 if    $last_bill + (86400 * $free_days) == $next_bill
               && $last_bill == $cust_pkg->setup;
 
-  return 0 if    ! $self->base_recur
+  return 0 if    ! $self->base_recur($cust_pkg)
               || ! $self->option('unused_credit', 1)
               || ! $last_bill
               || ! $next_bill;
index ee66432..d2f437a 100644 (file)
@@ -50,7 +50,7 @@ sub calc_remain {
   return 0 if    $last_bill + (86400 * $free_days) == $next_bill
               && $last_bill == $cust_pkg->setup;
 
-  return 0 if    ! $self->base_recur
+  return 0 if    ! $self->base_recur($cust_pkg)
               || ! $self->option('unused_credit', 1)
               || ! $last_bill
               || ! $next_bill;