summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2004-01-16 02:14:25 +0000
committerivan <ivan>2004-01-16 02:14:25 +0000
commit22ae64405cb18839ac8bd72099083111c816e7ce (patch)
tree476b6316c5c536bd687356b933e8e5ee15feb87f
parent5b0df44f1c7a37c9a4f190b6d30217f0cd2aef7e (diff)
fix bug limiting service moves to one per svcpart
-rw-r--r--FS/FS/cust_pkg.pm13
1 files changed, 11 insertions, 2 deletions
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm
index 165118571..455a3805f 100644
--- a/FS/FS/cust_pkg.pm
+++ b/FS/FS/cust_pkg.pm
@@ -739,8 +739,17 @@ sub order {
}
push @cust_svc, [
map {
- ( $svcnum{$_} && @{ $svcnum{$_} } ) ? shift @{ $svcnum{$_} } : ();
- } map { $_->svcpart }
+ my $svcnum = $svcnum{$_->{svcpart}};
+ if ( $svcnum && @$svcnum ) {
+ my $num = ( $_->{quantity} < scalar(@$svcnum) )
+ ? $_->{quantity}
+ : scalar(@$svcnum);
+ splice @$svcnum, 0, $num;
+ } else {
+ ();
+ }
+ } map { { 'svcpart' => $_->svcpart,
+ 'quantity' => $_->quantity } }
qsearch('pkg_svc', { pkgpart => $pkgpart,
quantity => { op=>'>', value=>'0', } } )
];