From: ivan Date: Wed, 2 Mar 2005 00:03:48 +0000 (+0000) Subject: prevent bug causing 'Error crediting customer for service remaining: FS::cust_pkg... X-Git-Tag: BEFORE_FINAL_MASONIZE~690 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=c2829eb15ff44d34ce82ae02c88810a321614ce9 prevent bug causing 'Error crediting customer for service remaining: FS::cust_pkg=HASH(0x9958c60)' error on package cancellations where the part_pkg record didn't have a plan, closes: Bug#1153 --- diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index a6115a0a0..cd808d4fa 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -396,12 +396,16 @@ sub cancel { } # Add a credit for remaining service - my $remaining_value= $self->calc_remain(); - if ($remaining_value > 0) { - my $error = $self->credit($remaining_value, 'Credit for service remaining'); + my $remaining_value = $self->calc_remain(); + if ( $remaining_value > 0 ) { + my $error = $self->cust_main->credit( + $remaining_value, + 'Credit for unused time on'. $self->part_pkg->pkg, + ); if ($error) { $dbh->rollback if $oldAutoCommit; - return "Error crediting customer for service remaining: $error"; + return "Error crediting customer \$$remaining_value for unused time on". + $self->part_pkg->pkg. ": $error"; } } diff --git a/FS/FS/part_pkg.pm b/FS/FS/part_pkg.pm index a0683c822..faaf485e5 100644 --- a/FS/FS/part_pkg.pm +++ b/FS/FS/part_pkg.pm @@ -672,6 +672,11 @@ sub _calc_eval { $value; } +#fallback that return 0 for old legacy packages with no plan + +sub calc_remain { 0; } +sub calc_cancel { 0; } + =back =head1 SUBROUTINES