6b11476338c2a0a1ed493c6e765869931eda8f55
[freeside.git] / httemplate / misc / process / catchall.cgi
1 <%
2 #<!--$Id: catchall.cgi,v 1.2 2001-08-21 02:31:56 ivan Exp $ -->
3
4 use strict;
5 use vars qw( $cgi $svcnum $old $new $error );
6 use CGI;
7 use CGI::Carp qw(fatalsToBrowser);
8 use FS::UID qw(cgisuidsetup);
9 use FS::Record qw(qsearchs fields);
10 use FS::svc_domain;
11 use FS::CGI qw(popurl);
12
13 $FS::svc_domain::whois_hack=1;
14
15 $cgi = new CGI;
16 cgisuidsetup($cgi);
17
18 $cgi->param('svcnum') =~ /^(\d*)$/ or die "Illegal svcnum!";
19 $svcnum =$1;
20
21 $old = qsearchs('svc_domain',{'svcnum'=>$svcnum}) if $svcnum;
22
23 $new = new FS::svc_domain ( {
24   map {
25     ($_, scalar($cgi->param($_)));
26   } ( fields('svc_domain'), qw( pkgnum svcpart ) )
27 } );
28
29 $new->setfield('action' => 'M');
30
31 if ( $svcnum ) {
32   $error = $new->replace($old);
33 } else {
34   $error = $new->insert;
35   $svcnum = $new->getfield('svcnum');
36
37
38 if ($error) {
39   $cgi->param('error', $error);
40   print $cgi->redirect(popurl(2). "catchall.cgi?". $cgi->query_string );
41 } else {
42   print $cgi->redirect(popurl(3). "view/svc_domain.cgi?$svcnum");
43 }
44
45 %>