3 $cgi->param('pkgnum') =~ /^(\d+)$/;
5 $cgi->param('svcpart') =~ /^(\d+)$/;
7 $cgi->param('svcnum') =~ /^(\d*)$/;
11 my $part_svc = qsearchs('part_svc',{'svcpart'=>$svcpart});
12 my $svcdb = $part_svc->getfield('svcdb');
13 $cgi->param('link_field') =~ /^(\w+)$/;
15 my $svc_x = ( grep { $_->cust_svc->svcpart == $svcpart }
16 qsearch( $svcdb, { $link_field => $cgi->param('link_value') })
18 eidiot("$link_field not found!") unless $svc_x;
19 $svcnum = $svc_x->svcnum;
22 my $old = qsearchs('cust_svc',{'svcnum'=>$svcnum});
23 die "svcnum not found!" unless $old;
24 #die "svcnum $svcnum already linked to package ". $old->pkgnum if $old->pkgnum;
25 my $new = new FS::cust_svc ({
28 'svcpart' => $svcpart,
31 my $error = $new->replace($old);
34 #no errors, so let's view this customer.
35 print $cgi->redirect(popurl(3). "view/cust_pkg.cgi?$pkgnum");