From 035d0767d78b76853a8804a67325de10165df220 Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 2 Jul 2003 12:56:04 +0000 Subject: [PATCH] relaxed "first package" restrictions; will find any appropriate service with quantity 1 --- FS/FS/part_pkg.pm | 12 +++++++----- fs_signup/fs_signup_server | 2 +- 2 files changed, 8 insertions(+), 6 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 diff --git a/fs_signup/fs_signup_server b/fs_signup/fs_signup_server index 36af40a57..d6eb4a8d5 100755 --- a/fs_signup/fs_signup_server +++ b/fs_signup/fs_signup_server @@ -162,7 +162,7 @@ while (1) { my $part_pkg = qsearchs( 'part_pkg', { 'pkgpart' => $pkgpart } ) or $error ||= "WARNING: unknown pkgpart: $pkgpart"; - my $svcpart = $part_pkg->svcpart unless $error; + my $svcpart = $part_pkg->svcpart('svc_acct') unless $error; my $cust_pkg = new FS::cust_pkg ( { #later#'custnum' => $custnum, -- 2.11.0