Commit 5967759c by chenith Committed by Harsh Shah

Email authentication updated, proceed verification request.

parent 11bb67ca
package performa.form;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import oneit.logging.LogLevel;
import oneit.logging.LogMgr;
import oneit.objstore.StorageException;
import oneit.objstore.parser.BusinessObjectParser;
import oneit.security.*;
import oneit.servlets.forms.*;
import oneit.servlets.process.*;
import oneit.servlets.security.SessionSecUserDecorator;
import oneit.utils.*;
import performa.orm.Candidate;
import performa.orm.Job;
import performa.orm.JobApplication;
public class ResetPasswordFP extends ORMProcessFormProcessor
{
@Override
public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException
{
HttpServletRequest request = submission.getRequest();
Job job = (Job) request.getAttribute("Job");
Candidate candidate = (Candidate) request.getAttribute("NewCandidate");
String nextPage = (String) request.getAttribute("nextPage");
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING1, "Inside ResetPasswordFP for ", job, candidate);
SecUser secUser = candidate.getUser();
if(CollectionUtils.equals(job.getPassword(), job.getConfirmPassword()))
{
secUser.setAttribute("md5:" + SecUser.FIELD_Password, job.getPassword());
candidate.setIsAccountVerified(Boolean.TRUE);
}
request.getSession().setAttribute (SecUser.SEC_USER_ID, secUser);
request.getSession().setAttribute (SessionSecUserDecorator.REFRESH_SECURITY, Boolean.TRUE);
process.completeAndRestart();
process.setAttributeIgnoreTX("Job", job);
return new ProcessRedirectResult(nextPage, new String[0]);
}
@Override
public void validate(ORMProcessState process, SubmissionDetails submission, MultiException exceptions, Map params) throws StorageException
{
HttpServletRequest request = submission.getRequest();
Job job = (Job) request.getAttribute("Job");
Candidate candidate = (Candidate) request.getAttribute("NewCandidate");
if(candidate!=null)
{
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(CollectionUtils.equals(job.getPassword(), job.getConfirmPassword()), job, Job.FIELD_ConfirmPassword, "passwordNotMatch", exceptions, true, request);
}
super.validate(process, submission, exceptions, params);
}
}
...@@ -95,7 +95,7 @@ public class SendVerificationMailFP extends SaveFP ...@@ -95,7 +95,7 @@ public class SendVerificationMailFP extends SaveFP
{ {
LogMgr.log(LOG, LogLevel.PROCESSING1, "Sending verification mail from SendVerificationMailFP to :: ", candidate); LogMgr.log(LOG, LogLevel.PROCESSING1, "Sending verification mail from SendVerificationMailFP to :: ", candidate);
Article verificationArticle = WebUtils.getArticleByShortCut(candidate.getTransaction(), WebUtils.APPLY_JOB); Article verificationArticle = WebUtils.getArticleByShortCut(candidate.getTransaction(), WebUtils.APPLICANT_ACCOUNT_VERIFICATION);
RandomStringGen random = new RandomStringGen(); RandomStringGen random = new RandomStringGen();
//set verification key and send mail time //set verification key and send mail time
...@@ -104,8 +104,7 @@ public class SendVerificationMailFP extends SaveFP ...@@ -104,8 +104,7 @@ public class SendVerificationMailFP extends SaveFP
String link = LoopbackHTTP.getRemoteAccessURL(request) String link = LoopbackHTTP.getRemoteAccessURL(request)
+ verificationArticle.getLink(request, CollectionUtils.EMPTY_MAP, "/") + verificationArticle.getLink(request, CollectionUtils.EMPTY_MAP, "/")
+ "?cms%2Erm=SignIn" + "?id=" + job.getID()
+ "&id=" + job.getID()
+ "&key=" + job.getRandomKey() + "&key=" + job.getRandomKey()
+ "&aid=" + candidate.getID() + "&aid=" + candidate.getID()
+ "&pin=" + candidate.getVerificationKey(); + "&pin=" + candidate.getVerificationKey();
......
...@@ -3,22 +3,26 @@ package performa.form; ...@@ -3,22 +3,26 @@ package performa.form;
import java.util.Map; import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import oneit.logging.*; import oneit.logging.*;
import oneit.objstore.StorageException;
import oneit.objstore.parser.BusinessObjectParser; import oneit.objstore.parser.BusinessObjectParser;
import oneit.security.SecUser; import oneit.security.SecUser;
import oneit.servlets.forms.*; import oneit.servlets.forms.*;
import oneit.servlets.process.*; import oneit.servlets.process.*;
import oneit.servlets.security.SessionSecUserDecorator;
import oneit.utils.*; import oneit.utils.*;
import performa.orm.*; import performa.orm.*;
public class VerifyIdentityFP extends SaveFP public class VerifyIdentityFP extends ORMProcessFormProcessor
{ {
private static LoggingArea LOG = LoggingArea.createLoggingArea("VerifyIdentity"); private static LoggingArea LOG = LoggingArea.createLoggingArea("VerifyIdentity");
@Override @Override
protected Map validate(SubmissionDetails submission, MultiException exceptions) protected Map validate(SubmissionDetails submission, MultiException exceptions)
{ {
HttpServletRequest request = submission.getRequest(); HttpServletRequest request = submission.getRequest();
Boolean isVerify = CollectionUtils.equals(request.getAttribute("isVerify"), Boolean.TRUE);
Job job = (Job) request.getAttribute("Job"); Job job = (Job) request.getAttribute("Job");
Candidate candidate = (Candidate) request.getAttribute("Candidate"); Candidate candidate = (Candidate) request.getAttribute("Candidate");
SecUser secUser = candidate.getUser(); SecUser secUser = candidate.getUser();
...@@ -31,6 +35,48 @@ public class VerifyIdentityFP extends SaveFP ...@@ -31,6 +35,48 @@ public class VerifyIdentityFP extends SaveFP
BusinessObjectParser.assertFieldCondition(secUser.getFirstName() != null, secUser, SecUser.FIELD_FirstName, "mandatory", exceptions, true, request); BusinessObjectParser.assertFieldCondition(secUser.getFirstName() != null, secUser, SecUser.FIELD_FirstName, "mandatory", exceptions, true, request);
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)
{
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(CollectionUtils.equals(job.getPassword(), job.getConfirmPassword()), job, Job.FIELD_ConfirmPassword, "passwordNotMatch", exceptions, true, request);
}
return super.validate(submission, exceptions); return super.validate(submission, exceptions);
} }
@Override
public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException
{
HttpServletRequest request = submission.getRequest();
Boolean isVerify = CollectionUtils.equals(request.getAttribute("isVerify"), Boolean.TRUE);
Job job = (Job) request.getAttribute("Job");
String nextPage = (String) request.getAttribute("nextPage");
if(isVerify)
{
Candidate candidate = (Candidate) request.getAttribute("Candidate");
SecUser secUser = candidate.getUser();
LogMgr.log(LOG, LogLevel.PROCESSING1, "Verifing User", job, secUser);
if(CollectionUtils.equals(job.getPassword(), job.getConfirmPassword()))
{
secUser.setAttribute("md5:" + SecUser.FIELD_Password, job.getPassword());
candidate.setIsAccountVerified(Boolean.TRUE);
request.getSession().setAttribute (SecUser.SEC_USER_ID, secUser);
request.getSession().setAttribute (SessionSecUserDecorator.REFRESH_SECURITY, Boolean.TRUE);
// request.setAttribute("nextPage", nextPage + "&JobID=" + job.getObjectID());
LogMgr.log(LOG, LogLevel.PROCESSING1, "Password resetted", job, secUser);
}
}
process.completeAndRestart();
return new ProcessRedirectResult(nextPage + "&JobID=" + job.getObjectID(), new String[0]);
}
} }
\ No newline at end of file
...@@ -404,7 +404,7 @@ public class Job extends BaseJob ...@@ -404,7 +404,7 @@ public class Job extends BaseJob
{ {
if(getEmail()!=null) if(getEmail()!=null)
{ {
SecUser user = SecUser.searchNAME(getTransaction(), getEmail()); SecUser user = SecUser.searchNAME(getTransaction(), getEmail().toLowerCase());
if(user!=null && user.getExtension(Candidate.REFERENCE_Candidate)!=null) if(user!=null && user.getExtension(Candidate.REFERENCE_Candidate)!=null)
{ {
......
...@@ -38,6 +38,7 @@ public class WebUtils ...@@ -38,6 +38,7 @@ public class WebUtils
public static final String APPLICANTS_GRID = "ApplicantsGrid"; public static final String APPLICANTS_GRID = "ApplicantsGrid";
public static final String VIEW_APPLICATION = "ViewApplication"; public static final String VIEW_APPLICATION = "ViewApplication";
public static final String UNSUITABLE_APPS = "UnsuitableApps"; public static final String UNSUITABLE_APPS = "UnsuitableApps";
public static final String APPLICANT_ACCOUNT_VERIFICATION = "ApplicantAccountVerification";
public static String getArticleLink(HttpServletRequest request, ObjectTransaction objTran, String articleShortcut, String renderMode) public static String getArticleLink(HttpServletRequest request, ObjectTransaction objTran, String articleShortcut, String renderMode)
......
...@@ -4389,7 +4389,7 @@ img.alert-icon {float: left;} ...@@ -4389,7 +4389,7 @@ img.alert-icon {float: left;}
.main-export {text-align: center;} .main-export {text-align: center;}
.appli-name,.appli-applied{text-align: center;} .appli-name,.appli-applied{text-align: center;}
.appli-applied {margin-bottom: 15px;} .appli-applied {margin-bottom: 15px;}
.main-verify-identity {width: 100%;padding: 0 30px;} .main-verify-identity {width: 100%;padding: 0 30px; margin-bottom: 80px;}
.pl-confirm {font-size: 12px;margin: 29px 0 25px;} .pl-confirm {font-size: 12px;margin: 29px 0 25px;}
.main-box-layout.main-verify-step-2 {padding: 28px 30px 29px;} .main-box-layout.main-verify-step-2 {padding: 28px 30px 29px;}
.main-box-layout.login-box{padding: 28px 30px 29px;} .main-box-layout.login-box{padding: 28px 30px 29px;}
......
...@@ -11,7 +11,6 @@ ...@@ -11,7 +11,6 @@
<FORM name="*.sendVerificationMail" factory="Participant" class="performa.form.SendVerificationMailFP"> <FORM name="*.sendVerificationMail" factory="Participant" class="performa.form.SendVerificationMailFP">
<AccountVerificationEmailer factory="Participant" class="oneit.email.ConfigurableArticleTemplateEmailer" templateShortcut="AccountVerificationMail"/> <AccountVerificationEmailer factory="Participant" class="oneit.email.ConfigurableArticleTemplateEmailer" templateShortcut="AccountVerificationMail"/>
</FORM> </FORM>
<FORM name="*.resetPassword" factory="Participant" class="performa.form.ResetPasswordFP"/>
</NODE> </NODE>
......
...@@ -29,14 +29,25 @@ ...@@ -29,14 +29,25 @@
</MAP> </MAP>
<MAP value="APPLICANT_ACCOUNT_VERIFICATION" description="Applicant Account Verification" TemplatePage="dynamic_content_form.jsp">
<NODE name="Config" factory="Participant" class="oneit.business.content.ArticleConfiguration">
<INHERITS nodename="StandardJSP"/>
<RenderMode name="Page" preIncludeJSP="extensions/applicantportal/verify_identity.jsp"/>
<RenderMode name="AuthError" preIncludeJSP="extensions/applicantportal/auth_error.jsp"/>
</NODE>
</MAP>
<MAP value="JOB_APLICATION" description="Job Application" TemplatePage="dynamic_content_form_applicant.jsp"> <MAP value="JOB_APLICATION" description="Job Application" TemplatePage="dynamic_content_form_applicant.jsp">
<NODE name="Config" factory="Participant" class="oneit.business.content.ArticleConfiguration"> <NODE name="Config" factory="Participant" class="oneit.business.content.ArticleConfiguration">
<INHERITS nodename="StandardJSP"/> <INHERITS nodename="StandardJSP"/>
<RenderMode name="Page" preIncludeJSP="extensions/applicantportal/verify_identity.jsp"/> <RenderMode name="Page" preIncludeJSP="extensions/applicantportal/application_outline.jsp"/>
<RenderMode name="ApplicationOutline" preIncludeJSP="extensions/applicantportal/application_outline.jsp"/>
<RenderMode name="SelectionCriteria" preIncludeJSP="extensions/applicantportal/selection_criteria.jsp"/> <RenderMode name="SelectionCriteria" preIncludeJSP="extensions/applicantportal/selection_criteria.jsp"/>
<RenderMode name="WorkplaceCulture" preIncludeJSP="extensions/applicantportal/workplace_culture.jsp"/> <RenderMode name="WorkplaceCulture" preIncludeJSP="extensions/applicantportal/workplace_culture.jsp"/>
<RenderMode name="JobMatchAssessment" preIncludeJSP="extensions/applicantportal/job_match_assessment.jsp"/> <RenderMode name="JobMatchAssessment" preIncludeJSP="extensions/applicantportal/job_match_assessment.jsp"/>
......
...@@ -7,29 +7,36 @@ ...@@ -7,29 +7,36 @@
<oneit:dynIncluded> <oneit:dynIncluded>
<div class="main-application-outline"> <div class="main-application-outline">
<% <%
ObjectTransaction objTran = process.getTransaction (); ObjectTransaction objTran = process.getTransaction ();
String nextPage = WebUtils.getSamePageInRenderMode(request, "SelectionCriteria"); String nextPage = WebUtils.getSamePageInRenderMode(request, "SelectionCriteria");
Job job = (Job) process.getAttribute("Job");
Candidate candidate = Utils.getCandidateUser(transaction); boolean toRedirect = GenericObjDF.getOrCreateObject (request, "Job", Job.REFERENCE_Job);
JobApplication jobApplication = JobApplication.searchCandidateJob(objTran, candidate, job); Job job = (Job) process.getAttribute("Job");
Debug.assertion(job != null && !toRedirect, "Invalid job in applicant portal");
SecUser secUser = SecUser.getTXUser(transaction);
Candidate candidate = secUser.getExtension(Candidate.REFERENCE_Candidate);
Debug.assertion(candidate != null, "Invalid candidate in applicant portal");
JobApplication jobApplication = JobApplication.searchCandidateJob(objTran, candidate, job);
if(jobApplication == null) if(jobApplication == null)
{ {
jobApplication = JobApplication.createNewApplication(candidate, job); jobApplication = JobApplication.createNewApplication(candidate, job);
} }
if(!jobApplication.isIncludeAssessmentCriteria()) if(!jobApplication.isIncludeAssessmentCriteria())
{ {
nextPage = WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture"); nextPage = WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture");
} }
Boolean isSelectionComplete = jobApplication.selectionCompleted(); Boolean isSelectionComplete = jobApplication.selectionCompleted();
Boolean isCultureComplete = jobApplication.cultureCompleted(); Boolean isCultureComplete = jobApplication.cultureCompleted();
Boolean isAssesmentComplete = jobApplication.assessmentCompleted(); Boolean isAssesmentComplete = jobApplication.assessmentCompleted();
process.setAttribute("JobApplication", jobApplication); process.setAttribute("JobApplication", jobApplication);
%> %>
<div class="welcome-aust-logo"><img src="images/australia-post.png" /></div> <div class="welcome-aust-logo"><img src="images/australia-post.png" /></div>
<div class="welcome-title">Welcome <oneit:toString value="<%= candidate.getFirstName() %>"/>, here's your application outline</div> <div class="welcome-title">Welcome <oneit:toString value="<%= candidate.getFirstName() %>"/>, here's your application outline</div>
......
<%@ page extends="oneit.servlets.jsp.JSPInclude" %>
<oneit:dynIncluded>
<div style="width: 50%; margin: 0px auto 0px auto; text-align: center">
<h3>Authentication Error</h3>
<p><span>Access expired.</span></p>
</div>
</oneit:dynIncluded>
<?xml version="1.0" encoding="UTF-8"?>
<OBJECTS xmlns:oneit="http://www.1iT.com.au" name="">
<NODE factory="Vector" name="Script"><NODE class="oneit.appservices.upgrade.cms.CMSArticleUpdateOperation" factory="Participant" name="Applicant Account Verification">
<createSpecificIdentifier factory='String' value='N44QD8IGZX6RGR87R9C0ELX4XHQ1XF'/>
<articleIdentifiers factory="Array" class="java.lang.String">
<NODE factory="String" value="N44QD8IGZX6RGR87R9C0ELX4XHQ1XF"/>
</articleIdentifiers>
<createdLabel factory="String" value="N44QD8IGZX6RGR87R9C0ELX4XHQ1XF"/>
<newParentCategory factory="String" value="created:N6SFUFOG4A2H5U7ER9T8YDQI56H2TG"/>
<articleAttributeChanges factory="Map">
<NODE name="Additional CSS Class" factory="Null"/>
<NODE name="Exclude From Sitemap" factory="Boolean" value="false"/>
<NODE name="Exclude from SEO Indexing" factory="Boolean" value="false"/>
<NODE name="Add Brackline Separator" factory="Boolean" value="false"/>
<NODE name="On Top Menu" factory="Boolean" value="false"/>
<NODE name="On Footer Left" factory="Boolean" value="false"/>
<NODE name="Menu Title" factory="Null"/>
<NODE name="On Footer Menu" factory="Boolean" value="false"/>
<NODE name="Exclude From Search" factory="Boolean" value="false"/>
<NODE name="Menu Icon CSS" factory="Null"/>
<NODE name="On Left Menu" factory="Boolean" value="false"/>
<NODE name="Shortcuts" factory="String" value="ApplicantAccountVerification"/>
<NODE name="Exclude From Navigation" factory="Boolean" value="false"/>
<NODE name="On Footer Right" factory="Boolean" value="false"/>
</articleAttributeChanges>
<ormAttributeChanges factory="Map">
<NODE name="PublishDate" factory="Date" value="2017-06-20 00:00:00"/>
<NODE name="WithdrawDate" factory="Date" value="2067-06-20 13:00:00"/>
<NODE name="Title" factory="String" value="Applicant Account Verification"/>
<NODE name="ShortTitle" factory="String" value="Account Verification"/>
<NODE name="SortOrder" factory="Integer" value="-36831674"/>
<NODE name="Type" factory="Enumerated" class="oneit.business.content.ArticleType" value="ARTICLE"/>
<NODE name="Template" factory="Enumerated" class="oneit.business.content.ArticleTemplate" value="APPLICANT_ACCOUNT_VERIFICATION"/>
</ormAttributeChanges>
<content factory="Map"> <NODE name="Body" factory="Map">
<NODE name="Content" factory="String"><![CDATA[<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="HTML Tidy, see www.w3.org" name="generator">
<title></title>
</head>
<body>
<p>&nbsp;</p>
</body>
</html>
]]></NODE>
<NODE name="TransformedContent" factory="String"><![CDATA[<p>&nbsp;</p>
]]></NODE>
<NODE name="IncludeContent" factory="Boolean" value="true"/>
</NODE>
<NODE name="Synopsis" factory="Map">
<NODE name="Content" factory="String"><![CDATA[
<p></p>
]]></NODE>
<NODE name="IncludeContent" factory="Boolean" value="true"/>
</NODE>
</content>
</NODE>
</NODE>
</OBJECTS>
\ No newline at end of file
...@@ -5,21 +5,97 @@ ...@@ -5,21 +5,97 @@
<oneit:dynIncluded> <oneit:dynIncluded>
<% <%
boolean toRedirect = GenericObjDF.getOrCreateObject (request, "Job", Job.REFERENCE_Job); String nextPage = WebUtils.getArticleLink(request, process.getTransaction (), WebUtils.JOB_APPLICATION, "Page");
Job job = (Job) process.getAttribute("Job"); Candidate candidate = (Candidate) process.getAttribute("NewCandidate");
Job job = (Job) process.getAttribute("Job");
SecUser secUser = null;
boolean toRedirect = false;
//to process candidate verification
String id = request.getParameter("id");
String key = request.getParameter("key");
String candidateId = request.getParameter("aid");
String pin = request.getParameter("pin");
Boolean isVerify = Boolean.FALSE;
if(id!=null || key!=null || candidateId!=null || pin!=null)
{
isVerify = Boolean.TRUE;
Debug.assertion(job != null && !toRedirect, "Invalid job in applicant portal"); if(candidateId!=null && pin!=null)
{
candidate = Candidate.searchIdPin(transaction, Long.parseLong(candidateId), pin);
if(candidate!=null && candidate.getIsAccountVerified()!=Boolean.TRUE)
{
secUser = candidate.getUser();
process.setAttribute("NewCandidate", candidate);
}
}
if(id != null && key != null)
{
job = Job.searchJobKey(transaction, Long.parseLong(id), key);
process.setAttribute("Job", job);
}
}
else
{
toRedirect = GenericObjDF.getOrCreateObject (request, "Job", Job.REFERENCE_Job);
}
//INVALID REQUEST FOR VERIFY CANDIDATE
if(isVerify && (job==null || secUser==null))
{
response.sendRedirect(WebUtils.getSamePageInRenderMode(request, "AuthError"));
}
SecUser secUser = SecUser.getTXUser(transaction); if(secUser==null)
Candidate candidate = secUser.getExtension(Candidate.REFERENCE_Candidate); {
secUser = SecUser.getTXUser(transaction);
candidate = secUser.getExtension(Candidate.REFERENCE_Candidate);
}
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");
String nextPage = WebUtils.getSamePageInRenderMode(request, "ApplicationOutline");
%> %>
<script> <script type="text/javascript">
$(document.body).addClass('bg-color'); $(document.body).addClass('bg-color');
$(document).ready(function() {
$('.reset-pw-btn').attr('disabled', 'disabled');
validate();
$('.reset-pw').keyup(function() {
validate();
});
});
function validate() {
var empty = false;
$('input.reset-pw').each(function() {
if ($( this ).val() == '') {
empty = true;
}
});
if(empty) {
$('.reset-pw-btn').attr('disabled', 'disabled');
} else {
$('.reset-pw-btn').removeAttr('disabled');
}
}
</script> </script>
<style>
button[disabled] {
opacity: 0.6;
background-color: #0582ba;
}
</style>
<oneit:form name="signIn" method="post" enctype="multipart/form-data"> <oneit:form name="signIn" method="post" enctype="multipart/form-data">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
...@@ -30,7 +106,7 @@ ...@@ -30,7 +106,7 @@
<div class="main-box-layout main-verify-step-2"> <div class="main-box-layout main-verify-step-2">
<div class="form-group text-left"> <div class="form-group text-left">
<label>Email Address</label> <label>Email Address</label>
<oneit:ormInput obj="<%= secUser %>" type="text" attributeName="UserName" cssClass="form-control second-style" /> <oneit:ormInput obj="<%= secUser %>" type="text" attributeName="UserName" cssClass="form-control second-style" disabled="true" readonly="true"/>
</div> </div>
<div class="row"> <div class="row">
<div class="form-group text-left col-sm-6 col-xs-12"> <div class="form-group text-left col-sm-6 col-xs-12">
...@@ -46,13 +122,28 @@ ...@@ -46,13 +122,28 @@
<label><oneit:ormlabel obj="<%= candidate %>" field="Phone" /></label> <label><oneit:ormlabel obj="<%= candidate %>" field="Phone" /></label>
<oneit:ormInput obj="<%= candidate %>" type="text" attributeName="Phone" cssClass="form-control second-style" /> <oneit:ormInput obj="<%= candidate %>" type="text" attributeName="Phone" cssClass="form-control second-style" />
</div> </div>
<%
if(isVerify)
{
%>
<div class="form-group text-left">
<label>Password</label>
<oneit:ormInput obj="<%= job %>" type="password" attributeName="Password" cssClass="form-control second-style reset-pw"/>
</div>
<div class="form-group text-left">
<label>Confirm password</label>
<oneit:ormInput obj="<%= job %>" type="password" attributeName="ConfirmPassword" cssClass="form-control second-style reset-pw"/>
</div>
<%
}
%>
<div class="text-center"> <div class="text-center">
<oneit:button value="Verify and proceed" name="verifyIdentity" cssClass="box-btn margin-top-18" <oneit:button value="<%= isVerify ? "Sign In" : "Verify and proceed"%>" name="verifyIdentity" cssClass="box-btn reset-pw-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage) requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("Job", job) .mapEntry("Job",job)
.mapEntry("Candidate", candidate) .mapEntry("Candidate",candidate)
.mapEntry("attribNamesToRestore", CollectionUtils.createSet("Job")) .mapEntry("isVerify",isVerify)
.mapEntry("restartProcess", Boolean.TRUE)
.toMap() %>"/> .toMap() %>"/>
</div> </div>
</div> </div>
......
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