diff options
author | Mark Wells <mark@freeside.biz> | 2015-11-20 14:52:24 -0800 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2015-11-20 14:57:18 -0800 |
commit | c25351c22e3d5018a3afe1ecc2973d0aee6997a5 (patch) | |
tree | 12651c0ccd3de64bcaf41d16be0cc80012dc2825 /httemplate/edit/process | |
parent | 25d96215a7bfd0c4af5323ee658eed7675cf2ee0 (diff) |
password policy enforcement for svc_dsl, #32456
Diffstat (limited to 'httemplate/edit/process')
-rw-r--r-- | httemplate/edit/process/svc_dsl.html | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/httemplate/edit/process/svc_dsl.html b/httemplate/edit/process/svc_dsl.html index 627329a00..889366e07 100644 --- a/httemplate/edit/process/svc_dsl.html +++ b/httemplate/edit/process/svc_dsl.html @@ -1,5 +1,6 @@ <% include( 'elements/svc_Common.html', 'table' => 'svc_dsl', + 'precheck_callback' => $precheck_callback, ) %> <%init> @@ -7,4 +8,18 @@ die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific? +my $precheck_callback = sub { + my $cgi = shift; + my $svcnum = $cgi->param('svcnum'); + my $error = ''; + if ( $svcnum ) { + my $old = FS::svc_dsl->by_key($svcnum); + my $newpass = $cgi->param('password'); + if ( $old and $newpass ne $old->password ) { + $error ||= $old->is_password_allowed($newpass); + } + } + $error; +}; + </%init> |