4.x+ self-service API: list and remove cards on file, RT#38919
[freeside.git] / httemplate / misc / process / change-password.html
1 <%init>
2 my $curuser = $FS::CurrentUser::CurrentUser;
3
4 $cgi->param('svcnum') =~ /^(\d+)$/ or die "illegal svcnum";
5 my $svcnum = $1;
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 )
13   );
14 my $error = $svc_acct->set_password($cgi->param('password'))
15         ||  $svc_acct->replace;
16
17 # annoyingly specific to view/svc_acct.cgi, for now...
18 $cgi->delete('password');
19 </%init>
20 % if ( $error ) {
21 %   $cgi->param('svcnum', $svcnum);
22 %   $cgi->param("changepw${svcnum}_error", $error);
23 % } else {
24 %   $cgi->query_string($svcnum);
25 % }
26 <% $cgi->redirect($fsurl.'view/svc_acct.cgi?'.$cgi->query_string) %>