Commit 0cb77fda by Nilu

password popup tip. verify identity changes

parent d5e7a1ea
...@@ -18,7 +18,7 @@ import performa.orm.*; ...@@ -18,7 +18,7 @@ import performa.orm.*;
import performa.utils.Utils; import performa.utils.Utils;
public class VerifyIdentityFP extends ORMProcessFormProcessor public class VerifyIdentityFP extends SaveFP
{ {
private static LoggingArea LOG = LoggingArea.createLoggingArea("VerifyIdentity"); private static LoggingArea LOG = LoggingArea.createLoggingArea("VerifyIdentity");
protected ConfigurableArticleTemplateEmailer emailer; protected ConfigurableArticleTemplateEmailer emailer;
...@@ -41,13 +41,13 @@ public class VerifyIdentityFP extends ORMProcessFormProcessor ...@@ -41,13 +41,13 @@ public class VerifyIdentityFP extends ORMProcessFormProcessor
BusinessObjectParser.assertFieldCondition(secUser.getLastName() != null, secUser, SecUser.FIELD_LastName, "mandatory", exceptions, true, request); BusinessObjectParser.assertFieldCondition(secUser.getLastName() != null, secUser, SecUser.FIELD_LastName, "mandatory", exceptions, true, request);
if(isVerify) // if(isVerify)
{ // {
BusinessObjectParser.assertFieldCondition(job.getPassword()!= null, job, Job.FIELD_Password, "mandatory", exceptions, true, request); // BusinessObjectParser.assertFieldCondition(job.getPassword()!= null, job, Job.FIELD_Password, "mandatory", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(job.getConfirmPassword()!= null, job, Job.FIELD_ConfirmPassword, "mandatory", exceptions, true, request); // BusinessObjectParser.assertFieldCondition(job.getConfirmPassword()!= null, job, Job.FIELD_ConfirmPassword, "mandatory", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(CollectionUtils.equals(job.getPassword(), job.getConfirmPassword()), job, Job.FIELD_ConfirmPassword, "passwordNotMatch", exceptions, true, request); // BusinessObjectParser.assertFieldCondition(CollectionUtils.equals(job.getPassword(), job.getConfirmPassword()), job, Job.FIELD_ConfirmPassword, "passwordNotMatch", exceptions, true, request);
//
} // }
return super.validate(submission, exceptions); return super.validate(submission, exceptions);
} }
...@@ -68,9 +68,9 @@ public class VerifyIdentityFP extends ORMProcessFormProcessor ...@@ -68,9 +68,9 @@ public class VerifyIdentityFP extends ORMProcessFormProcessor
LogMgr.log(LOG, LogLevel.PROCESSING1, "Verifing User", job, secUser); LogMgr.log(LOG, LogLevel.PROCESSING1, "Verifing User", job, secUser);
if(CollectionUtils.equals(job.getPassword(), job.getConfirmPassword())) // if(CollectionUtils.equals(job.getPassword(), job.getConfirmPassword()))
{ // {
secUser.setAttribute("md5:" + SecUser.FIELD_Password, job.getPassword()); // secUser.setAttribute("md5:" + SecUser.FIELD_Password, job.getPassword());
candidate.setIsAccountVerified(Boolean.TRUE); candidate.setIsAccountVerified(Boolean.TRUE);
sendMail(candidate, request); sendMail(candidate, request);
...@@ -83,7 +83,7 @@ public class VerifyIdentityFP extends ORMProcessFormProcessor ...@@ -83,7 +83,7 @@ public class VerifyIdentityFP extends ORMProcessFormProcessor
// request.setAttribute("nextPage", nextPage + "&JobID=" + job.getObjectID()); // request.setAttribute("nextPage", nextPage + "&JobID=" + job.getObjectID());
LogMgr.log(LOG, LogLevel.PROCESSING1, "Password resetted", job, secUser); LogMgr.log(LOG, LogLevel.PROCESSING1, "Password resetted", job, secUser);
} // }
} }
process.completeAndRestart(); process.completeAndRestart();
......
...@@ -5694,7 +5694,7 @@ input{ ...@@ -5694,7 +5694,7 @@ input{
/* Styles for verification */ /* Styles for verification */
.pswd_info { .pswd_info {
position:absolute; position:absolute;
width: 230px; width: 280px;
padding:0; padding:0;
/* background:#fefefe; */ /* background:#fefefe; */
font-size:20px; font-size:20px;
...@@ -5703,8 +5703,8 @@ input{ ...@@ -5703,8 +5703,8 @@ input{
border:1px solid #ddd;*/ border:1px solid #ddd;*/
display:none; display:none;
z-index: 1000; z-index: 1000;
top: -20px; top: -25px;
right: -255px; right: -295px;
/* background-color: rgb(238,238,238);*/ /* background-color: rgb(238,238,238);*/
/*box-shadow: 5px 5px 5px #888888;*/ /*box-shadow: 5px 5px 5px #888888;*/
} }
......
...@@ -99,7 +99,7 @@ ...@@ -99,7 +99,7 @@
$('.verify-btn').attr('disabled', 'disabled'); $('.verify-btn').attr('disabled', 'disabled');
} else { } else {
$('.verify-btn').removeAttr('disabled'); $('.verify-btn').removeAttr('disabled');
clearInterval(interval); // clearInterval(interval);
} }
} }
</script> </script>
......
...@@ -60,35 +60,9 @@ ...@@ -60,35 +60,9 @@
Debug.assertion(job != null && !toRedirect, "Invalid job in applicant portal"); Debug.assertion(job != null && !toRedirect, "Invalid job in applicant portal");
Debug.assertion(candidate != null, "Invalid candidate in applicant portal"); Debug.assertion(candidate != null, "Invalid candidate in applicant portal");
%> %>
<script type="text/javascript"> <oneit:script>
$(document.body).addClass('bg-color'); <oneit:script src="/scripts/password_strength_lightweight.js"/>
</oneit:script>
$(document).ready(function() {
validate();
$('input').on('change keyup', function() { validate() });
interval = setInterval(function() { validate(); }, 500);
});
function validate() {
var empty = false;
$('input[required]').each(function() {
if ($( this ).val() == '') {
empty = true;
if ($( this ).css('background-color') == 'rgb(250, 255, 189)') {
empty = false;
}
}
});
if (empty) {
$('.verify-btn').attr('disabled', 'disabled');
} else {
$('.verify-btn').removeAttr('disabled');
clearInterval(interval);
}
}
</script>
<style> <style>
button[disabled] { button[disabled] {
opacity: 0.6; opacity: 0.6;
...@@ -97,7 +71,41 @@ ...@@ -97,7 +71,41 @@
</style> </style>
<oneit:form name="signIn" method="post" enctype="multipart/form-data"> <oneit:form name="signIn" method="post" enctype="multipart/form-data">
<%
String passkey = Utils.getPwdKeyOfSecUser(request, secUser, true);
%>
<script type="text/javascript">
$(document.body).addClass('bg-color');
$(document).ready(function() {
validate();
$('input').on('change keyup', function() { validate() });
interval = setInterval(function() { validate(); }, 500);
$('#myPassword').strength_meter({
"inputName" : "<%= passkey %>"
});
});
function validate() {
var empty = false;
$('input[required]').each(function() {
if ($( this ).val() == '') {
empty = true;
if ($( this ).css('background-color') == 'rgb(250, 255, 189)') {
empty = false;
}
}
});
if (empty) {
$('.verify-btn').attr('disabled', 'disabled');
} else {
$('.verify-btn').removeAttr('disabled');
clearInterval(interval);
}
}
</script>
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="main-verify-identity"> <div class="main-verify-identity">
...@@ -138,23 +146,12 @@ ...@@ -138,23 +146,12 @@
if(isVerify) if(isVerify)
{ {
%> %>
<div class="form-group text-left"> <div class="form-group text-left" id="myPassword">
<label>Password</label> <label>Password</label>
<oneit:ormInput obj="<%= job %>" type="password" attributeName="Password" cssClass="form-control second-style reset-pw" required="true"/>
</div> </div>
<div class="form-group text-left"> <div class="form-group text-left">
<label>Confirm password</label> <label>Confirm password</label>
<oneit:ormInput obj="<%= job %>" type="password" attributeName="ConfirmPassword" cssClass="form-control second-style reset-pw " required="true"/> <oneit:input type="password" name="<%= passkey + 2 %>" class="form-control second-style reset-pw"/>
</div>
<div class="form-group text-left">
<p>
Your password must:
<ul>
<li>* begin with a letter of the alphabet</li>
<li>* include at least one number</li>
<li>* not include any spaces or special characters.</li>
</ul>
</p>
</div> </div>
<% <%
} }
......
...@@ -11,11 +11,12 @@ Dependencies: ...@@ -11,11 +11,12 @@ Dependencies:
var upperCase = new RegExp('[A-Z]'); var upperCase = new RegExp('[A-Z]');
var lowerCase = new RegExp('[a-z]'); var lowerCase = new RegExp('[a-z]');
var numbers = new RegExp('[0-9]'); var numbers = new RegExp('[0-9]');
var regx = /^[A-Za-z0-9 _.-]+$/;
var pluginName = 'strength_meter', var pluginName = 'strength_meter',
defaults = { defaults = {
strengthWrapperClass: 'strength_wrapper', strengthWrapperClass: 'strength_wrapper',
inputClass: 'form-control', inputClass: 'form-control second-style reset-pw',
strengthMeterClass: 'strength_meter', strengthMeterClass: 'strength_meter',
toggleButtonClass: 'button_strength', toggleButtonClass: 'button_strength',
inputName : 'password' inputName : 'password'
...@@ -46,8 +47,10 @@ Dependencies: ...@@ -46,8 +47,10 @@ Dependencies:
<div class="info_box"><h4>Password must include:</h4> \ <div class="info_box"><h4>Password must include:</h4> \
<ul> \ <ul> \
<li data-criterion="length" class="valid">8-20 <strong>Characters</strong></li> \ <li data-criterion="length" class="valid">8-20 <strong>Characters</strong></li> \
<li data-criterion="capital" class="valid">At least <strong>one capital letter</strong></li> \
<li data-criterion="lower" class="valid">At least <strong>one lower case letter</strong></li> \
<li data-criterion="number" class="valid">At least <strong>one number</strong></li> \ <li data-criterion="number" class="valid">At least <strong>one number</strong></li> \
<li data-criterion="letter" class="valid">No spaces</li> \ <li data-criterion="letter" class="valid">No <strong>spaces</strong> and <strong>special characters</strong></li> \
</ul> \ </ul> \
</div></div>'); </div></div>');
...@@ -102,16 +105,20 @@ Dependencies: ...@@ -102,16 +105,20 @@ Dependencies:
var password = $s.val(); var password = $s.val();
var characters = (password.length >= 8); var characters = (password.length >= 8);
var capitalletters = password.match(upperCase) ? 1 : 0;
var loweletters = password.match(lowerCase) ? 1 : 0; var loweletters = password.match(lowerCase) ? 1 : 0;
var number = password.match(numbers) ? 1 : 0; var number = password.match(numbers) ? 1 : 0;
var containWhiteSpace = password.indexOf(' ') >= 0 ? 1 : 0; var containWhiteSpace = password.indexOf(' ') >= 0 ? 1 : 0;
var validText = regx.test(password) ? 1 : 0;
var total = characters + loweletters + number; var total = characters + capitalletters + loweletters + number;
that._update_indicator(total); that._update_indicator(total);
that._update_info('length', password.length >= 8 && password.length <= 20); that._update_info('length', password.length >= 8 && password.length <= 20);
that._update_info('capital', capitalletters);
that._update_info('lower', loweletters);
that._update_info('number', number); that._update_info('number', number);
that._update_info('letter', !containWhiteSpace); that._update_info('letter', !containWhiteSpace && validText);
}).focus(function () { }).focus(function () {
that.content.$pswdInfo.show(); that.content.$pswdInfo.show();
}).blur(function () { }).blur(function () {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment