Commit 1e69d324 by Nilu Committed by Harsh Shah

modifications to C001, C004, C005, C006, C008

parent 2c76d848
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.servlets.forms.SubmissionDetails;
import oneit.servlets.forms.SuccessfulResult;
import oneit.servlets.process.ORMProcessState;
import oneit.servlets.process.SaveFP;
import oneit.utils.BusinessException;
import performa.orm.CultureCriteriaAnswer;
import performa.orm.JobApplication;
public class SaveAndExitCultureFP extends SaveFP
{
@Override
public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException
{
HttpServletRequest request = submission.getRequest();
JobApplication jobApplication = process.getAttribute("JobApplication") != null ? (JobApplication) process.getAttribute("JobApplication") : (JobApplication) request.getAttribute("JobApplication");
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING1,"In SaveAndExitCultureFP saving job application: ", jobApplication );
for (CultureCriteriaAnswer answer : jobApplication.getCultureCriteriaAnswersSet())
{
if(answer.getSelectedQuestion() == null)
{
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING1,"In SaveAndExitCultureFP deleting CultureCriteriaAnswer : ", answer );
answer.delete();
}
}
return super.processForm(process, submission, params);
}
}
\ No newline at end of file
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.servlets.forms.SubmissionDetails;
import oneit.servlets.forms.SuccessfulResult;
import oneit.servlets.process.ORMProcessState;
import oneit.servlets.process.SaveFP;
import oneit.utils.BusinessException;
import performa.orm.AssessmentCriteriaAnswer;
import performa.orm.JobApplication;
public class SaveAndExitExperienceFP extends SaveFP
{
@Override
public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException
{
HttpServletRequest request = submission.getRequest();
JobApplication jobApplication = process.getAttribute("JobApplication") != null ? (JobApplication) process.getAttribute("JobApplication") : (JobApplication) request.getAttribute("JobApplication");
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING1,"In SaveAndExitExperienceFP saving job application: ", jobApplication );
for (AssessmentCriteriaAnswer answer : jobApplication.getAssessmentCriteriaAnswersSet())
{
if(answer.getAnswer() == null)
{
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING1,"In SaveAndExitExperienceFP deleting AssessmentCriteriaAnswer : ", answer );
answer.delete();
}
}
return super.processForm(process, submission, params);
}
}
\ No newline at end of file
......@@ -32,9 +32,6 @@ public class JobApplication extends BaseJobApplication
jobApplication.setCandidate(candidate);
jobApplication.setJob(job);
jobApplication.initACAnswers();
// jobApplication.initCCAnswers();
return jobApplication;
}
......@@ -54,24 +51,71 @@ public class JobApplication extends BaseJobApplication
}
public boolean initCCAnswers()
public boolean createAssessmentCriteriaObjects() throws FieldException
{
boolean redirect = false;
boolean safeRedirect = false;
if(isIncludeAssessmentCriteria())
{
for(AssessmentCriteria assessmentCriteria : getJob().getAssessmentCriteriasSet())
{
boolean available = false;
for(AssessmentCriteriaAnswer answer : getAssessmentCriteriaAnswersSet())
{
if(assessmentCriteria.equals(answer.getAssessmentCriteria()))
{
available = true;
break;
}
}
if(!available)
{
AssessmentCriteriaAnswer answer = AssessmentCriteriaAnswer.createAssessmentCriteriaAnswer(getTransaction());
addToAssessmentCriteriaAnswers(answer);
assessmentCriteria.addToAnswers(answer);
safeRedirect = true;
}
}
}
return safeRedirect;
}
if(getCultureCriteriaAnswersCount() == 0) //initCCAnswers not called yet
public boolean createCultureCriteriaObjects() throws FieldException
{
boolean safeRedirect = false;
for(CultureCriteria cultureCriteria : getJob().getCultureCriteriasSet())
{
redirect = true;
boolean available = false;
for(CultureCriteriaAnswer answer : getCultureCriteriaAnswersSet())
{
if(cultureCriteria.equals(answer.getCultureCriteria()))
{
available = true;
break;
}
}
if(!available)
{
CultureCriteriaAnswer answer = CultureCriteriaAnswer.createCultureCriteriaAnswer(getTransaction());
addToCultureCriteriaAnswers(answer);
cultureCriteria.addToAnswers(answer);
safeRedirect = true;
}
}
return redirect;
return safeRedirect;
}
public boolean initAssessmentAnswers(List<Question> allQuestions) throws StorageException, FieldException
{
boolean redirect = false;
......@@ -118,13 +162,14 @@ public class JobApplication extends BaseJobApplication
{
int allAnswersCount = getAssessmentCriteriaAnswersCount();
if(allAnswersCount > 0)
if(allAnswersCount == getJob().getAssessmentCriteriasCount())
{
Filter filter = AssessmentCriteriaAnswer.SearchByAll().andAnswer(new IsNotNullFilter<>());
Collection selectedAnswers = pipelineJobApplication().toAssessmentCriteriaAnswers(filter).vals();
return (selectedAnswers.size() == allAnswersCount);
}
return false;
}
......@@ -133,13 +178,14 @@ public class JobApplication extends BaseJobApplication
{
int allAnswersCount = getCultureCriteriaAnswersCount();
if(allAnswersCount > 0)
if(allAnswersCount == getJob().getCultureCriteriasCount())
{
Filter filter = CultureCriteriaAnswer.SearchByAll().andSelectedQuestion(new IsNotNullFilter<>());
Collection selectedAnswers = pipelineJobApplication().toCultureCriteriaAnswers(filter).vals();
return (selectedAnswers.size() == allAnswersCount);
}
return false;
}
......
......@@ -43,7 +43,7 @@
<NODE name="loginFailureMessage" factory="String" value="Invalid password, please re-check your login details ... "/>
<NODE name="onSuccessURL" factory="String" value="../../AdminPortal-Home.htm"/>
<PARSER name="username" factory="Participant" class="oneit.utils.parsers.StringParser">
<NODE name="nonExistErrorMessage" factory="String" value="Please enter a value for user name"/>
<NODE name="nonExistErrorMessage" factory="String" value="Please enter a value for Email Address"/>
</PARSER>
<PARSER name="password" factory="Participant" class="oneit.utils.parsers.StringParser">
<NODE name="nonExistErrorMessage" factory="String" value="Please enter a value for password"/>
......
......@@ -36,7 +36,7 @@
</div>
<div class="form-group">
<a href="#" class="forgot-pass">Forgot password?</a>
<a href="#" class="forgot-pass" style="display: none">Forgot password?</a>
<oneit:button value="Sign in" name="login" cssClass="box-btn login-btn"
requestAttribs="<%= CollectionUtils.EMPTY_MAP%>"/>
......
......@@ -5,6 +5,8 @@
<FORM name="*.signIn" factory="Participant" class="performa.form.SignInCandidateFP"/>
<FORM name="*.verifyIdentity" factory="Participant" class="performa.form.VerifyIdentityFP"/>
<FORM name="*.completeApplication" factory="Participant" class="performa.form.CompleteApplicationFP"/>
<FORM name="*.saveAndExitExperienece" factory="Participant" class="performa.form.SaveAndExitExperienceFP"/>
<FORM name="*.saveAndExitCulture" factory="Participant" class="performa.form.SaveAndExitCultureFP"/>
</NODE>
......
......@@ -33,11 +33,17 @@
%>
<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="appli-aust-title"><oneit:toString value="<%= job.getJobTitle() %>" mode="EscapeHTML"/></div>
<div class="appli-aust-title">
<oneit:toString value="<%= job.getPageTitle() %>" mode="EscapeHTML"/>
</div>
<p class="appli-content">
<oneit:toString value="<%= job.getJobDescription() %>" mode="ParagraphHTML" nullValue="-"/>
</p>
<div class="three-block">
<%
if(job.getIncludeAssessmentCriteria())
{
%>
<div class="col-sm-4 col-xs-12 app-block eq-height">
<div class="block-icon <%= isSelectionComplete ? "app-outline-complete" : "" %>">
<div class="<%= isSelectionComplete ? "app-outline-complete-icon" : "app-outline-selection-icon" %>"></div>
......@@ -52,7 +58,10 @@
Suspendisse vitae tempus sem.
</p>
</div>
<div class="col-sm-4 col-xs-12 app-block app-second-block eq-height">
<%
}
%>
<div class="<%= (job.getIncludeAssessmentCriteria() ? "col-sm-4 app-second-block" : "col-sm-6 app-block" ) + "col-xs-12 app-block eq-height"%> ">
<div class="block-icon <%= isCultureComplete ? "app-outline-complete" : "" %>">
<div class="<%= isCultureComplete ? "app-outline-complete-icon" : "app-outline-culture-icon" %>"></div>
</div>
......@@ -66,7 +75,7 @@
Suspendisse vitae tempus sem.
</p>
</div>
<div class="col-sm-4 col-xs-12 app-block eq-height last-border">
<div class="<%= (job.getIncludeAssessmentCriteria() ? "col-sm-4 " : "col-sm-6 " ) + "col-xs-12 app-block eq-height last-border"%>">
<div class="block-icon <%= isAssesmentComplete ? "app-outline-complete" : "" %>">
<div class="<%= isAssesmentComplete ? "app-outline-complete-icon" : "app-outline-assesmet-icon" %>"></div>
</div>
......@@ -82,7 +91,7 @@
</div>
</div>
<%
if(!job.isClosed() && jobApplication.getApplicationStatus()!=ApplicationStatus.SUBMITTED)
if(job.getJobStatus() == JobStatus.OPEN && jobApplication.getApplicationStatus()!= ApplicationStatus.SUBMITTED)
{
String btnText = "Resume the application";
......@@ -113,11 +122,11 @@
}
else
{
String infoStr = "Job is no longer accepting applications.";
String infoStr = "We're sorry, this job is no longer accepting applications";
if(jobApplication.getApplicationStatus() == ApplicationStatus.SUBMITTED)
{
infoStr = "Completed on " + FormatUtils.stringify(jobApplication.getSubmittedDate(), "MidDate", "") ;
infoStr = "You applied for this job on " + FormatUtils.stringify(jobApplication.getSubmittedDate(), "MidDate", "") ;
}
%>
<div class="app-out-btn">
......
......@@ -27,19 +27,19 @@
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<span><%= jobApplication.selectionCompleted() ? "<img src=\"images/right-mark.png\" />" : "1"%></span>
<div class="mobile-hide">Requirements</div>
<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"
<oneit:button value=" " name="gotoPage" skin="link" disabled="<%= jobApplication.cultureCompleted() ? "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>
<div class="mobile-hide">Culture</div>
<div class="mobile-hide">Workplace Preference</div>
</oneit:button>
</li>
<li class="<%= pageNumber == "3" ? "active" : jobApplication.assessmentCompleted() ? "complate" : ""%>">
......@@ -48,7 +48,7 @@
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<span><%= jobApplication.assessmentCompleted() ? "<img src=\"images/right-mark.png\" />" : (includeAssessment ? "3" : "2")%></span>
<div class="mobile-hide">Profile Assessment</div>
<div class="mobile-hide">Your Work Style</div>
</oneit:button>
</li>
<li><a href="#"><span><%= includeAssessment ? "4" : "3" %></span><div class="mobile-hide">Submit Application</div></a></li>
......
......@@ -43,16 +43,16 @@
<div class="main-application-outline">
<div class="selection-aust-logo">
<img src="images/australia-post.png" />
<span><oneit:toString value="<%= job.getJobTitle() %>" mode="EscapeHTML"/></span>
<span><oneit:toString value="<%= job.getPageTitle() %>" mode="EscapeHTML"/></span>
</div>
<div class="show-mobile-title">
<div class="mobile-title-page">Profile Assessment</div>
<div class="mobile-title-page">Your Work Style</div>
<div class="mobile-estimated">Estimated time to complete:
<span class="estimated-time-20">&nbsp;20 mins</span>
</div>
</div>
<div class="section-c-title m-hide">
Profile Assessment
Your Work Style
<span>Estimated time to complete:
<span class="estimated-time-20">&nbsp;20 mins</span>
</span>
......
......@@ -11,21 +11,36 @@
Job job = jobApplication.getJob();
String exitPage = WebUtils.getArticleLink(request, objTran, WebUtils.APPLY_JOB, "Page");
exitPage = exitPage + "&id=" + job.getID() + "&key=" + job.getRandomKey();
boolean toRedirect = jobApplication.createAssessmentCriteriaObjects();
if (toRedirect)
{
%>
<script>
<%@ include file="/saferedirect.jsp" %>
<%
}
%>
<script type="text/javascript">
$(document).ready(function()
{
recalcFunction = setupRecalc ($("form"), {'recalcOnError':true});
});
$(document.body).addClass('bg-color');
</script>
<div class="main-application-outline">
<div class="selection-aust-logo">
<img src="images/australia-post.png" />
<span><oneit:toString value="<%= job.getJobTitle() %>" mode="EscapeHTML"/></span>
<span><oneit:toString value="<%= job.getPageTitle() %>" mode="EscapeHTML"/></span>
</div>
<div class="show-mobile-title">
<div class="mobile-title-page">Your Experience</div>
<div class="mobile-estimated">Estimated time to complete: <b>5 mins</b></div>
</div>
<div class="section-c-title m-hide">
Requirements
Your Experience
<span class="estimated-time">Estimated time to complete:
<span>5 mins</span>
</span>
......@@ -71,7 +86,9 @@
String falseSelected = CollectionUtils.equals("false", formValue) ? "checked" : "";
%>
<div class="form-group-new question-y-n">
<label class="second-label"><oneit:toString value="<%= answer.getAssessmentCriteria() %>" mode="EscapeHTML"/></label>
<label class="second-label">
<oneit:toString value="<%= answer.getAssessmentCriteria() %>" mode="EscapeHTML"/>
</label>
<div class="radio radio-primary second-radio-primary">
<input type="radio" name="<%= optionKey %>" value="true" id="<%= trueID%>" <%= trueSelected %>/>
<label for="<%= trueID%>">
......@@ -86,8 +103,10 @@
</div>
</div>
<div class="textarea-box">
<oneit:recalcClass htmlTag="div" classScript="answer.getAnswer() != null && answer.getAnswer() ? 'show': 'hide'" answer="<%= answer %>">
<oneit:ormtextarea obj="<%= answer %>" attributeName="Notes" cssClass="form-control second-style"
placeholder="Please add any notes to support your answer"/>
</oneit:recalcClass>
</div>
<%
}
......@@ -100,11 +119,12 @@
<div class="selection-br-line"></div>
<div class="main-sc-section-bottom btn-remove-padd">
<div class="section-btn text-center">
<oneit:button value="Save and exit" name="save" cssClass="box-btn-gray"
<oneit:button value="Save and exit" name="saveAndExitExperienece" cssClass="box-btn-gray"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", exitPage)
.mapEntry ("procParams", Collections.singletonMap("JobApplication", jobApplication))
.mapEntry ("JobApplication", jobApplication)
.mapEntry(UpdateMappedObjFP.FAIL_VALIDATION_ERRORS, Boolean.FALSE)
.toMap() %>"/>
<oneit:button value="Proceed to step 2" name="gotoPage" cssClass="box-btn"
<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() %>"/>
......
......@@ -9,7 +9,7 @@
String nextPage = WebUtils.getSamePageInRenderMode(request, "SelectionCriteria");
JobApplication jobApplication = (JobApplication) process.getAttribute("JobApplication");
Job job = jobApplication.getJob();
String exitPage = WebUtils.getArticleLink(request, objTran, WebUtils.APPLY_JOB, "Page") + "&id=" + job.getID() + "&key=" + job.getRandomKey();
%>
<script>
$(document.body).addClass('bg-color');
......@@ -18,18 +18,24 @@
<div class="main-application-outline">
<div class="selection-aust-logo">
<img src="images/australia-post.png" />
<span><oneit:toString value="<%= job.getJobTitle() %>" mode="EscapeHTML"/></span>
<span><oneit:toString value="<%= job.getPageTitle() %>" mode="EscapeHTML"/></span>
</div>
<div class="mobile-successfull-show display-none">Application Successfully Submitted</div>
<div class="section-page-area complete-back">
<div class="job-post-complete">
<div class="big-right-sy"><span><img src="images/big-right-symbol.svg" /></span></div>
<div class="app-complete-title m-hide">Application Successfully Submitted</div>
<div class="app-complete-title m-hide">Thank you</div>
<div class="app-complete-text">
Your application for
<oneit:toString value="<%= job.getJobTitle() %>" mode="EscapeHTML"/>
has been submitted for review.
</div>
<div class="section-btn text-center">
<oneit:button value="Return to Job Details" name="gotoPage" cssClass="box-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", exitPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>"/>
</div>
</div>
</div>
</div>
......
......@@ -11,9 +11,7 @@
Job job = jobApplication.getJob();
String exitPage = WebUtils.getArticleLink(request, objTran, WebUtils.APPLY_JOB, "Page");
exitPage = exitPage + "&id=" + job.getID() + "&key=" + job.getRandomKey();
String sectionNo = jobApplication.isIncludeAssessmentCriteria() ? "2" : "1";
String nextBtnText = jobApplication.isIncludeAssessmentCriteria() ? "Proceed to step 3" : "Proceed to step 2";
boolean toRedirect = jobApplication.initCCAnswers();
boolean toRedirect = jobApplication.createCultureCriteriaObjects();
if(toRedirect)
{
......@@ -29,16 +27,16 @@
<div class="main-application-outline">
<div class="selection-aust-logo">
<img src="images/australia-post.png" />
<span><oneit:toString value="<%= job.getJobTitle() %>" mode="EscapeHTML"/></span>
<span><oneit:toString value="<%= job.getPageTitle() %>" mode="EscapeHTML"/></span>
</div>
<div class="show-mobile-title">
<div class="mobile-title-page">Culture</div>
<div class="mobile-title-page">Workplace Preference</div>
<div class="mobile-estimated">Estimated time to complete:
<span class="estimated-time-20">&nbsp;5 mins</span>
</div>
</div>
<div class="section-c-title m-hide">
Culture
Workplace Preference
<span class="estimated-time">Estimated time to complete:
<span class="estimated-time-20">&nbsp;20 mins</span>
</span>
......@@ -108,11 +106,12 @@
<div class="selection-br-line"></div>
<div class="main-sc-section-bottom btn-remove-padd">
<div class="section-btn text-center">
<oneit:button value="Save and exit" name="save" cssClass="box-btn-gray"
<oneit:button value="Save and exit" name="saveAndExitCulture" cssClass="box-btn-gray"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", exitPage)
.mapEntry ("procParams", Collections.singletonMap("JobApplication", jobApplication))
.mapEntry ("JobApplication", jobApplication)
.mapEntry(UpdateMappedObjFP.FAIL_VALIDATION_ERRORS, Boolean.FALSE)
.toMap() %>"/>
<oneit:button value="<%= nextBtnText %>" name="gotoPage" cssClass="box-btn"
<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() %>"/>
......
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