summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Burger <burgerc@freeside.biz>2017-09-12 12:08:41 -0400
committerChristopher Burger <burgerc@freeside.biz>2017-09-12 12:08:41 -0400
commit998b32d356338772484814a477d9efb159206b8d (patch)
treef93eebad83be0b899d8c37336d25b9eac80bf0b8
parent23f29deffa1fc6bc1a7b904c80f71db2d76dc26e (diff)
RT# 77504 - Fixed error display issue, and javascript to prevent error.
-rw-r--r--httemplate/elements/change_password.html15
-rw-r--r--httemplate/elements/validate_password.html9
-rw-r--r--httemplate/misc/process/change-password.html5
-rwxr-xr-xhttemplate/view/svc_acct.cgi3
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,