Commit d0876d70 by Nilu

change job application flow based on values selected in job (cv required,…

change job application flow based on values selected in job (cv required, working remote is an option)

upate HT004 based on client response, happy to relocate
parent cc0896eb
......@@ -338,24 +338,31 @@ public class JobApplication extends BaseJobApplication
return hasFailedEssentialRequirements() ? "red-b" : (score >= 80 ? "green" : (score >= 60 ? "yellow" : "red-b"));
}
// public Long cultureCompleteness()
// {
// getCandidate().getCompletedAnswers(BaseJob.DUMMY_Job)
// }
public Boolean hasFailedEssentialRequirements()
{
Filter filter = AssessmentCriteria.SearchByAll().andImportance(new EqualsFilter<>(Importance.ESSENTIAL));
Collection<AssessmentCriteria> essentialRequirements = CollectionFilter.filter(getJob().getAssessmentCriteriasSet(), filter);
if(essentialRequirements.size() > 0 && getRequirementAnswersByImportance().getValuesForKey(Importance.ESSENTIAL) != null)
{
Filter negativeFilter = AssessmentCriteriaAnswer.SearchByAll().andAnswer(new EqualsFilter<>(Boolean.FALSE));
return CollectionFilter.filter(getRequirementAnswersByImportance().getValuesForKey(Importance.ESSENTIAL), negativeFilter).size() > 0;
}
return Boolean.FALSE;
}
public Boolean hasFailedEssentialRequirements()
public Boolean hasAllEssentialRequirements()
{
Filter filter = AssessmentCriteria.SearchByAll().andImportance(new EqualsFilter<>(Importance.ESSENTIAL));
Collection<AssessmentCriteria> essentialRequirements = CollectionFilter.filter(getJob().getAssessmentCriteriasSet(), filter);
if(essentialRequirements.size() > 0 && getRequirementAnswersByImportance().getValuesForKey(Importance.ESSENTIAL) != null)
{
Filter negativeFilter = AssessmentCriteriaAnswer.SearchByAll().andAnswer(new EqualsFilter<>(Boolean.FALSE));
Filter positiveFilter = AssessmentCriteriaAnswer.SearchByAll().andAnswer(new EqualsFilter<>(Boolean.FALSE));
return CollectionFilter.filter(getRequirementAnswersByImportance().getValuesForKey(Importance.ESSENTIAL), negativeFilter).size() > 0;
return CollectionFilter.filter(getRequirementAnswersByImportance().getValuesForKey(Importance.ESSENTIAL), positiveFilter).size() == essentialRequirements.size();
}
return Boolean.FALSE;
......
......@@ -15,6 +15,7 @@
String tabText = candidate.getToString();
String currentPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION);
boolean missingReq = jobApplication.hasFailedEssentialRequirements();
boolean hasAllReq = jobApplication.hasAllEssentialRequirements();
WorkFlow workflow = job.getWorkFlowByStatus(jobApplication.getApplicationStatus());
List<WorkFlow> sortedWorkFlows = ObjstoreUtils.sort(job.getApplicantWFs(),
new ObjectTransform[]{WorkFlow.pipesWorkFlow().toSortOrder()},
......@@ -239,7 +240,7 @@
<div class="<%= "percent-" + jobApplication.getRequirementFitColor() + " fixed-width progress-circle" %>">
<% if (missingReq) { %>
<span class="missing-requirements-icon" style="display:inline-block"></span>
<%} else{ %>
<%} else if (hasAllReq) { %>
<span class="green-requirements-icon" style="display:inline-block"></span>
<%}%>
<p style="display:none;"><oneit:toString value="<%= jobApplication.getRequirementFitScore() %>" mode="TwoDPDouble" /></p>
......@@ -286,7 +287,7 @@
%>
</div>
<div class="<%="essential-requirements-note " + (missingReq ? "red-requirements" : "green-requirements") %>">
<span><%= missingReq ? "Does not meet essential requirements" : "Does meet essential requirements" %></span>
<span><%= missingReq ? "Does not meet essential requirements" : hasAllReq ? "Does meet essential requirements" : "" %></span>
</div>
</div>
......@@ -449,15 +450,15 @@
{
Long rating = requirementFitData.get(importance);
%>
<div class="main-score-bar main-pro-bar <%= importance %> <%= missingReq ? "red" : "green" %>">
<div class="main-score-bar main-pro-bar <%= importance %> <%= missingReq ? "red" : hasAllReq ? "green" : ""%>">
<div class="score-bar pro-bar">
<span class="appli-label"><oneit:toString value="<%= importance %>" mode="EscapeHTML"/></span>
<%
if(importance == Importance.ESSENTIAL)
{
%>
<span class="<%= missingReq ? "red-requirements" : "green-requirements" %>">
<%= missingReq ? "Candidate does not meet essential requirements" : "Candidate does meet essential requirements" %>
<span class="<%= missingReq ? "red-requirements" : hasAllReq ? "green-requirements" : "" %>">
<%= missingReq ? "Candidate does not meet essential requirements" : hasAllReq ? "Candidate does meet essential requirements" : "" %>
</span>
<%
}
......@@ -594,22 +595,32 @@
<div class="contact-row" >
<div class="contact-label"><img src="images/icon-location.png" /></div>
<div class="contact-value">
<div><oneit:toString value="<%= candidate.getGoogleAddressText() %>" mode="EscapeHTML"/></div>
<div><oneit:toString value="<%= jobApplication.getGoogleAddressText() %>" mode="EscapeHTML"/></div>
<%
if(candidate.)
if(jobApplication.isFarFromJob())
{
%>
<div class="orange-text">Does not want to relocate</div>
<div class="<%= jobApplication.getHappyToRelocate() ? "green-text" : "orange-text"%>">
<%= jobApplication.getHappyToRelocate() ? "Happy" : "Does not want"%> to relocate
</div>
<%
}
%>
</div>
</div>
<div class="contact-row" >
<%
if(jobApplication.getPreferRemote())
{
%>
<div class="contact-row">
<div class="contact-label"><img src="images/icon-remote.png" /></div>
<div class="contact-value"><span class="green-text">Prefers to work remote</span></div>
</div>
<%
}
%>
</div>
<%--
<div class="applicant-note" >
<div class="applicant-note-title">Notes</div>
<div class="note-txt-box">
......@@ -617,7 +628,7 @@
<input type="button" class="add-note-btn" value="ADD NOTE" />
</div>
</div>
<div class="admin-notes" >
<div class="admin-notes">
<div class="admin-name">Admin name</div>
<div class="date-value">TODAY</div>
<div class="admin-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent accumsan interdum nisi, sed laoreet dui rhoncus.</div>
......@@ -626,6 +637,7 @@
<div class="date-value">2 days ago</div>
<div class="admin-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>
</div>
--%>
</div>
</div>
</div>
......
......@@ -22,7 +22,7 @@
if(jobApplication != null)
{
response.sendRedirect(jobApplication.getCV() != null && jobApplication.getCoverLetter() != null ? outlinePage : nextPage);
response.sendRedirect(!job.getRequireCV() || (jobApplication.getCV() != null && jobApplication.getCoverLetter() != null) ? outlinePage : nextPage);
}
if(jobApplication == null)
......@@ -93,6 +93,10 @@
<label>Location</label>
<oneit:ormInput obj="<%= candidate %>" type="text" attributeName="GoogleAddressText" class="autoAddress" id="<%= "gAddress_"+candidate.getObjectID() %>" placeholder="Enter your address" cssClass="form-control" />
</div>
<%
if(job.getRemote())
{
%>
<div class="form-group text-left" style="margin-top: 30px;">
<div class="styled_checkboxes">
<div class="checkbox checkbox-primary">
......@@ -105,10 +109,13 @@
</div>
</div>
</div>
<%
}
%>
<oneit:recalcClass htmlTag="div" classScript="jobApplication.isFarFromJob() ? 'show': 'hide'" jobApplication="<%= jobApplication %>">
<div class="relocate-warning-box">
<p>
We noticed that your location is different to the location of the job (Melbourne, 3000).
We noticed that your location is different to the location of the job (<%= job.getGoogleAddressText() %>).
</p>
<p>
Are you prepared to relocate for this position?
......
......@@ -5,7 +5,6 @@
<oneit:dynIncluded>
<%
String nextPage = WebUtils.getArticleLink(request, process.getTransaction (), WebUtils.JOB_APPLICATION, "CoverLetter");
Candidate candidate = (Candidate) process.getAttribute("NewCandidate");
Job job = (Job) process.getAttribute("Job");
SecUser secUser = null;
......@@ -61,6 +60,7 @@
Debug.assertion(candidate != null, "Invalid candidate in applicant portal");
JobApplication jobApplication = JobApplication.searchCandidateJob(transaction, candidate, job);
String nextPage = WebUtils.getArticleLink(request, process.getTransaction (), WebUtils.JOB_APPLICATION, job.getRequireCV() ? "CoverLetter" : "Page");
if(jobApplication == null)
{
......@@ -184,7 +184,7 @@
<oneit:recalcClass htmlTag="div" classScript="jobApplication.isFarFromJob() ? 'show': 'hide'" jobApplication="<%= jobApplication %>">
<div class="relocate-warning-box">
<p>
We noticed that your location is different to the location of the job (Melbourne, 3000).
We noticed that your location is different to the location of the job (<%= job.getGoogleAddressText() %>).
</p>
<p>
Are you prepared to relocate for this position?
......
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