diff options
author | jeff <jeff> | 2009-03-24 13:39:27 +0000 |
---|---|---|
committer | jeff <jeff> | 2009-03-24 13:39:27 +0000 |
commit | 6c7b2706ba9297e7b8f9774b2f0f98c524c6354b (patch) | |
tree | 91eb450cf46c714a0cfd66582b81fb145b624d6b | |
parent | 0a68150a14ea33efb9b56a8acc5f2a941d7cbe56 (diff) |
get 2884 backport in the loop
-rw-r--r-- | FS/FS/cust_pkg.pm | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index 6c38900f9..e19b0dd27 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -2155,17 +2155,19 @@ sub order { } #reset usage if changing pkgpart - if ($old_pkg->pkgpart != $new_pkg->pkgpart) { - my $part_pkg = $new_pkg->part_pkg; - $error = $part_pkg->reset_usage($new_pkg, $part_pkg->is_prepaid - ? () - : ( 'null' => 1 ) - ) - if $part_pkg->can('reset_usage'); - - if ($error) { - $dbh->rollback if $oldAutoCommit; - return "Error setting usage values: $error"; + foreach my $new_pkg (@$return_cust_pkg) { + if ($old_pkg->pkgpart != $new_pkg->pkgpart) { + my $part_pkg = $new_pkg->part_pkg; + $error = $part_pkg->reset_usage($new_pkg, $part_pkg->is_prepaid + ? () + : ( 'null' => 1 ) + ) + if $part_pkg->can('reset_usage'); + + if ($error) { + $dbh->rollback if $oldAutoCommit; + return "Error setting usage values: $error"; + } } } |