summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjeff <jeff>2009-03-24 13:39:27 +0000
committerjeff <jeff>2009-03-24 13:39:27 +0000
commit6c7b2706ba9297e7b8f9774b2f0f98c524c6354b (patch)
tree91eb450cf46c714a0cfd66582b81fb145b624d6b
parent0a68150a14ea33efb9b56a8acc5f2a941d7cbe56 (diff)
get 2884 backport in the loop
-rw-r--r--FS/FS/cust_pkg.pm24
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";
+ }
}
}