X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_pkg.pm;h=e19b0dd2766d1eab78f6b8950241f39c60be3940;hb=6c7b2706ba9297e7b8f9774b2f0f98c524c6354b;hp=6c38900f93612a20636bf6a23abaad3a02235aee;hpb=0a68150a14ea33efb9b56a8acc5f2a941d7cbe56;p=freeside.git 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"; + } } }