diff options
author | ivan <ivan> | 2004-01-16 02:14:25 +0000 |
---|---|---|
committer | ivan <ivan> | 2004-01-16 02:14:25 +0000 |
commit | 22ae64405cb18839ac8bd72099083111c816e7ce (patch) | |
tree | 476b6316c5c536bd687356b933e8e5ee15feb87f | |
parent | 5b0df44f1c7a37c9a4f190b6d30217f0cd2aef7e (diff) |
fix bug limiting service moves to one per svcpart
-rw-r--r-- | FS/FS/cust_pkg.pm | 13 |
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', } } ) ]; |