Initial revision
[freeside.git] / htdocs / edit / process / agent.cgi
1 #!/usr/bin/perl -Tw
2 #
3 # process/agent.cgi: Edit agent (process form)
4 #
5 # ivan@sisd.com 97-dec-12
6 #
7 # Changes to allow page to work at a relative position in server
8 #       bmccane@maxbaud.net     98-apr-3
9 #
10 # lose background, FS::CGI ivan@sisd.com 98-sep-2
11
12 use strict;
13 use CGI::Request;
14 use CGI::Carp qw(fatalsToBrowser);
15 use FS::UID qw(cgisuidsetup);
16 use FS::Record qw(qsearch qsearchs);
17 use FS::agent qw(fields);
18 use FS::CGI qw(idiot);
19
20 my($req)=new CGI::Request; # create form object
21
22 &cgisuidsetup($req->cgi);
23
24 my($agentnum)=$req->param('agentnum');
25
26 my($old)=qsearchs('agent',{'agentnum'=>$agentnum}) if $agentnum;
27
28 #unmunge typenum
29 $req->param('typenum') =~ /^(\d+)(:.*)?$/;
30 $req->param('typenum',$1);
31
32 my($new)=create FS::agent ( {
33   map {
34     $_, $req->param($_);
35   } fields('agent')
36 } );
37
38 my($error);
39 if ( $agentnum ) {
40   $error=$new->replace($old);
41 } else {
42   $error=$new->insert;
43   $agentnum=$new->getfield('agentnum');
44 }
45
46 if ( $error ) {
47   &idiot($error);
48 } else { 
49   #$req->cgi->redirect("../../view/agent.cgi?$agentnum");
50   #$req->cgi->redirect("../../edit/agent.cgi?$agentnum");
51   $req->cgi->redirect("../../browse/agent.cgi");
52 }
53