get 2884 backport in the loop
authorjeff <jeff>
Tue, 24 Mar 2009 13:39:27 +0000 (13:39 +0000)
committerjeff <jeff>
Tue, 24 Mar 2009 13:39:27 +0000 (13:39 +0000)
FS/FS/cust_pkg.pm

index 6c38900..e19b0dd 100644 (file)
@@ -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";
+        }
       }
     }