fix bug limiting service moves to one per svcpart
authorivan <ivan>
Fri, 16 Jan 2004 02:14:25 +0000 (02:14 +0000)
committerivan <ivan>
Fri, 16 Jan 2004 02:14:25 +0000 (02:14 +0000)
FS/FS/cust_pkg.pm

index 1651185..455a380 100644 (file)
@@ -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', } } )
     ];