Commit 77d5a3b1 by chenith Committed by Harsh Shah

UPdated Job application process, compete Culture and Role stages if applicant…

UPdated Job application process, compete Culture and Role stages if applicant has already completed the Culture and Role tests.
parent 298df18a
......@@ -45,7 +45,10 @@ public class CompleteApplicationFP extends SaveFP
HttpServletRequest request = submission.getRequest();
JobApplication jobApplication = (JobApplication) process.getAttribute("JobApplication");
if(jobApplication.getAlreadyCompletedApplicationForCulture()==null)
{
BusinessObjectParser.assertFieldCondition(jobApplication.getCultureCriteriaAnswersCount()>0, jobApplication, jobApplication.FIELD_ObjectID, "completeCulture", exceptions, true, request);
}
super.validate(process, submission, exceptions, params);
}
......
......@@ -61,7 +61,7 @@ public class SendVerificationMailFP extends SaveFP
SecUser newSecUser = SecUser.createSecUser(objTran);
newSecUser.setUserName(email);
newSecUser.setUserName(email.toLowerCase());
newSecUser.setAttribute("md5:" + SecUser.FIELD_Password, DEFAULT_PASSWORD);
LogMgr.log(LOG, LogLevel.PROCESSING1, "New user created :: ", newSecUser);
......
......@@ -26,7 +26,7 @@ public class SignInCandidateFP extends LoginProcessor
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING1, "Inside SignInCandidateFP for ", job, " Email:", email);
userMap.put("username", job.getEmail());
userMap.put("username", job.getEmail().toLowerCase());
userMap.put("password", job.getPassword());
request.setAttribute("nextPage", nextPage + "&JobID=" + job.getObjectID());
......
......@@ -5,19 +5,16 @@ import oneit.logging.LoggingArea;
import oneit.objstore.StorageException;
import oneit.objstore.rdbms.filters.EqualsFilter;
import oneit.objstore.rdbms.filters.IsNotNullFilter;
import oneit.objstore.rdbms.filters.NotEqualsFilter;
import oneit.objstore.utils.ObjstoreUtils;
import oneit.utils.CollectionUtils;
import oneit.utils.ObjectTransform;
import oneit.utils.filter.CollectionFilter;
import oneit.utils.filter.Filter;
import oneit.utils.math.MathUtils;
import oneit.utils.math.Rounding;
import oneit.utils.parsers.FieldException;
import performa.orm.types.AppProcessOption;
import performa.orm.types.ApplicationStatus;
import performa.orm.types.CriteriaType;
import performa.orm.types.CultureClass;
import performa.orm.types.Importance;
import performa.utils.AnalysisEngine;
......@@ -228,8 +225,9 @@ public class JobApplication extends BaseJobApplication
Filter filter = Answer.SearchByAll().andAnswerNo(new IsNotNullFilter<>());
Collection selectedAnswers = pipelineJobApplication().toProfileAssessmentAnswers(filter).vals();
return (selectedAnswers.size() == allAnswersCount);
return (selectedAnswers.size() >= allAnswersCount);
}
return false;
}
......@@ -298,4 +296,50 @@ public class JobApplication extends BaseJobApplication
return statuses;
}
public Collection<JobApplication> getAllSubmittedApplicationsByCandidate()
{
Filter filter = JobApplication.SearchByAll().andApplicationStatus(new NotEqualsFilter<>(ApplicationStatus.DRAFT));
return CollectionFilter.filter(getCandidate().getJobApplicationsSet(), filter);
}
public JobApplication getAlreadyCompletedApplicationForCulture()
{
for(JobApplication application: getAllSubmittedApplicationsByCandidate())
{
if(CollectionUtils.equals(application, this))
{
continue;
}
if(application.cultureCompleted())
{
return application;
}
}
return null;
}
public JobApplication getAlreadyCompletedApplicationForRole()
{
for(JobApplication application: getAllSubmittedApplicationsByCandidate())
{
if(CollectionUtils.equals(application, this))
{
continue;
}
if(application.assessmentCompleted())
{
return application;
}
}
return null;
}
}
\ No newline at end of file
......@@ -32,9 +32,25 @@
nextPage = WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture");
}
//to store already completed culture or role data
Boolean alreadyCompletedCulture = (Boolean) process.getAttribute("AlreadyCompletedCulture");
Boolean alreadyCompletedRole = (Boolean) process.getAttribute("AlreadyCompletedRole");
if(alreadyCompletedCulture==null)
{
alreadyCompletedCulture = jobApplication.getAlreadyCompletedApplicationForCulture()!=null;
process.setAttribute("AlreadyCompletedCulture", alreadyCompletedCulture);
}
if(alreadyCompletedRole==null)
{
alreadyCompletedRole = jobApplication.getAlreadyCompletedApplicationForRole()!=null;
process.setAttribute("AlreadyCompletedRole", alreadyCompletedRole);
}
Boolean isSelectionComplete = jobApplication.selectionCompleted();
Boolean isCultureComplete = jobApplication.cultureCompleted();
Boolean isAssesmentComplete = jobApplication.assessmentCompleted();
Boolean isCultureComplete = jobApplication.cultureCompleted() || alreadyCompletedCulture;
Boolean isAssesmentComplete = jobApplication.assessmentCompleted() || alreadyCompletedRole;
process.setAttribute("JobApplication", jobApplication);
%>
......
......@@ -11,6 +11,12 @@
String secondPage = WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture");
String thirdPage = WebUtils.getSamePageInRenderMode(request, "JobMatchAssessment");
boolean includeAssessment = jobApplication.isIncludeAssessmentCriteria();
Boolean alreadyCompletedCulture = (Boolean) process.getAttribute("AlreadyCompletedCulture");
Boolean alreadyCompletedRole = (Boolean) process.getAttribute("AlreadyCompletedRole");
Boolean isSelectionComplete = jobApplication.selectionCompleted(); //REQ
Boolean isCultureComplete = jobApplication.cultureCompleted() || alreadyCompletedCulture;
Boolean isAssesmentComplete = jobApplication.assessmentCompleted() || alreadyCompletedRole;
%>
<oneit:dynIncluded>
......@@ -21,33 +27,33 @@
if(includeAssessment)
{
%>
<li class="<%= pageNumber == "1" ? "active" : jobApplication.selectionCompleted() ? "complate" : ""%>">
<li class="<%= pageNumber == "1" ? "active" : isSelectionComplete ? "complate" : ""%>">
<oneit:button value=" " name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", firstPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<span><%= jobApplication.selectionCompleted() ? "<img src=\"images/right-mark.png\" />" : "1"%></span>
<span><%= isSelectionComplete ? "<img src=\"images/right-mark.png\" />" : "1"%></span>
<div class="mobile-hide">Your Experience</div>
</oneit:button>
</li>
<%
}
%>
<li class="<%= pageNumber == "2" ? "active" : jobApplication.cultureCompleted() ? "complate" : ""%>">
<oneit:button value=" " name="gotoPage" skin="link" disabled="<%= jobApplication.cultureCompleted() ? "true" : "false"%>"
<li class="<%= pageNumber == "2" ? "active" : isCultureComplete ? "complate" : ""%>">
<oneit:button value=" " name="gotoPage" skin="link" disabled="<%= isCultureComplete ? "true" : "false"%>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", secondPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<span><%= jobApplication.cultureCompleted() ? "<img src=\"images/right-mark.png\" />" : (includeAssessment ? "2" : "1")%></span>
<span><%= isCultureComplete ? "<img src=\"images/right-mark.png\" />" : (includeAssessment ? "2" : "1")%></span>
<div class="mobile-hide">Workplace Preference</div>
</oneit:button>
</li>
<li class="<%= pageNumber == "3" ? "active" : jobApplication.assessmentCompleted() ? "complate" : ""%>">
<oneit:button value=" " name="gotoPage" skin="link"
<li class="<%= pageNumber == "3" ? "active" : isAssesmentComplete ? "complate" : ""%>">
<oneit:button value=" " name="gotoPage" skin="link" disabled="<%= isAssesmentComplete ? "true" : "false"%>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", thirdPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<span><%= jobApplication.assessmentCompleted() ? "<img src=\"images/right-mark.png\" />" : (includeAssessment ? "3" : "2")%></span>
<span><%= isAssesmentComplete ? "<img src=\"images/right-mark.png\" />" : (includeAssessment ? "3" : "2")%></span>
<div class="mobile-hide">Your Work Style</div>
</oneit:button>
</li>
......
......@@ -12,8 +12,21 @@
String exitPage = WebUtils.getArticleLink(request, objTran, WebUtils.APPLY_JOB, "Page");
exitPage = exitPage + "&id=" + job.getID() + "&key=" + job.getRandomKey();
Boolean alreadyCompletedCulture = (Boolean) process.getAttribute("AlreadyCompletedCulture");
Boolean alreadyCompletedRole = (Boolean) process.getAttribute("AlreadyCompletedRole");
Boolean isCultureComplete = jobApplication.cultureCompleted() || alreadyCompletedCulture;
Boolean isAssesmentComplete = jobApplication.assessmentCompleted() || alreadyCompletedRole;
boolean toRedirect = jobApplication.createAssessmentCriteriaObjects();
if(isCultureComplete && isAssesmentComplete)
{
nextPage = WebUtils.getSamePageInRenderMode(request, "SubmitApplication");
}
else if(isCultureComplete)
{
nextPage = WebUtils.getSamePageInRenderMode(request, "JobMatchAssessment");
}
if (toRedirect)
{
%>
......@@ -124,10 +137,28 @@
.mapEntry ("JobApplication", jobApplication)
.mapEntry(UpdateMappedObjFP.FAIL_VALIDATION_ERRORS, Boolean.FALSE)
.toMap() %>"/>
<%
if(isCultureComplete && isAssesmentComplete)
{
%>
<oneit:button value="Complete" name="completeApplication" id="nextButton" cssClass="box-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.mapEntry("attribNamesToRestore", Collections.singleton("JobApplication"))
.mapEntry("restartProcess", Boolean.TRUE)
.toMap() %>"/>
<%
}
else
{
%>
<oneit:button value="Proceed to next step" name="gotoPage" cssClass="box-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>"/>
<%
}
%>
</div>
</div>
</div>
......
......@@ -13,6 +13,13 @@
int cultureQuestionNo = process.getAttribute("CultureQuestionNo")!= null ? (int) process.getAttribute("CultureQuestionNo") : jobApplication.getCultureCriteriaAnswersCount();
String exitPage = WebUtils.getArticleLink(request, objTran, WebUtils.APPLY_JOB, "Page") + "&id=" + job.getID() + "&key=" + job.getRandomKey();
boolean toRedirect = jobApplication.createCultureCriteriaObjects();
Boolean alreadyCompletedRole = (Boolean) process.getAttribute("AlreadyCompletedRole");
Boolean isAssesmentComplete = jobApplication.assessmentCompleted() || alreadyCompletedRole;
if(isAssesmentComplete)
{
nextPage = WebUtils.getSamePageInRenderMode(request, "SubmitApplication");
}
if(toRedirect)
{
......@@ -129,7 +136,18 @@
.mapEntry(UpdateMappedObjFP.FAIL_VALIDATION_ERRORS, Boolean.FALSE)
.toMap() %>"/>
<%
if(isLast)
if(isAssesmentComplete)
{
%>
<oneit:button value="Complete" name="completeApplication" id="nextButton" cssClass="box-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.mapEntry("attribNamesToRestore", Collections.singleton("JobApplication"))
.mapEntry("restartProcess", Boolean.TRUE)
.toMap() %>"/>
<%
}
else if(isLast)
{
%>
<oneit:button value="Proceed to next step" name="gotoPage" cssClass="box-btn"
......
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