diff options
author | Christopher Burger <burgerc@freeside.biz> | 2017-09-12 12:08:41 -0400 |
---|---|---|
committer | Christopher Burger <burgerc@freeside.biz> | 2017-09-12 12:08:41 -0400 |
commit | 998b32d356338772484814a477d9efb159206b8d (patch) | |
tree | f93eebad83be0b899d8c37336d25b9eac80bf0b8 | |
parent | 23f29deffa1fc6bc1a7b904c80f71db2d76dc26e (diff) |
RT# 77504 - Fixed error display issue, and javascript to prevent error.
-rw-r--r-- | httemplate/elements/change_password.html | 15 | ||||
-rw-r--r-- | httemplate/elements/validate_password.html | 9 | ||||
-rw-r--r-- | httemplate/misc/process/change-password.html | 5 | ||||
-rwxr-xr-x | httemplate/view/svc_acct.cgi | 3 |
4 files changed, 25 insertions, 7 deletions
diff --git a/httemplate/elements/change_password.html b/httemplate/elements/change_password.html index 463384f2f..7d95e19dc 100644 --- a/httemplate/elements/change_password.html +++ b/httemplate/elements/change_password.html @@ -13,7 +13,7 @@ % } <DIV ID="<%$pre%>form" CLASS="passwordbox"> % if (!$opt{'noformtag'}) { - <FORM METHOD="POST" ACTION="<%$fsurl%>misc/process/change-password.html"> + <FORM METHOD="POST" ACTION="<%$fsurl%>misc/process/change-password.html" onsubmit="return checkPasswordValidation()"> % } <% $change_id_input %> @@ -33,9 +33,6 @@ 'contactnum' => $opt{'contact_num'}, 'submitid' => $change_button_id, &> -% if ( $error ) { - <BR><SPAN STYLE="color: #ff0000"><% $error |h %></SPAN> -% } % if (!$opt{'noformtag'}) { </FORM> @@ -58,6 +55,16 @@ function <%$pre%>toggle(toggle, clear) { toggle ? 'none' : 'inline'; % } } + +function checkPasswordValidation() { + var validationResult = document.getElementById('<%$pre%>password_result').innerHTML; + if (validationResult.match(/Password valid!/)) { + return true; + } + else { + return false; + } +} </SCRIPT> <%init> my %opt = @_; diff --git a/httemplate/elements/validate_password.html b/httemplate/elements/validate_password.html index 3d23a552c..d7e9f6d81 100644 --- a/httemplate/elements/validate_password.html +++ b/httemplate/elements/validate_password.html @@ -22,6 +22,15 @@ should be the input id plus '_result'. <SCRIPT> function add_password_validation (fieldid, submitid) { var inputfield = document.getElementById(fieldid); + inputfield.onkeydown = function(e) { + var key; + if (window.event) { key = window.event.keyCode; } + else { key = e.which; } + if (key == '13') { + var check = checkPasswordValidation(); + return check; + } + } inputfield.onkeyup = function () { var fieldid = this.id+'_result'; var resultfield = document.getElementById(fieldid); diff --git a/httemplate/misc/process/change-password.html b/httemplate/misc/process/change-password.html index be83786cd..a3e060168 100644 --- a/httemplate/misc/process/change-password.html +++ b/httemplate/misc/process/change-password.html @@ -7,6 +7,7 @@ % $cgi->param('contactnum', $contactnum); % $cgi->param("changepw${contactnum}_error", $error); % } +% $cgi->param('error', $error); % } else { % if ($svcnum) { $cgi->query_string($svcnum); } % elsif ($contactnum) { $cgi->query_string($contactnum); } @@ -52,7 +53,7 @@ if ($svcnum) { ! $part_svc->restrict_edit_password ) ); - my $error = $svc_acct->is_password_allowed($newpass) + $error = $svc_acct->is_password_allowed($newpass) || $svc_acct->set_password($newpass) || $svc_acct->replace; @@ -63,7 +64,7 @@ elsif ($contactnum) { my $contact = qsearchs('contact', { 'contactnum' => $contactnum } ) or return { 'error' => "Contact not found" . $contactnum }; - my $error = $contact->is_password_allowed($newpass) + $error = $contact->is_password_allowed($newpass) || $contact->change_password($newpass); # annoyingly specific to view/svc_acct.cgi, for now... diff --git a/httemplate/view/svc_acct.cgi b/httemplate/view/svc_acct.cgi index 747477989..026effb45 100755 --- a/httemplate/view/svc_acct.cgi +++ b/httemplate/view/svc_acct.cgi @@ -20,8 +20,9 @@ "javascript:areyousure(\'${p}misc/cancel-unaudited.cgi?$svcnum\')", ) &> -% } +% } +<& /elements/error.html &> <& elements/svc_radius_usage.html, 'svc' => $svc_acct, |