diff options
author | ivan <ivan> | 2002-04-20 02:06:38 +0000 |
---|---|---|
committer | ivan <ivan> | 2002-04-20 02:06:38 +0000 |
commit | e5f29642854dbdb606aa5763213e944ca449fc8a (patch) | |
tree | 566c3ded21a71e3fece364122136624f22939b66 /FS | |
parent | ad19e00a6f978d76fcb5e7f97b4169469c731c0f (diff) |
fix problem with edge case where there *is* a pkg_svc record with quantity 0,
when changing packages and using the special case new service code
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/cust_pkg.pm | 12 | ||||
-rw-r--r-- | FS/FS/cust_svc.pm | 6 |
2 files changed, 14 insertions, 4 deletions
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index f858a999d..0fc21478a 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -577,7 +577,9 @@ sub order { push @cust_svc, [ map { ( $svcnum{$_} && @{ $svcnum{$_} } ) ? shift @{ $svcnum{$_} } : (); - } map { $_->svcpart } qsearch('pkg_svc', { 'pkgpart' => $pkgpart }) + } map { $_->svcpart } + qsearch('pkg_svc', { pkgpart => $pkgpart, + quantity => { op=>'>', value=>'0', } } ) ]; } @@ -597,7 +599,11 @@ sub order { #find an empty place to put one my $i = 0; foreach my $pkgpart ( @{$pkgparts} ) { - my @pkg_svc = qsearch('pkg_svc', { pkgpart=>$pkgpart } ); + my @pkg_svc = + qsearch('pkg_svc', { pkgpart => $pkgpart, + quantity => { op=>'>', value=>'0', } } ); + #my @pkg_svc = + # grep { $_->quantity > 0 } qsearch('pkg_svc', { pkgpart=>$pkgpart } ); if ( ! @{$cust_svc[$i]} #find an empty place to put them with && grep { $svcdb eq $_->part_svc->svcdb } #with appropriate svcdb @pkg_svc @@ -689,7 +695,7 @@ sub order { =head1 VERSION -$Id: cust_pkg.pm,v 1.17 2002-04-12 15:14:58 ivan Exp $ +$Id: cust_pkg.pm,v 1.18 2002-04-20 02:06:38 ivan Exp $ =head1 BUGS diff --git a/FS/FS/cust_svc.pm b/FS/FS/cust_svc.pm index 23a3980ef..e6194b5b7 100644 --- a/FS/FS/cust_svc.pm +++ b/FS/FS/cust_svc.pm @@ -159,6 +159,10 @@ sub check { 'pkgpart' => $cust_pkg->pkgpart, 'svcpart' => $self->svcpart, }); + # or new FS::pkg_svc ( { 'pkgpart' => $cust_pkg->pkgpart, + # 'svcpart' => $self->svcpart, + # 'quantity' => 0 } ); + my @cust_svc = qsearch('cust_svc', { 'pkgnum' => $self->pkgnum, 'svcpart' => $self->svcpart, @@ -282,7 +286,7 @@ sub seconds_since { =head1 VERSION -$Id: cust_svc.pm,v 1.13 2002-04-12 15:14:58 ivan Exp $ +$Id: cust_svc.pm,v 1.14 2002-04-20 02:06:38 ivan Exp $ =head1 BUGS |