summaryrefslogtreecommitdiff
path: root/httemplate/edit/process
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2015-11-20 14:52:24 -0800
committerMark Wells <mark@freeside.biz>2015-11-20 14:57:18 -0800
commitc25351c22e3d5018a3afe1ecc2973d0aee6997a5 (patch)
tree12651c0ccd3de64bcaf41d16be0cc80012dc2825 /httemplate/edit/process
parent25d96215a7bfd0c4af5323ee658eed7675cf2ee0 (diff)
password policy enforcement for svc_dsl, #32456
Diffstat (limited to 'httemplate/edit/process')
-rw-r--r--httemplate/edit/process/svc_dsl.html15
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>