diff options
author | ivan <ivan> | 2003-07-02 12:56:11 +0000 |
---|---|---|
committer | ivan <ivan> | 2003-07-02 12:56:11 +0000 |
commit | 17752dab037306648ff88db9489357d37410c4ad (patch) | |
tree | bdd2f6f7a592d5e7c4c12c9931ffa4bd40b137e1 /FS | |
parent | b1ba0f0d63940a98bf6ca2454490486181ed4d36 (diff) |
relaxed "first package" restrictions; will find any appropriate service with
quantity 1
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/part_pkg.pm | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/FS/FS/part_pkg.pm b/FS/FS/part_pkg.pm index 60b0e01f9..6571c529b 100644 --- a/FS/FS/part_pkg.pm +++ b/FS/FS/part_pkg.pm @@ -267,12 +267,14 @@ SVCDB is specified and does not match the svcdb of the service definition, sub svcpart { my $self = shift; - my $svcdb = shift; - my @pkg_svc = $self->pkg_svc; - return '' if scalar(@pkg_svc) != 1 - || $pkg_svc[0]->quantity != 1 - || ( $svcdb && $pkg_svc[0]->part_svc->svcdb ne $svcdb ); + my $svcdb = scalar(@_) ? shift : ''; + my @pkg_svc = grep { + $_->quantity == 1 + && ( $svcdb eq $_->part_svc->svcdb || !$svcdb ) + } $self->pkg_svc; + return '' if scalar(@pkg_svc) != 1; $pkg_svc[0]->svcpart; + } =item payby |