1bb5bbaae6f10ac8418f5df79996079805b24a4d
[freeside.git] / htdocs / edit / process / agent.cgi
1 #!/usr/bin/perl -Tw
2 #
3 # $Id: agent.cgi,v 1.3 1998-12-17 08:40:16 ivan Exp $
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 # $Log: agent.cgi,v $
13 # Revision 1.3  1998-12-17 08:40:16  ivan
14 # s/CGI::Request/CGI.pm/; etc
15 #
16 # Revision 1.2  1998/11/23 07:52:29  ivan
17 # *** empty log message ***
18 #
19
20 use strict;
21 use CGI;
22 use CGI::Carp qw(fatalsToBrowser);
23 use FS::UID qw(cgisuidsetup);
24 use FS::Record qw(qsearch qsearchs);
25 use FS::agent qw(fields);
26 use FS::CGI qw(idiot popurl);
27
28 my($cgi)=new CGI;
29
30 &cgisuidsetup($cgi);
31
32 my($agentnum)=$cgi->param('agentnum');
33
34 my($old)=qsearchs('agent',{'agentnum'=>$agentnum}) if $agentnum;
35
36 #unmunge typenum
37 $cgi->param('typenum') =~ /^(\d+)(:.*)?$/;
38 $cgi->param('typenum',$1);
39
40 my($new)=create FS::agent ( {
41   map {
42     $_, scalar($cgi->param($_));
43   } fields('agent')
44 } );
45
46 my($error);
47 if ( $agentnum ) {
48   $error=$new->replace($old);
49 } else {
50   $error=$new->insert;
51   $agentnum=$new->getfield('agentnum');
52 }
53
54 if ( $error ) {
55   &idiot($error);
56 } else { 
57   print $cgi->redirect(popurl(3). "browse/agent.cgi");
58 }
59