From: jeff Date: Tue, 24 Mar 2009 13:39:27 +0000 (+0000) Subject: get 2884 backport in the loop X-Git-Tag: freeside_1_7_4rc1~80 X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;h=6c7b2706ba9297e7b8f9774b2f0f98c524c6354b;p=freeside.git get 2884 backport in the loop --- 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"; + } } }