3 # process/link.cgi: link to existing customer (process form)
5 # ivan@voicenet.com 97-feb-5
7 # rewrite ivan@sisd.com 98-mar-18
9 # Changes to allow page to work at a relative position in server
10 # bmccane@maxbaud.net 98-apr-3
12 # can also link on some other fields now (about time) ivan@sisd.com 98-jun-24
16 use CGI::Carp qw(fatalsToBrowser);
17 use FS::CGI qw(idiot);
18 use FS::UID qw(cgisuidsetup);
20 use FS::Record qw(qsearchs);
22 my($req)=new CGI::Request; # create form object
23 cgisuidsetup($req->cgi);
25 #$req->import_names('R'); #import CGI variables into package 'R';
27 $req->param('pkgnum') =~ /^(\d+)$/; my($pkgnum)=$1;
28 $req->param('svcpart') =~ /^(\d+)$/; my($svcpart)=$1;
30 $req->param('svcnum') =~ /^(\d*)$/; my($svcnum)=$1;
32 my($part_svc) = qsearchs('part_svc',{'svcpart'=>$svcpart});
33 my($svcdb) = $part_svc->getfield('svcdb');
34 $req->param('link_field') =~ /^(\w+)$/; my($link_field)=$1;
35 my($svc_acct)=qsearchs($svcdb,{$link_field => $req->param('link_value') });
36 idiot("$link_field not found!") unless $svc_acct;
37 $svcnum=$svc_acct->svcnum;
40 my($old)=qsearchs('cust_svc',{'svcnum'=>$svcnum});
41 die "svcnum not found!" unless $old;
42 my($new)=create FS::cust_svc ({
45 'svcpart' => $svcpart,
49 $error = $new->replace($old);
52 #no errors, so let's view this customer.
53 $req->cgi->redirect("../../view/cust_pkg.cgi?$pkgnum");
55 CGI::Base::SendHeaders(); # one guess
65 Your update did not occur because of the following error:
67 <P>Hit the <I>Back</I> button in your web browser, correct this mistake, and submit the form again.