remove
[freeside.git] / httemplate / edit / process / svc_acct.cgi
1 <!-- $Id: svc_acct.cgi,v 1.3 2002-01-30 14:18:09 ivan Exp $ -->
2 <%
3
4 $cgi->param('svcnum') =~ /^(\d*)$/ or die "Illegal svcnum!";
5 my $svcnum = $1;
6
7 my $old;
8 if ( $svcnum ) {
9   $old = qsearchs('svc_acct', { 'svcnum' => $svcnum } )
10     or die "fatal: can't find account (svcnum $svcnum)!";
11 } else {
12   $old = '';
13 }
14
15 #unmunge popnum
16 $cgi->param('popnum', (split(/:/, $cgi->param('popnum') ))[0] );
17
18 #unmunge passwd
19 if ( $cgi->param('_password') eq '*HIDDEN*' ) {
20   die "fatal: no previous account to recall hidden password from!" unless $old;
21   $cgi->param('_password',$old->getfield('_password'));
22 }
23
24 my $new = new FS::svc_acct ( {
25   map {
26     $_, scalar($cgi->param($_));
27   #} qw(svcnum pkgnum svcpart username _password popnum uid gid finger dir
28   #  shell quota slipip)
29   } ( fields('svc_acct'), qw( pkgnum svcpart ) )
30 } );
31
32 my $error;
33 if ( $svcnum ) {
34   $error = $new->replace($old);
35 } else {
36   $error = $new->insert;
37   $svcnum = $new->svcnum;
38 }
39
40 if ( $error ) {
41   $cgi->param('error', $error);
42   print $cgi->redirect(popurl(2). "svc_acct.cgi?". $cgi->query_string );
43 } else {
44   print $cgi->redirect(popurl(3). "view/svc_acct.cgi?" . $svcnum );
45 }
46
47 %>