diff options
author | ivan <ivan> | 2003-07-02 12:56:04 +0000 |
---|---|---|
committer | ivan <ivan> | 2003-07-02 12:56:04 +0000 |
commit | 035d0767d78b76853a8804a67325de10165df220 (patch) | |
tree | aa55650085c87db4feebd7e1dae6c6426dffcabf /FS/FS/part_pkg.pm | |
parent | 4f4ba96481821fb7e9c25e7258737d4a0de7c26b (diff) |
relaxed "first package" restrictions; will find any appropriate service with
quantity 1
Diffstat (limited to 'FS/FS/part_pkg.pm')
-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 60b0e01..6571c52 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 |