2 my $curuser = $FS::CurrentUser::CurrentUser;
4 $cgi->param('svcnum') =~ /^(\d+)$/ or die "illegal svcnum";
6 my $svc_acct = FS::svc_acct->by_key($svcnum)
7 or die "svc_acct $svcnum not found";
8 my $part_svc = $svc_acct->part_svc;
9 die "access denied" unless (
10 $curuser->access_right('Provision customer service') or
11 ( $curuser->access_right('Edit password') and
12 ! $part_svc->restrict_edit_password )
14 my $error = $svc_acct->set_password($cgi->param('password'))
15 || $svc_acct->replace;
17 # annoyingly specific to view/svc_acct.cgi, for now...
18 $cgi->delete('password');
21 % $cgi->param('svcnum', $svcnum);
22 % $cgi->param("changepw${svcnum}_error", $error);
24 % $cgi->query_string($svcnum);
26 <% $cgi->redirect($fsurl.'view/svc_acct.cgi?'.$cgi->query_string) %>