2 #<!-- $Id: svc_acct.cgi,v 1.2 2001-08-21 02:31:56 ivan Exp $ -->
5 use vars qw( $cgi $svcnum $old $new $error );
7 use CGI::Carp qw(fatalsToBrowser);
8 use FS::UID qw(cgisuidsetup);
9 use FS::CGI qw(popurl);
10 use FS::Record qw(qsearchs fields);
16 $cgi->param('svcnum') =~ /^(\d*)$/ or die "Illegal svcnum!";
20 $old = qsearchs('svc_acct', { 'svcnum' => $svcnum } )
21 or die "fatal: can't find account (svcnum $svcnum)!";
27 $cgi->param('popnum', (split(/:/, $cgi->param('popnum') ))[0] );
30 if ( $cgi->param('_password') eq '*HIDDEN*' ) {
31 die "fatal: no previous account to recall hidden password from!" unless $old;
32 $cgi->param('_password',$old->getfield('_password'));
35 $new = new FS::svc_acct ( {
37 $_, scalar($cgi->param($_));
38 #} qw(svcnum pkgnum svcpart username _password popnum uid gid finger dir
40 } ( fields('svc_acct'), qw( pkgnum svcpart ) )
44 $error = $new->replace($old);
46 $error = $new->insert;
47 $svcnum = $new->svcnum;
51 $cgi->param('error', $error);
52 print $cgi->redirect(popurl(2). "svc_acct.cgi?". $cgi->query_string );
54 print $cgi->redirect(popurl(3). "view/svc_acct.cgi?" . $svcnum );