summaryrefslogtreecommitdiff
path: root/httemplate/misc/process/change-password.html
blob: 7cab9c4e3a3b3a1192ad20faa9c35f3876951e21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<%init>
my $curuser = $FS::CurrentUser::CurrentUser;

$cgi->param('svcnum') =~ /^(\d+)$/ or die "illegal svcnum";
my $svcnum = $1;
my $svc_acct = FS::svc_acct->by_key($svcnum)
  or die "svc_acct $svcnum not found";
my $part_svc = $svc_acct->part_svc;
die "access denied" unless (
  $curuser->access_right('Provision customer service') or
  ( $curuser->access_right('Edit password') and 
    ! $part_svc->restrict_edit_password )
  );
my $error = $svc_acct->set_password($cgi->param('password'))
        ||  $svc_acct->replace;

# annoyingly specific to view/svc_acct.cgi, for now...
$cgi->delete('password');
</%init>
% if ( $error ) {
%   $cgi->param('svcnum', $svcnum);
%   $cgi->param("changepw${svcnum}_error", $error);
% } else {
%   $cgi->query_string($svcnum);
% }
<% $cgi->redirect($fsurl.'view/svc_acct.cgi?'.$cgi->query_string) %>