From: ivan Date: Fri, 16 Jan 2004 02:14:25 +0000 (+0000) Subject: fix bug limiting service moves to one per svcpart X-Git-Tag: freeside_1_4_2beta1~307 X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;h=22ae64405cb18839ac8bd72099083111c816e7ce;p=freeside.git fix bug limiting service moves to one per svcpart --- 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', } } ) ];