summaryrefslogtreecommitdiff
path: root/httemplate/misc/process/link.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/misc/process/link.cgi')
-rwxr-xr-xhttemplate/misc/process/link.cgi13
1 files changed, 8 insertions, 5 deletions
diff --git a/httemplate/misc/process/link.cgi b/httemplate/misc/process/link.cgi
index 4b220a8..5d80ade 100755
--- a/httemplate/misc/process/link.cgi
+++ b/httemplate/misc/process/link.cgi
@@ -8,12 +8,15 @@ $cgi->param('svcnum') =~ /^(\d*)$/;
my $svcnum = $1;
unless ( $svcnum ) {
- my($part_svc) = qsearchs('part_svc',{'svcpart'=>$svcpart});
- my($svcdb) = $part_svc->getfield('svcdb');
- $cgi->param('link_field') =~ /^(\w+)$/; my($link_field)=$1;
- my($svc_x)=qsearchs($svcdb,{$link_field => $cgi->param('link_value') });
+ my $part_svc = qsearchs('part_svc',{'svcpart'=>$svcpart});
+ my $svcdb = $part_svc->getfield('svcdb');
+ $cgi->param('link_field') =~ /^(\w+)$/;
+ my $link_field = $1;
+ my $svc_x = ( grep { $_->cust_svc->svcpart == $svcpart }
+ qsearch( $svcdb, { $link_field => $cgi->param('link_value') })
+ )[0];
eidiot("$link_field not found!") unless $svc_x;
- $svcnum=$svc_x->svcnum;
+ $svcnum = $svc_x->svcnum;
}
my $old = qsearchs('cust_svc',{'svcnum'=>$svcnum});