Commit e152f1d4 by Nilu

S22874198 # Matchd / Talentology - No Plan [Enhancement] #Simple Apply - code review changes

parent cae0567b
package performa.form; package performa.form;
import java.util.Date;
import java.util.HashSet; import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import oneit.business.content.Article;
import oneit.components.ParticipantInitialisationContext;
import oneit.email.ConfigurableArticleTemplateEmailer;
import oneit.email.ConfigurableEmailerException;
import oneit.logging.*; import oneit.logging.*;
import oneit.net.LoopbackHTTP;
import oneit.objstore.ObjectTransaction; import oneit.objstore.ObjectTransaction;
import oneit.objstore.StorageException; import oneit.objstore.StorageException;
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.utils.*; import oneit.utils.*;
import performa.orm.*; import performa.orm.*;
import performa.orm.types.RoleType;
import performa.utils.Utils; import performa.utils.Utils;
import performa.utils.WebUtils;
public class ConfirmDetailsFP extends SaveFP public class ConfirmDetailsFP extends SaveFP
...@@ -44,7 +35,7 @@ public class ConfirmDetailsFP extends SaveFP ...@@ -44,7 +35,7 @@ public class ConfirmDetailsFP extends SaveFP
SecUser secUser = SecUser.searchNAME(objTran, email); SecUser secUser = SecUser.searchNAME(objTran, email);
if(secUser==null) if(secUser == null)
{ {
secUser = SecUser.createSecUser(objTran); secUser = SecUser.createSecUser(objTran);
...@@ -58,10 +49,13 @@ public class ConfirmDetailsFP extends SaveFP ...@@ -58,10 +49,13 @@ public class ConfirmDetailsFP extends SaveFP
LogMgr.log(LOG, LogLevel.PROCESSING1, "New user created :: ", secUser); LogMgr.log(LOG, LogLevel.PROCESSING1, "New user created :: ", secUser);
Set<String> attribsToRestore = new HashSet<>();
attribsToRestore.add("Job");
attribsToRestore.add("NewCandidate");
request.setAttribute("attribNamesToRestore", attribsToRestore);
process.setAttribute("NewCandidate",candidate); process.setAttribute("NewCandidate",candidate);
request.setAttribute("nextPage", request.getAttribute("nextPage"));
return super.processForm(process, submission, params); return super.processForm(process, submission, params);
} }
} }
\ No newline at end of file
...@@ -49,7 +49,26 @@ public class SendVerificationMailFP extends SaveFP ...@@ -49,7 +49,26 @@ public class SendVerificationMailFP extends SaveFP
} }
else else
{ {
BusinessObjectParser.assertFieldCondition(!Utils.emailExists(process.getTransaction(), job.getEmail()), job, Job.FIELD_Email, "emailExists", exceptions, true, request); JobApplication jobApplication = (JobApplication)request.getAttribute("JobApplication");
Candidate candidate = (Candidate) request.getAttribute("Candidate");
SecUser secUser = candidate.getUser();
BusinessObjectParser.assertFieldCondition(secUser.getEmail() != null , job, Job.FIELD_Email, "mandatory", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(StringUtils.isEmailAddress(secUser.getEmail()), job, Job.FIELD_Email, "invalid", 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(candidate.isTrue(candidate.getPrivacyPolicyAgreed()), candidate, Candidate.FIELD_PrivacyPolicyAgreed, "agreePrivacy", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(candidate.isTrue(candidate.getConditionsAgreed()), candidate, Candidate.FIELD_ConditionsAgreed, "agreeTerms", exceptions, true, request);
// BusinessObjectParser.assertFieldCondition(secUser.checkPassword(job.getPassword()), job, Job.FIELD_Password, "invalid", exceptions, true, request);
if(job.getRequireCV())
{
BusinessObjectParser.assertFieldCondition(jobApplication.getCV() != null , jobApplication, JobApplication.FIELD_CV, "uploadCV", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(jobApplication.getCoverLetter() != null , jobApplication, JobApplication.FIELD_CoverLetter, "uploadCover", exceptions, true, request);
}
} }
super.validate(process, submission, exceptions, params); super.validate(process, submission, exceptions, params);
......
...@@ -10,7 +10,6 @@ import oneit.logging.*; ...@@ -10,7 +10,6 @@ import oneit.logging.*;
import oneit.net.LoopbackHTTP; import oneit.net.LoopbackHTTP;
import oneit.objstore.StorageException; import oneit.objstore.StorageException;
import oneit.objstore.parser.BusinessObjectParser; import oneit.objstore.parser.BusinessObjectParser;
import oneit.objstore.rdbms.filters.EqualsFilter;
import oneit.security.SecUser; import oneit.security.SecUser;
import oneit.servlets.forms.*; import oneit.servlets.forms.*;
import oneit.servlets.process.*; import oneit.servlets.process.*;
...@@ -30,26 +29,11 @@ public class VerifyIdentityFP extends SaveFP ...@@ -30,26 +29,11 @@ public class VerifyIdentityFP extends SaveFP
protected Map validate(SubmissionDetails submission, MultiException exceptions) protected Map validate(SubmissionDetails submission, MultiException exceptions)
{ {
HttpServletRequest request = submission.getRequest(); HttpServletRequest request = submission.getRequest();
Job job = (Job) request.getAttribute("Job");
JobApplication jobApplication = (JobApplication)request.getAttribute("JobApplication"); JobApplication jobApplication = (JobApplication)request.getAttribute("JobApplication");
Candidate candidate = (Candidate) request.getAttribute("Candidate");
SecUser secUser = candidate.getUser();
Boolean isVerify = CollectionUtils.equals(request.getAttribute("isVerify"), Boolean.TRUE);
boolean fromCoverLetter = request.getAttribute("fromCoverLetter") != null ? (boolean) request.getAttribute("fromCoverLetter"): false; boolean fromCoverLetter = request.getAttribute("fromCoverLetter") != null ? (boolean) request.getAttribute("fromCoverLetter"): false;
Job job = (Job) request.getAttribute("Job");
BusinessObjectParser.assertFieldCondition(secUser.getEmail() != null , job, Job.FIELD_Email, "mandatory", exceptions, true, request); if(fromCoverLetter && job.getRequireCV())
BusinessObjectParser.assertFieldCondition(StringUtils.isEmailAddress(secUser.getEmail()), job, Job.FIELD_Email, "invalid", 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);
if(isVerify)
{
BusinessObjectParser.assertFieldCondition(candidate.isTrue(candidate.getPrivacyPolicyAgreed()), candidate, Candidate.FIELD_PrivacyPolicyAgreed, "agreePrivacy", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(candidate.isTrue(candidate.getConditionsAgreed()), candidate, Candidate.FIELD_ConditionsAgreed, "agreeTerms", exceptions, true, request);
}
if(fromCoverLetter)
{ {
BusinessObjectParser.assertFieldCondition(jobApplication.getCV() != null , jobApplication, JobApplication.FIELD_CV, "uploadCV", exceptions, true, request); BusinessObjectParser.assertFieldCondition(jobApplication.getCV() != null , jobApplication, JobApplication.FIELD_CV, "uploadCV", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(jobApplication.getCoverLetter() != null , jobApplication, JobApplication.FIELD_CoverLetter, "uploadCover", exceptions, true, request); BusinessObjectParser.assertFieldCondition(jobApplication.getCoverLetter() != null , jobApplication, JobApplication.FIELD_CoverLetter, "uploadCover", exceptions, true, request);
...@@ -66,49 +50,29 @@ public class VerifyIdentityFP extends SaveFP ...@@ -66,49 +50,29 @@ public class VerifyIdentityFP extends SaveFP
Boolean isVerify = CollectionUtils.equals(request.getAttribute("isVerify"), Boolean.TRUE); Boolean isVerify = CollectionUtils.equals(request.getAttribute("isVerify"), Boolean.TRUE);
Job job = (Job) request.getAttribute("Job"); Job job = (Job) request.getAttribute("Job");
JobApplication jobApplication = (JobApplication) request.getAttribute("JobApplication"); JobApplication jobApplication = (JobApplication) request.getAttribute("JobApplication");
String nextPage = (String) request.getAttribute("nextPage");
Candidate candidate = (Candidate) request.getAttribute("Candidate"); Candidate candidate = (Candidate) request.getAttribute("Candidate");
if(isVerify) if(isVerify)
{ {
SecUser secUser = candidate.getUser(); SecUser secUser = candidate.getUser();
boolean isPwdMatch = secUser.checkPassword(job.getPassword());
if(!isPwdMatch) LogMgr.log(LOG, LogLevel.PROCESSING1, "Verifing User ", job, secUser);
{
throw new BusinessException("Password doesnot match with the records !!");
}
LogMgr.log(LOG, LogLevel.PROCESSING1, "Verifing User", job, secUser);
// if(CollectionUtils.equals(job.getPassword(), job.getConfirmPassword())) candidate.setIsAccountVerified(Boolean.TRUE);
// {
// secUser.setAttribute("md5:" + SecUser.FIELD_Password, job.getPassword());
candidate.setIsAccountVerified(Boolean.TRUE);
sendMail(candidate, job, request); sendMail(candidate, job, request);
request.getSession().setAttribute (SecUser.SEC_USER_ID, secUser); request.getSession().setAttribute (SecUser.SEC_USER_ID, secUser);
request.getSession().setAttribute (SessionSecUserDecorator.REFRESH_SECURITY, Boolean.TRUE); request.getSession().setAttribute (SessionSecUserDecorator.REFRESH_SECURITY, Boolean.TRUE);
// request.setAttribute("nextPage", nextPage + "&JobID=" + job.getObjectID());
LogMgr.log(LOG, LogLevel.PROCESSING1, "Password resetted", job, secUser); LogMgr.log(LOG, LogLevel.PROCESSING1, "Verified User ", job, secUser);
// }
} }
// storing candidate location in application for distance calculation to be accurate even if user edits // storing candidate location in application for distance calculation to be accurate even if user edits
// location in the next application // location in the next application
jobApplication.setGoogleAddressText(candidate.getGoogleAddressText()); jobApplication.setGoogleAddressText(candidate.getGoogleAddressText());
process.setAttribute("JobApplication", jobApplication);
request.setAttribute("nextPage", nextPage + "&JobID=" + job.getObjectID());
return super.processForm(process, submission, params); return super.processForm(process, submission, params);
// process.completeAndRestart();
//
// return new ProcessRedirectResult(nextPage + "&JobID=" + job.getObjectID(), new String[0]);
} }
......
...@@ -503,7 +503,7 @@ public class Job extends BaseJob ...@@ -503,7 +503,7 @@ public class Job extends BaseJob
{ {
SecUser user = SecUser.searchNAME(getTransaction(), getEmail().toLowerCase()); SecUser user = SecUser.searchNAME(getTransaction(), getEmail().toLowerCase());
if(user!=null && user.getExtension(Candidate.REFERENCE_Candidate)!=null && user.getExtension(Candidate.REFERENCE_Candidate).getIsAccountVerified()) if(user!=null && user.getExtension(Candidate.REFERENCE_Candidate) != null && user.getExtension(Candidate.REFERENCE_Candidate).getIsAccountVerified())
{ {
return Boolean.TRUE; return Boolean.TRUE;
} }
...@@ -514,9 +514,14 @@ public class Job extends BaseJob ...@@ -514,9 +514,14 @@ public class Job extends BaseJob
public Boolean hasHiringTeamAccount() public Boolean hasHiringTeamAccount()
{ {
if(getEmail()!= null) if(getEmail() != null)
{ {
return Utils.emailExists(getTransaction(), getEmail()); SecUser user = SecUser.searchNAME(getTransaction(), getEmail().toLowerCase());
if(user != null && user.getExtension(CompanyUser.REFERENCE_CompanyUser) != null && user.getExtension(CompanyUser.REFERENCE_CompanyUser).getIsAccountVerified())
{
return Boolean.TRUE;
}
} }
return Boolean.FALSE; return Boolean.FALSE;
......
...@@ -18,58 +18,38 @@ ...@@ -18,58 +18,38 @@
Debug.assertion(candidate != null, "Invalid candidate in applicant portal"); Debug.assertion(candidate != null, "Invalid candidate in applicant portal");
JobApplication jobApplication = JobApplication.searchCandidateJob(objTran, candidate, job); JobApplication jobApplication = JobApplication.searchCandidateJob(objTran, candidate, job);
boolean redirectUser = jobApplication != null;
if(jobApplication != null)
{
Boolean isSelectionComplete = jobApplication.selectionCompleted();
Boolean isCultureComplete = jobApplication.cultureCompleted();
Boolean isAssesmentComplete = jobApplication.assessmentCompleted();
if(!isSelectionComplete)
{
nextPage = WebUtils.getSamePageInRenderMode(request, "SelectionCriteria")+"&JobApplicationID="+jobApplication.getID().toString();
}
else if(!isCultureComplete)
{
nextPage = WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture")+"&JobApplicationID="+jobApplication.getID().toString();
}
else if(!isAssesmentComplete)
{
nextPage = WebUtils.getSamePageInRenderMode(request, "JobMatchAssessment")+"&JobApplicationID="+jobApplication.getID().toString();
}
String selectionPage = nextPage + "&JobID=" + job.getID().toString()+"&JobApplicationID="+jobApplication.getID().toString();
response.sendRedirect(selectionPage);
}
if(jobApplication == null) if(jobApplication == null)
{ {
jobApplication = JobApplication.createNewApplication(candidate, job); jobApplication = JobApplication.createNewApplication(candidate, job);
}
process.setAttribute("JobApplication", jobApplication);
Boolean isSelectionComplete = jobApplication.selectionCompleted(); Boolean isSelectionComplete = jobApplication.selectionCompleted();
Boolean isCultureComplete = jobApplication.cultureCompleted(); Boolean isCultureComplete = jobApplication.cultureCompleted();
Boolean isAssesmentComplete = jobApplication.assessmentCompleted(); Boolean isAssesmentComplete = jobApplication.assessmentCompleted();
if(!isSelectionComplete) if(!isSelectionComplete)
{ {
nextPage = WebUtils.getSamePageInRenderMode(request, "SelectionCriteria")+"&JobApplicationID="+jobApplication.getID().toString(); nextPage = WebUtils.getSamePageInRenderMode(request, "SelectionCriteria");
} }
else if(!isCultureComplete) else if(!isCultureComplete)
{ {
nextPage = WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture")+"&JobApplicationID="+jobApplication.getID().toString(); nextPage = WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture");
} }
else if(!isAssesmentComplete) else if(!isAssesmentComplete)
{ {
nextPage = WebUtils.getSamePageInRenderMode(request, "JobMatchAssessment")+"&JobApplicationID="+jobApplication.getID().toString(); nextPage = WebUtils.getSamePageInRenderMode(request, "JobMatchAssessment");
}
} }
process.setAttribute("JobApplication", jobApplication); nextPage = nextPage +"&JobApplicationID="+ jobApplication.getID().toString();
process.setAttribute("JobApplicationID", jobApplication.getID().longID());
if(redirectUser)
Set<String> attribsToRestore = new HashSet<>(); {
attribsToRestore.add("JobApplication"); response.sendRedirect(nextPage);
}
BinaryContent logo = job.getLogo(); BinaryContent logo = job.getLogo();
%> %>
...@@ -159,20 +139,20 @@ ...@@ -159,20 +139,20 @@
if(job.getRequireCV() == Boolean.TRUE) if(job.getRequireCV() == Boolean.TRUE)
{ {
%> %>
<div class="form-group text-left relative-parent "> <div class="form-group text-left relative-parent ">
<label>Upload your CV</label> <label>Upload your CV</label>
<div class="form-control second-style"> <div class="form-control second-style">
<oneit:ormInput obj="<%= jobApplication %>" type="file" attributeName="CV" cssClass="hide"/> <oneit:ormInput obj="<%= jobApplication %>" type="file" attributeName="CV" cssClass="hide"/>
<div class="attach-icon-btn"></div> <div class="attach-icon-btn"></div>
</div> </div>
</div> </div>
<div class="form-group text-left relative-parent"> <div class="form-group text-left relative-parent">
<label>Upload your Cover Letter</label> <label>Upload your Cover Letter</label>
<div class="form-control second-style"> <div class="form-control second-style">
<oneit:ormInput obj="<%= jobApplication %>" type="file" attributeName="CoverLetter" cssClass="hide"/> <oneit:ormInput obj="<%= jobApplication %>" type="file" attributeName="CoverLetter" cssClass="hide"/>
<div class="attach-icon-btn"></div> <div class="attach-icon-btn"></div>
</div> </div>
</div> </div>
<% } %> <% } %>
<hr class="seperate-line"> <hr class="seperate-line">
...@@ -229,7 +209,7 @@ ...@@ -229,7 +209,7 @@
.mapEntry("fromCoverLetter", true) .mapEntry("fromCoverLetter", true)
.mapEntry("JobApplication",jobApplication) .mapEntry("JobApplication",jobApplication)
.mapEntry("restartProcess", Boolean.TRUE) .mapEntry("restartProcess", Boolean.TRUE)
.mapEntry("attribNamesToRestore", attribsToRestore) .mapEntry("attribNamesToRestore", Collections.singleton("JobApplication"))
.mapEntry(NotificationUtils.DISPLAY_NOTIFICATION_PARAM, false) .mapEntry(NotificationUtils.DISPLAY_NOTIFICATION_PARAM, false)
.toMap() %>"/> .toMap() %>"/>
</div> </div>
......
...@@ -9,8 +9,7 @@ ...@@ -9,8 +9,7 @@
<% <%
ORMProcessState process = (ORMProcessState) ProcessDecorator.getDefaultProcess(request); ORMProcessState process = (ORMProcessState) ProcessDecorator.getDefaultProcess(request);
ObjectTransaction objTran = process.getTransaction (); ObjectTransaction objTran = process.getTransaction ();
Long jobAppId = (Long) process.getAttribute("JobApplicationID"); JobApplication jobApplication = (JobApplication) process.getAttribute("JobApplication");
JobApplication jobApplication = JobApplication.getJobApplicationByID(objTran, jobAppId);
Job job = jobApplication.getJob(); Job job = jobApplication.getJob();
List<Question> totalQuestions = (List<Question>) process.getAttribute("TotalQuestions"); List<Question> totalQuestions = (List<Question>) process.getAttribute("TotalQuestions");
List<Question> allQuestions = (List<Question>) process.getAttribute("AllQuestions"); List<Question> allQuestions = (List<Question>) process.getAttribute("AllQuestions");
......
...@@ -14,8 +14,7 @@ ...@@ -14,8 +14,7 @@
Long criteriaID = Long.valueOf(request.getParameter ("criteriaID")); Long criteriaID = Long.valueOf(request.getParameter ("criteriaID"));
boolean answerOption = Boolean.valueOf(request.getParameter ("answerOption")); boolean answerOption = Boolean.valueOf(request.getParameter ("answerOption"));
String note = request.getParameter ("note"); String note = request.getParameter ("note");
Long jobAppId = (Long) process.getAttribute("JobApplicationID"); JobApplication jobApplication = (JobApplication) process.getAttribute("JobApplication");
JobApplication jobApplication = JobApplication.getJobApplicationByID(objTran, jobAppId);
jobApplication = (JobApplication) jobApplication.getInTransaction (objTran); jobApplication = (JobApplication) jobApplication.getInTransaction (objTran);
......
...@@ -15,8 +15,7 @@ ...@@ -15,8 +15,7 @@
int actualNumber = Integer.valueOf(request.getParameter ("actualNumber")); int actualNumber = Integer.valueOf(request.getParameter ("actualNumber"));
int answerNo = Integer.valueOf(request.getParameter ("answerNo")); int answerNo = Integer.valueOf(request.getParameter ("answerNo"));
boolean complete = Boolean.valueOf(request.getParameter ("completeApplication")); boolean complete = Boolean.valueOf(request.getParameter ("completeApplication"));
Long jobAppId = (Long) process.getAttribute("JobApplicationID"); JobApplication jobApplication = (JobApplication) process.getAttribute("JobApplication");
JobApplication jobApplication = JobApplication.getJobApplicationByID(objTran, jobAppId);
List<Question> allQuestions = (List<Question>) process.getAttribute("AllQuestions"); List<Question> allQuestions = (List<Question>) process.getAttribute("AllQuestions");
......
...@@ -9,28 +9,10 @@ ...@@ -9,28 +9,10 @@
String currentPage = WebUtils.getSamePageInRenderMode(request, "JobMatchAssessment"); String currentPage = WebUtils.getSamePageInRenderMode(request, "JobMatchAssessment");
String nextPage = WebUtils.getSamePageInRenderMode(request, "SubmitApplication"); String nextPage = WebUtils.getSamePageInRenderMode(request, "SubmitApplication");
ObjectTransaction objTran = ObjectTransaction.getTransaction(); ObjectTransaction objTran = ObjectTransaction.getTransaction();
Long jobAppId = process.getAttribute("JobApplicationID") != null ? boolean toRedirect = GenericObjDF.getOrCreateObject (request, "JobApplication", JobApplication.REFERENCE_JobApplication);
(Long) process.getAttribute("JobApplicationID") : JobApplication jobApplication = (JobApplication) process.getAttribute("JobApplication");
Long.parseLong(request.getParameter("JobApplicationID"));
JobApplication jobApplication = null; Debug.assertion(jobApplication != null && !toRedirect, "Invalid job application in applicant portal");
if(jobAppId != null)
{
jobApplication = JobApplication.getJobApplicationByID(objTran, jobAppId);
}
if(jobApplication == null)
{
jobApplication = (JobApplication) process.getAttribute("JobApplication");
}
Debug.assertion(jobApplication != null, "Job Application cannot be null in applicant portal - job match assessment ");
if(process.getAttribute("JobApplicationID") == null)
{
process.setAttribute("JobApplicationID" , jobApplication.getID().longValue());
}
//preloading //preloading
jobApplication.pipelineJobApplication().toCandidate().toProfileAssessmentAnswers().toQuestion().toRightQuestion().uniqueVals(); jobApplication.pipelineJobApplication().toCandidate().toProfileAssessmentAnswers().toQuestion().toRightQuestion().uniqueVals();
...@@ -57,7 +39,7 @@ ...@@ -57,7 +39,7 @@
process.setAttribute("AllQuestions", allQuestions); process.setAttribute("AllQuestions", allQuestions);
} }
// process.setAttribute("JobApplication",jobApplication); process.setAttribute("JobApplication",jobApplication);
Question question = (Question) allQuestions.get(questionNumber).getInTransaction (objTran); Question question = (Question) allQuestions.get(questionNumber).getInTransaction (objTran);
QuestionType questionType = question.getQuestionType(); QuestionType questionType = question.getQuestionType();
......
...@@ -50,33 +50,14 @@ ...@@ -50,33 +50,14 @@
return; //Else it will continue execution and throws NPE. return; //Else it will continue execution and throws NPE.
} }
if(secUser == null)
{
secUser = SecUser.getTXUser(transaction);
candidate = secUser.getExtension(Candidate.REFERENCE_Candidate);
}
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");
JobApplication jobApplication = JobApplication.searchCandidateJob(transaction, candidate, job); JobApplication jobApplication = JobApplication.searchCandidateJob(transaction, candidate, job);
Article applyJobArticle = WebUtils.getArticleByShortCut(objTran, WebUtils.JOB_APPLICATION); Article applyJobArticle = WebUtils.getArticleByShortCut(objTran, WebUtils.JOB_APPLICATION);
String nextPage = applyJobArticle.getLink(request, CollectionUtils.mapEntry("cms.rm", "SelectionCriteria").toMap()); String nextPage = applyJobArticle.getLink(request, CollectionUtils.mapEntry("cms.rm", job.getIncludeAssessmentCriteria() ? "SelectionCriteria" : "WorkplaceCulture").toMap());
if(jobApplication == null)
{
jobApplication = JobApplication.createNewApplication(candidate, job);
}
candidate.setPrivacyPolicyAgreed(Boolean.TRUE);
candidate.setConditionsAgreed(Boolean.TRUE);
process.setAttribute("JobApplication", jobApplication); process.setAttribute("JobApplication", jobApplication);
process.setAttribute("JobApplicationID", jobApplication.getID().longID());
Set<String> attribsToRestore = new HashSet<>();
attribsToRestore.add("JobApplication");
%> %>
<style> <style>
...@@ -115,10 +96,6 @@ ...@@ -115,10 +96,6 @@
<div class="pwd-verify-identity"> <div class="pwd-verify-identity">
<div class="pl-verify">Please enter your password to continue your application</div> <div class="pl-verify">Please enter your password to continue your application</div>
<%
if(isVerify)
{
%>
<div id="overlay"> <div id="overlay">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-body main-password-popup"> <div class="modal-body main-password-popup">
...@@ -134,7 +111,7 @@ ...@@ -134,7 +111,7 @@
.mapEntry("JobApplication",jobApplication) .mapEntry("JobApplication",jobApplication)
.mapEntry("isVerify",Boolean.TRUE) .mapEntry("isVerify",Boolean.TRUE)
.mapEntry("restartProcess", Boolean.TRUE) .mapEntry("restartProcess", Boolean.TRUE)
.mapEntry("attribNamesToRestore", attribsToRestore) .mapEntry("attribNamesToRestore", Collections.singleton("JobApplication"))
.mapEntry(NotificationUtils.DISPLAY_NOTIFICATION_PARAM, false) .mapEntry(NotificationUtils.DISPLAY_NOTIFICATION_PARAM, false)
.toMap() %>"/> .toMap() %>"/>
...@@ -142,7 +119,6 @@ ...@@ -142,7 +119,6 @@
</div> </div>
</div> </div>
</div> </div>
<% } %>
</div> </div>
</oneit:form> </oneit:form>
......
...@@ -7,31 +7,13 @@ ...@@ -7,31 +7,13 @@
<% <%
ObjectTransaction objTran = ObjectTransaction.getTransaction(); ObjectTransaction objTran = ObjectTransaction.getTransaction();
String nextPage = WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture"); String nextPage = WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture");
Long jobAppId = request.getParameter("JobApplicationID") != null ? boolean toRedirect = GenericObjDF.getOrCreateObject (request, "JobApplication", JobApplication.REFERENCE_JobApplication);
Long.parseLong(request.getParameter("JobApplicationID")) : JobApplication jobApplication = (JobApplication) process.getAttribute("JobApplication");
((JobApplication) process.getAttribute("JobApplication")).getID().longValue();
JobApplication jobApplication = null;
if(jobAppId != null) Debug.assertion(jobApplication != null && !toRedirect, "Invalid job application in applicant portal");
{
jobApplication = JobApplication.getJobApplicationByID(objTran, jobAppId);
}
if(jobApplication == null)
{
jobApplication = (JobApplication) process.getAttribute("JobApplication");
}
Debug.assertion(jobApplication != null, "Job Application cannot be null in applicant portal - selection criteria ");
if(process.getAttribute("JobApplicationID") == null)
{
process.setAttribute("JobApplicationID" , jobApplication.getID().longValue());
}
Job job = jobApplication.getJob(); Job job = jobApplication.getJob();
String exitPage = WebUtils.getArticleLink(request, objTran, WebUtils.APPLY_JOB, "Page"); String exitPage = WebUtils.getArticleLink(request, objTran, WebUtils.APPLY_JOB, "Page") + "&id=" + job.getID() + "&key=" + job.getRandomKey();
exitPage = exitPage + "&id=" + job.getID() + "&key=" + job.getRandomKey();
Boolean isCultureComplete = jobApplication.cultureCompleted(); Boolean isCultureComplete = jobApplication.cultureCompleted();
Boolean isAssesmentComplete = jobApplication.assessmentCompleted(); Boolean isAssesmentComplete = jobApplication.assessmentCompleted();
...@@ -43,6 +25,8 @@ ...@@ -43,6 +25,8 @@
{ {
nextPage = WebUtils.getSamePageInRenderMode(request, "JobMatchAssessment"); nextPage = WebUtils.getSamePageInRenderMode(request, "JobMatchAssessment");
} }
process.setAttribute("JobApplication", jobApplication);
%> %>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function() $(document).ready(function()
......
...@@ -11,8 +11,7 @@ ...@@ -11,8 +11,7 @@
String nextPage = applicationArticle.getLink(request, CollectionUtils.mapEntry("cms.rm", "ConfirmDetails").toMap()); String nextPage = applicationArticle.getLink(request, CollectionUtils.mapEntry("cms.rm", "ConfirmDetails").toMap());
Job job = (Job) process.getAttribute("Job"); Job job = (Job) process.getAttribute("Job");
Candidate candidate = (Candidate) process.getAttribute("NewCandidate"); Candidate candidate = (Candidate) process.getAttribute("NewCandidate");
Article applyJobArticle = WebUtils.getArticleByShortCut(objTran, WebUtils.APPLY_JOB); String confirmPage = WebUtils.getSamePageInRenderMode(request, "VerifyIdentity");
String confirmPage = applyJobArticle.getLink(request, CollectionUtils.mapEntry("cms.rm", "VerifyIdentity").toMap());
if(request.getParameter("JobID")!=null) if(request.getParameter("JobID")!=null)
{ {
...@@ -21,10 +20,6 @@ ...@@ -21,10 +20,6 @@
Debug.assertion(job != null, "Job is null in applicant portal"); Debug.assertion(job != null, "Job is null in applicant portal");
Set<String> attribsToRestore = new HashSet<>();
attribsToRestore.add("Job");
attribsToRestore.add("NewCandidate");
String socialLoginNextPage = nextPage + "&JobID=" + job.getID().toString(); String socialLoginNextPage = nextPage + "&JobID=" + job.getID().toString();
%> %>
<script type="text/javascript"> <script type="text/javascript">
...@@ -201,7 +196,6 @@ ...@@ -201,7 +196,6 @@
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", confirmPage) requestAttribs="<%= CollectionUtils.mapEntry("nextPage", confirmPage)
.mapEntry("Job",job) .mapEntry("Job",job)
.mapEntry("restartProcess", Boolean.TRUE) .mapEntry("restartProcess", Boolean.TRUE)
.mapEntry("attribNamesToRestore", attribsToRestore)
.mapEntry(NotificationUtils.DISPLAY_NOTIFICATION_PARAM, false) .mapEntry(NotificationUtils.DISPLAY_NOTIFICATION_PARAM, false)
.toMap() %>"/> .toMap() %>"/>
</div> </div>
......
...@@ -158,22 +158,27 @@ ...@@ -158,22 +158,27 @@
<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" required="true"/> <oneit:ormInput obj="<%= candidate %>" type="text" attributeName="Phone" cssClass="form-control second-style" required="true"/>
</div> </div>
<%
<div class="form-group text-left relative-parent "> if(job.getRequireCV())
<label>Upload your CV</label> {
<div class="form-control second-style"> %>
<oneit:ormInput obj="<%= jobApplication %>" type="file" attributeName="CV" cssClass="hide"/> <div class="form-group text-left relative-parent ">
<div class="attach-icon-btn"></div> <label>Upload your CV</label>
</div> <div class="form-control second-style">
</div> <oneit:ormInput obj="<%= jobApplication %>" type="file" attributeName="CV" cssClass="hide"/>
<div class="form-group text-left relative-parent"> <div class="attach-icon-btn"></div>
<label>Upload your Cover Letter</label> </div>
<div class="form-control second-style"> </div>
<oneit:ormInput obj="<%= jobApplication %>" type="file" attributeName="CoverLetter" cssClass="hide"/> <div class="form-group text-left relative-parent">
<div class="attach-icon-btn"></div> <label>Upload your Cover Letter</label>
</div> <div class="form-control second-style">
</div> <oneit:ormInput obj="<%= jobApplication %>" type="file" attributeName="CoverLetter" cssClass="hide"/>
<div class="attach-icon-btn"></div>
</div>
</div>
<%
}
%>
<hr class="seperate-line"> <hr class="seperate-line">
<div class="form-group text-left"> <div class="form-group text-left">
<label>Location</label> <label>Location</label>
......
...@@ -5,10 +5,12 @@ ...@@ -5,10 +5,12 @@
<oneit:dynIncluded> <oneit:dynIncluded>
<% <%
ObjectTransaction objTran = process.getTransaction (); ObjectTransaction objTran = process.getTransaction ();
Long jobAppId = process.getAttribute("JobApplicationID") != null ? (Long)process.getAttribute("JobApplicationID") : Long.parseLong(request.getParameter("JobApplicationID")); boolean jobAppRedirect = GenericObjDF.getOrCreateObject (request, "JobApplication", JobApplication.REFERENCE_JobApplication);
JobApplication jobApplication = (JobApplication) process.getAttribute("JobApplication");
Debug.assertion(jobApplication != null && !jobAppRedirect, "Invalid job application in applicant portal");
JobApplication jobApplication = process.getAttribute("JobApplication") != null ? (JobApplication) process.getAttribute("JobApplication") : JobApplication.getJobApplicationByID(objTran, jobAppId);
String currentPage = WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture")+"&JobApplicationID="+jobApplication.getID().toString(); String currentPage = WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture")+"&JobApplicationID="+jobApplication.getID().toString();
String nextPage = WebUtils.getSamePageInRenderMode(request, "JobMatchAssessment")+"&JobApplicationID="+jobApplication.getID().toString(); String nextPage = WebUtils.getSamePageInRenderMode(request, "JobMatchAssessment")+"&JobApplicationID="+jobApplication.getID().toString();
Job job = jobApplication.getJob(); Job job = jobApplication.getJob();
...@@ -56,7 +58,6 @@ ...@@ -56,7 +58,6 @@
int numberText = ((cultureQuestionNo)* 100) / total; int numberText = ((cultureQuestionNo)* 100) / total;
process.setAttribute("JobApplication", jobApplication); process.setAttribute("JobApplication", jobApplication);
process.setAttribute("JobApplicationID",jobAppId);
request.getSession().setAttribute ("historyQuestionNo", cultureQuestionNo); request.getSession().setAttribute ("historyQuestionNo", cultureQuestionNo);
%> %>
......
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