Commit e152f1d4 by Nilu

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

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