Commit ad6d3de0 by Harsh Shah

Review changes

parent 5348c027
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
<column name="job_application_id" type="Long" length="11" nullable="false"/> <column name="job_application_id" type="Long" length="11" nullable="false"/>
</NODE> </NODE>
<NODE name="INDEX" factory="Participant" class="oneit.sql.transfer.DefineIndexOperation" tableName="tl_assessment_criteria_answer" indexName="idx_tl_assessment_criteria_answer_assessment_criteria_id" isUnique="false"><column name="assessment_criteria_id"/></NODE>
<NODE name="INDEX" factory="Participant" class="oneit.sql.transfer.DefineIndexOperation" tableName="tl_assessment_criteria_answer" indexName="idx_tl_assessment_criteria_answer_job_application_id" isUnique="false"><column name="job_application_id"/></NODE> <NODE name="INDEX" factory="Participant" class="oneit.sql.transfer.DefineIndexOperation" tableName="tl_assessment_criteria_answer" indexName="idx_tl_assessment_criteria_answer_job_application_id" isUnique="false"><column name="job_application_id"/></NODE>
</NODE></OBJECTS> </NODE></OBJECTS>
\ No newline at end of file
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
<column name="job_application_id" type="Long" length="11" nullable="false"/> <column name="job_application_id" type="Long" length="11" nullable="false"/>
</NODE> </NODE>
<NODE name="INDEX" factory="Participant" class="oneit.sql.transfer.DefineIndexOperation" tableName="tl_culture_criteria_answer" indexName="idx_tl_culture_criteria_answer_culture_criteria_id" isUnique="false"><column name="culture_criteria_id"/></NODE>
<NODE name="INDEX" factory="Participant" class="oneit.sql.transfer.DefineIndexOperation" tableName="tl_culture_criteria_answer" indexName="idx_tl_culture_criteria_answer_job_application_id" isUnique="false"><column name="job_application_id"/></NODE> <NODE name="INDEX" factory="Participant" class="oneit.sql.transfer.DefineIndexOperation" tableName="tl_culture_criteria_answer" indexName="idx_tl_culture_criteria_answer_job_application_id" isUnique="false"><column name="job_application_id"/></NODE>
</NODE></OBJECTS> </NODE></OBJECTS>
\ No newline at end of file
...@@ -24,5 +24,8 @@ ALTER TABLE tl_assessment_criteria_answer ADD ...@@ -24,5 +24,8 @@ ALTER TABLE tl_assessment_criteria_answer ADD
CREATE INDEX idx_tl_assessment_criteria_answer_assessment_criteria_id
ON tl_assessment_criteria_answer (assessment_criteria_id);
CREATE INDEX idx_tl_assessment_criteria_answer_job_application_id CREATE INDEX idx_tl_assessment_criteria_answer_job_application_id
ON tl_assessment_criteria_answer (job_application_id); ON tl_assessment_criteria_answer (job_application_id);
...@@ -23,5 +23,8 @@ ALTER TABLE tl_culture_criteria_answer ADD ...@@ -23,5 +23,8 @@ ALTER TABLE tl_culture_criteria_answer ADD
CREATE INDEX idx_tl_culture_criteria_answer_culture_criteria_id
ON tl_culture_criteria_answer (culture_criteria_id);
CREATE INDEX idx_tl_culture_criteria_answer_job_application_id CREATE INDEX idx_tl_culture_criteria_answer_job_application_id
ON tl_culture_criteria_answer (job_application_id); ON tl_culture_criteria_answer (job_application_id);
...@@ -25,5 +25,8 @@ ALTER TABLE tl_assessment_criteria_answer ADD ...@@ -25,5 +25,8 @@ ALTER TABLE tl_assessment_criteria_answer ADD
CREATE INDEX idx_tl_assessment_criteria_answer_assessment_criteria_id
ON tl_assessment_criteria_answer (assessment_criteria_id);
CREATE INDEX idx_tl_assessment_criteria_answer_job_application_id CREATE INDEX idx_tl_assessment_criteria_answer_job_application_id
ON tl_assessment_criteria_answer (job_application_id); ON tl_assessment_criteria_answer (job_application_id);
...@@ -24,5 +24,8 @@ ALTER TABLE tl_culture_criteria_answer ADD ...@@ -24,5 +24,8 @@ ALTER TABLE tl_culture_criteria_answer ADD
CREATE INDEX idx_tl_culture_criteria_answer_culture_criteria_id
ON tl_culture_criteria_answer (culture_criteria_id);
CREATE INDEX idx_tl_culture_criteria_answer_job_application_id CREATE INDEX idx_tl_culture_criteria_answer_job_application_id
ON tl_culture_criteria_answer (job_application_id); ON tl_culture_criteria_answer (job_application_id);
...@@ -25,5 +25,8 @@ ALTER TABLE tl_assessment_criteria_answer ADD ...@@ -25,5 +25,8 @@ ALTER TABLE tl_assessment_criteria_answer ADD
CREATE INDEX idx_tl_assessment_criteria_answer_assessment_criteria_id
ON tl_assessment_criteria_answer (assessment_criteria_id);
CREATE INDEX idx_tl_assessment_criteria_answer_job_application_id CREATE INDEX idx_tl_assessment_criteria_answer_job_application_id
ON tl_assessment_criteria_answer (job_application_id); ON tl_assessment_criteria_answer (job_application_id);
...@@ -24,5 +24,8 @@ ALTER TABLE tl_culture_criteria_answer ADD ...@@ -24,5 +24,8 @@ ALTER TABLE tl_culture_criteria_answer ADD
CREATE INDEX idx_tl_culture_criteria_answer_culture_criteria_id
ON tl_culture_criteria_answer (culture_criteria_id);
CREATE INDEX idx_tl_culture_criteria_answer_job_application_id CREATE INDEX idx_tl_culture_criteria_answer_job_application_id
ON tl_culture_criteria_answer (job_application_id); ON tl_culture_criteria_answer (job_application_id);
...@@ -12,16 +12,6 @@ import performa.orm.Job; ...@@ -12,16 +12,6 @@ import performa.orm.Job;
public class SignInCandidateFP extends NavigationFP public class SignInCandidateFP extends NavigationFP
{ {
@Override @Override
public SuccessfulResult processForm(SubmissionDetails submission, Map params) throws BusinessException
{
HttpServletRequest request = submission.getRequest();
Job job = (Job) request.getAttribute("Job");
return super.processForm(submission, params);
}
@Override
protected Map validate(SubmissionDetails submission, MultiException exceptions) protected Map validate(SubmissionDetails submission, MultiException exceptions)
{ {
HttpServletRequest request = submission.getRequest(); HttpServletRequest request = submission.getRequest();
......
...@@ -17,29 +17,25 @@ public class Answer extends BaseAnswer ...@@ -17,29 +17,25 @@ public class Answer extends BaseAnswer
// Do not add any code to this, always put it in initialiseNewObject // Do not add any code to this, always put it in initialiseNewObject
} }
// @Override
// public String getObjectIDSpace()
// {
// return "Answer";
// }
@Override @Override
protected void postAnswerNoChange() throws FieldException protected void postAnswerNoChange() throws FieldException
{ {
super.postAnswerNoChange(); super.postAnswerNoChange();
Question rightQuestion = this.getQuestion().getRightQuestion(); if(getQuestion() != null)
{
Question rightQuestion = getQuestion().getRightQuestion();
if(rightQuestion!=null) if(rightQuestion != null)
{ {
Filter<Answer> filter = Answer.SearchByAll().andQuestion(new EqualsFilter<>(rightQuestion)); Filter<Answer> filter = Answer.SearchByAll().andQuestion(new EqualsFilter<>(rightQuestion));
Answer rightAnswer = CollectionFilter.getFirstMatch(this.getJobApplication().getProfileAssessmentAnswersSet(), filter); Answer rightAnswer = CollectionFilter.getFirstMatch(getJobApplication().getProfileAssessmentAnswersSet(), filter);
if(rightAnswer!=null) if(rightAnswer!=null)
{ {
rightAnswer.setAnswerNo(this.calculateRightAnswerNo()); rightAnswer.setAnswerNo(calculateRightAnswerNo());
}
} }
} }
} }
...@@ -47,11 +43,10 @@ public class Answer extends BaseAnswer ...@@ -47,11 +43,10 @@ public class Answer extends BaseAnswer
public Integer calculateRightAnswerNo() public Integer calculateRightAnswerNo()
{ {
if(this.getAnswerNo()!=null) if(getAnswerNo()!=null)
{ {
return MAX_ANSWER_NO - this.getAnswerNo(); return MAX_ANSWER_NO - getAnswerNo();
} }
return null; return null;
} }
} }
\ No newline at end of file
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
<BUSINESSCLASS name="AssessmentCriteria" package="performa.orm"> <BUSINESSCLASS name="AssessmentCriteria" package="performa.orm">
<IMPORT value="performa.orm.types.*"/> <IMPORT value="performa.orm.types.*"/>
<MULTIPLEREFERENCE name="Answers" type="AssessmentCriteriaAnswer" backreferenceName="AssessmentCriteria"/>
<TABLE name="tl_assessment_criteria" tablePrefix="object" polymorphic="FALSE"> <TABLE name="tl_assessment_criteria" tablePrefix="object" polymorphic="FALSE">
<ATTRIB name="Name" type="String" dbcol="name" length="200" mandatory="true"/> <ATTRIB name="Name" type="String" dbcol="name" length="200" mandatory="true"/>
......
...@@ -16,8 +16,19 @@ public class AssessmentCriteriaAnswer extends BaseAssessmentCriteriaAnswer ...@@ -16,8 +16,19 @@ public class AssessmentCriteriaAnswer extends BaseAssessmentCriteriaAnswer
@Override @Override
public boolean filterCriteriaType(CriteriaType CriteriaType) throws StorageException public boolean filterCriteriaType(CriteriaType criteriaType) throws StorageException
{ {
return Boolean.TRUE; return checkCriteriaTypeMatches(criteriaType);
}
@Override
public boolean filterByCriteriaType(CriteriaType criteriaType) throws StorageException
{
return checkCriteriaTypeMatches(criteriaType);
}
private boolean checkCriteriaTypeMatches(CriteriaType criteriaType)
{
return (criteriaType == null ? true : (getAssessmentCriteria() != null && (getAssessmentCriteria().getCriteriaType() == criteriaType))); //Should bypass condition if input param is null
} }
} }
\ No newline at end of file
...@@ -10,18 +10,18 @@ ...@@ -10,18 +10,18 @@
<ATTRIB name="Answer" type="Boolean" dbcol="answer" mandatory="true"/> <ATTRIB name="Answer" type="Boolean" dbcol="answer" mandatory="true"/>
<ATTRIB name="Notes" type="String" dbcol="notes"/> <ATTRIB name="Notes" type="String" dbcol="notes"/>
<SINGLEREFERENCE name="AssessmentCriteria" type="AssessmentCriteria" dbcol="assessment_criteria_id" mandatory="true" /> <SINGLEREFERENCE name="AssessmentCriteria" type="AssessmentCriteria" dbcol="assessment_criteria_id" mandatory="true" backreferenceName="Answers"/>
<SINGLEREFERENCE name="JobApplication" type="JobApplication" dbcol="job_application_id" mandatory="true" backreferenceName="AssessmentCriteriaAnswers"/> <SINGLEREFERENCE name="JobApplication" type="JobApplication" dbcol="job_application_id" mandatory="true" backreferenceName="AssessmentCriteriaAnswers"/>
</TABLE> </TABLE>
<SEARCH type="All" paramFilter="tl_assessment_criteria_answer.object_id is not null" orderBy="tl_assessment_criteria_answer.object_id" /> <SEARCH type="All" paramFilter="tl_assessment_criteria_answer.object_id is not null" orderBy="tl_assessment_criteria_answer.object_id" />
<SEARCH type="CriteriaType" paramFilter="tl_assessment_criteria_answer.object_id is not null" <SEARCH type="CriteriaType" paramFilter="tl_assessment_criteria_answer.object_id is not null" orderBy="tl_assessment_criteria_answer.object_id"
orderBy="tl_assessment_criteria_answer.object_id" checkTXObjects="TRUE"> checkTXObjects="TRUE" allowByFilter="TRUE">
<TABLE name="tl_assessment_criteria" join="tl_assessment_criteria.object_id = tl_assessment_criteria_answer.assessment_criteria_id"/> <TABLE name="tl_assessment_criteria" join="tl_assessment_criteria.object_id = tl_assessment_criteria_answer.assessment_criteria_id"/>
<PARAM name="CriteriaType" type="CriteriaType" paramFilter="tl_assessment_criteria.assessment_type >= ${CriteriaType}" /> <PARAM name="CriteriaType" type="CriteriaType" paramFilter="tl_assessment_criteria.assessment_type = ${CriteriaType}" />
</SEARCH> </SEARCH>
</BUSINESSCLASS> </BUSINESSCLASS>
......
...@@ -145,6 +145,16 @@ public class AssessmentCriteriaAnswerPersistenceMgr extends ObjectPersistenceMgr ...@@ -145,6 +145,16 @@ public class AssessmentCriteriaAnswerPersistenceMgr extends ObjectPersistenceMgr
{ {
throw new RuntimeException (); throw new RuntimeException ();
} }
else if (refName.equals (AssessmentCriteriaAnswer.SINGLEREFERENCE_AssessmentCriteria))
{
String query = "SELECT " + SELECT_COLUMNS +
"FROM {PREFIX}tl_assessment_criteria_answer " +
"WHERE " + SELECT_JOINS + "assessment_criteria_id = ?";
BaseBusinessClass[] results = loadQuery (allPSets, sqlMgr, context, query, new Object[] { _objectID.longID () }, null, false);
return results;
}
else if (refName.equals (AssessmentCriteriaAnswer.SINGLEREFERENCE_JobApplication)) else if (refName.equals (AssessmentCriteriaAnswer.SINGLEREFERENCE_JobApplication))
{ {
String query = "SELECT " + SELECT_COLUMNS + String query = "SELECT " + SELECT_COLUMNS +
...@@ -442,7 +452,7 @@ public class AssessmentCriteriaAnswerPersistenceMgr extends ObjectPersistenceMgr ...@@ -442,7 +452,7 @@ public class AssessmentCriteriaAnswerPersistenceMgr extends ObjectPersistenceMgr
if (criteria.containsKey("CriteriaType")) if (criteria.containsKey("CriteriaType"))
{ {
preFilter += " AND (tl_assessment_criteria.assessment_type >= ${CriteriaType}) "; preFilter += " AND (tl_assessment_criteria.assessment_type = ${CriteriaType}) ";
preFilter += ""; preFilter += "";
} }
......
...@@ -43,6 +43,7 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass ...@@ -43,6 +43,7 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
public static final String FIELD_Answer = "Answer"; public static final String FIELD_Answer = "Answer";
public static final String FIELD_Notes = "Notes"; public static final String FIELD_Notes = "Notes";
public static final String SINGLEREFERENCE_AssessmentCriteria = "AssessmentCriteria"; public static final String SINGLEREFERENCE_AssessmentCriteria = "AssessmentCriteria";
public static final String BACKREF_AssessmentCriteria = "";
public static final String SINGLEREFERENCE_JobApplication = "JobApplication"; public static final String SINGLEREFERENCE_JobApplication = "JobApplication";
public static final String BACKREF_JobApplication = ""; public static final String BACKREF_JobApplication = "";
...@@ -85,6 +86,7 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass ...@@ -85,6 +86,7 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
try try
{ {
String tmp_AssessmentCriteria = AssessmentCriteria.BACKREF_Answers;
String tmp_JobApplication = JobApplication.BACKREF_AssessmentCriteriaAnswers; String tmp_JobApplication = JobApplication.BACKREF_AssessmentCriteriaAnswers;
Map validatorMapping = ((Map)ConfigMgr.getConfigObject ("CONFIG.ORMVALIDATOR", "ValidatorMapping")); Map validatorMapping = ((Map)ConfigMgr.getConfigObject ("CONFIG.ORMVALIDATOR", "ValidatorMapping"));
...@@ -112,6 +114,7 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass ...@@ -112,6 +114,7 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
{ {
Map metaInfo = new HashMap (); Map metaInfo = new HashMap ();
metaInfo.put ("backreferenceName", "Answers");
metaInfo.put ("dbcol", "assessment_criteria_id"); metaInfo.put ("dbcol", "assessment_criteria_id");
metaInfo.put ("mandatory", "true"); metaInfo.put ("mandatory", "true");
metaInfo.put ("name", "AssessmentCriteria"); metaInfo.put ("name", "AssessmentCriteria");
...@@ -212,7 +215,7 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass ...@@ -212,7 +215,7 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
{ {
super._initialiseAssociations (); super._initialiseAssociations ();
_AssessmentCriteria = new SingleAssociation<AssessmentCriteriaAnswer, AssessmentCriteria> (this, SINGLEREFERENCE_AssessmentCriteria, null, AssessmentCriteria.REFERENCE_AssessmentCriteria, "tl_assessment_criteria_answer"); _AssessmentCriteria = new SingleAssociation<AssessmentCriteriaAnswer, AssessmentCriteria> (this, SINGLEREFERENCE_AssessmentCriteria, AssessmentCriteria.MULTIPLEREFERENCE_Answers, AssessmentCriteria.REFERENCE_AssessmentCriteria, "tl_assessment_criteria_answer");
_JobApplication = new SingleAssociation<AssessmentCriteriaAnswer, JobApplication> (this, SINGLEREFERENCE_JobApplication, JobApplication.MULTIPLEREFERENCE_AssessmentCriteriaAnswers, JobApplication.REFERENCE_JobApplication, "tl_assessment_criteria_answer"); _JobApplication = new SingleAssociation<AssessmentCriteriaAnswer, JobApplication> (this, SINGLEREFERENCE_JobApplication, JobApplication.MULTIPLEREFERENCE_AssessmentCriteriaAnswers, JobApplication.REFERENCE_JobApplication, "tl_assessment_criteria_answer");
} }
...@@ -223,7 +226,7 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass ...@@ -223,7 +226,7 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
{ {
super.initialiseReference (); super.initialiseReference ();
_AssessmentCriteria = new SingleAssociation<AssessmentCriteriaAnswer, AssessmentCriteria> (this, SINGLEREFERENCE_AssessmentCriteria, null, AssessmentCriteria.REFERENCE_AssessmentCriteria, "tl_assessment_criteria_answer"); _AssessmentCriteria = new SingleAssociation<AssessmentCriteriaAnswer, AssessmentCriteria> (this, SINGLEREFERENCE_AssessmentCriteria, AssessmentCriteria.MULTIPLEREFERENCE_Answers, AssessmentCriteria.REFERENCE_AssessmentCriteria, "tl_assessment_criteria_answer");
_JobApplication = new SingleAssociation<AssessmentCriteriaAnswer, JobApplication> (this, SINGLEREFERENCE_JobApplication, JobApplication.MULTIPLEREFERENCE_AssessmentCriteriaAnswers, JobApplication.REFERENCE_JobApplication, "tl_assessment_criteria_answer"); _JobApplication = new SingleAssociation<AssessmentCriteriaAnswer, JobApplication> (this, SINGLEREFERENCE_JobApplication, JobApplication.MULTIPLEREFERENCE_AssessmentCriteriaAnswers, JobApplication.REFERENCE_JobApplication, "tl_assessment_criteria_answer");
...@@ -476,7 +479,7 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass ...@@ -476,7 +479,7 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
} }
else if (assocName.equals (SINGLEREFERENCE_AssessmentCriteria)) else if (assocName.equals (SINGLEREFERENCE_AssessmentCriteria))
{ {
return null ; return AssessmentCriteria.MULTIPLEREFERENCE_Answers ;
}else if (assocName.equals (SINGLEREFERENCE_JobApplication)) }else if (assocName.equals (SINGLEREFERENCE_JobApplication))
{ {
return JobApplication.MULTIPLEREFERENCE_AssessmentCriteriaAnswers ; return JobApplication.MULTIPLEREFERENCE_AssessmentCriteriaAnswers ;
...@@ -657,9 +660,22 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass ...@@ -657,9 +660,22 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
assertValid(); assertValid();
Debug.assertion (getWriteability_AssessmentCriteria () != FieldWriteability.FALSE, "Assoc AssessmentCriteria is not writeable"); Debug.assertion (getWriteability_AssessmentCriteria () != FieldWriteability.FALSE, "Assoc AssessmentCriteria is not writeable");
preAssessmentCriteriaChange (newAssessmentCriteria); preAssessmentCriteriaChange (newAssessmentCriteria);
AssessmentCriteria oldAssessmentCriteria = getAssessmentCriteria ();
if (oldAssessmentCriteria != null)
{
// This is to stop validation from triggering when we are removed
_AssessmentCriteria.set (null);
oldAssessmentCriteria.removeFromAnswers ((AssessmentCriteriaAnswer)(this));
}
_AssessmentCriteria.set (newAssessmentCriteria); _AssessmentCriteria.set (newAssessmentCriteria);
if (newAssessmentCriteria != null)
{
newAssessmentCriteria.addToAnswers ((AssessmentCriteriaAnswer)(this));
}
postAssessmentCriteriaChange (); postAssessmentCriteriaChange ();
} }
} }
...@@ -871,6 +887,20 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass ...@@ -871,6 +887,20 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
try try
{ {
// Ensure we are removed from any loaded multi-associations that aren't mandatory // Ensure we are removed from any loaded multi-associations that aren't mandatory
if (_AssessmentCriteria.isLoaded () || getTransaction ().isObjectLoaded (_AssessmentCriteria.getReferencedType (), getAssessmentCriteriaID ()))
{
AssessmentCriteria referenced = getAssessmentCriteria ();
if (referenced != null)
{
// Stop the callback
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Setting backreference to null Answers from ", getObjectID (), " to ", referenced.getObjectID ());
_AssessmentCriteria.set (null);
referenced.removeFromAnswers ((AssessmentCriteriaAnswer)this);
}
}
// Ensure we are removed from any loaded multi-associations that aren't mandatory
if (_JobApplication.isLoaded () || getTransaction ().isObjectLoaded (_JobApplication.getReferencedType (), getJobApplicationID ())) if (_JobApplication.isLoaded () || getTransaction ().isObjectLoaded (_JobApplication.getReferencedType (), getJobApplicationID ()))
{ {
JobApplication referenced = getJobApplication (); JobApplication referenced = getJobApplication ();
...@@ -1283,6 +1313,8 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass ...@@ -1283,6 +1313,8 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
public abstract boolean filterCriteriaType(CriteriaType CriteriaType) throws StorageException; public abstract boolean filterCriteriaType(CriteriaType CriteriaType) throws StorageException;
public abstract boolean filterByCriteriaType(CriteriaType CriteriaType) throws StorageException;
public static SearchCriteriaType SearchByCriteriaType () { return new SearchCriteriaType (); } public static SearchCriteriaType SearchByCriteriaType () { return new SearchCriteriaType (); }
public static class SearchCriteriaType extends SearchObject<AssessmentCriteriaAnswer> public static class SearchCriteriaType extends SearchObject<AssessmentCriteriaAnswer>
...@@ -1377,6 +1409,13 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass ...@@ -1377,6 +1409,13 @@ public abstract class BaseAssessmentCriteriaAnswer extends BaseBusinessClass
return ObjstoreUtils.removeDeleted(transaction, typedResults).toArray (new AssessmentCriteriaAnswer[0]); return ObjstoreUtils.removeDeleted(transaction, typedResults).toArray (new AssessmentCriteriaAnswer[0]);
} }
@Override
public boolean accept(AssessmentCriteriaAnswer objToAccept)
{
return super.accept(objToAccept) && objToAccept.filterByCriteriaType((CriteriaType)criteria.get ("CriteriaType"));
}
} }
......
...@@ -39,6 +39,7 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass ...@@ -39,6 +39,7 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass
// Static constants corresponding to field names // Static constants corresponding to field names
public static final String SINGLEREFERENCE_CultureCriteria = "CultureCriteria"; public static final String SINGLEREFERENCE_CultureCriteria = "CultureCriteria";
public static final String BACKREF_CultureCriteria = "";
public static final String SINGLEREFERENCE_SelectedQuestion = "SelectedQuestion"; public static final String SINGLEREFERENCE_SelectedQuestion = "SelectedQuestion";
public static final String SINGLEREFERENCE_JobApplication = "JobApplication"; public static final String SINGLEREFERENCE_JobApplication = "JobApplication";
public static final String BACKREF_JobApplication = ""; public static final String BACKREF_JobApplication = "";
...@@ -76,6 +77,7 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass ...@@ -76,6 +77,7 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass
try try
{ {
String tmp_CultureCriteria = CultureCriteria.BACKREF_Answers;
String tmp_JobApplication = JobApplication.BACKREF_CultureCriteriaAnswers; String tmp_JobApplication = JobApplication.BACKREF_CultureCriteriaAnswers;
Map validatorMapping = ((Map)ConfigMgr.getConfigObject ("CONFIG.ORMVALIDATOR", "ValidatorMapping")); Map validatorMapping = ((Map)ConfigMgr.getConfigObject ("CONFIG.ORMVALIDATOR", "ValidatorMapping"));
...@@ -102,6 +104,7 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass ...@@ -102,6 +104,7 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass
{ {
Map metaInfo = new HashMap (); Map metaInfo = new HashMap ();
metaInfo.put ("backreferenceName", "Answers");
metaInfo.put ("dbcol", "culture_criteria_id"); metaInfo.put ("dbcol", "culture_criteria_id");
metaInfo.put ("mandatory", "true"); metaInfo.put ("mandatory", "true");
metaInfo.put ("name", "CultureCriteria"); metaInfo.put ("name", "CultureCriteria");
...@@ -178,7 +181,7 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass ...@@ -178,7 +181,7 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass
{ {
super._initialiseAssociations (); super._initialiseAssociations ();
_CultureCriteria = new SingleAssociation<CultureCriteriaAnswer, CultureCriteria> (this, SINGLEREFERENCE_CultureCriteria, null, CultureCriteria.REFERENCE_CultureCriteria, "tl_culture_criteria_answer"); _CultureCriteria = new SingleAssociation<CultureCriteriaAnswer, CultureCriteria> (this, SINGLEREFERENCE_CultureCriteria, CultureCriteria.MULTIPLEREFERENCE_Answers, CultureCriteria.REFERENCE_CultureCriteria, "tl_culture_criteria_answer");
_SelectedQuestion = new SingleAssociation<CultureCriteriaAnswer, CultureElementQuestion> (this, SINGLEREFERENCE_SelectedQuestion, null, CultureElementQuestion.REFERENCE_CultureElementQuestion, "tl_culture_criteria_answer"); _SelectedQuestion = new SingleAssociation<CultureCriteriaAnswer, CultureElementQuestion> (this, SINGLEREFERENCE_SelectedQuestion, null, CultureElementQuestion.REFERENCE_CultureElementQuestion, "tl_culture_criteria_answer");
_JobApplication = new SingleAssociation<CultureCriteriaAnswer, JobApplication> (this, SINGLEREFERENCE_JobApplication, JobApplication.MULTIPLEREFERENCE_CultureCriteriaAnswers, JobApplication.REFERENCE_JobApplication, "tl_culture_criteria_answer"); _JobApplication = new SingleAssociation<CultureCriteriaAnswer, JobApplication> (this, SINGLEREFERENCE_JobApplication, JobApplication.MULTIPLEREFERENCE_CultureCriteriaAnswers, JobApplication.REFERENCE_JobApplication, "tl_culture_criteria_answer");
...@@ -190,7 +193,7 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass ...@@ -190,7 +193,7 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass
{ {
super.initialiseReference (); super.initialiseReference ();
_CultureCriteria = new SingleAssociation<CultureCriteriaAnswer, CultureCriteria> (this, SINGLEREFERENCE_CultureCriteria, null, CultureCriteria.REFERENCE_CultureCriteria, "tl_culture_criteria_answer"); _CultureCriteria = new SingleAssociation<CultureCriteriaAnswer, CultureCriteria> (this, SINGLEREFERENCE_CultureCriteria, CultureCriteria.MULTIPLEREFERENCE_Answers, CultureCriteria.REFERENCE_CultureCriteria, "tl_culture_criteria_answer");
_SelectedQuestion = new SingleAssociation<CultureCriteriaAnswer, CultureElementQuestion> (this, SINGLEREFERENCE_SelectedQuestion, null, CultureElementQuestion.REFERENCE_CultureElementQuestion, "tl_culture_criteria_answer"); _SelectedQuestion = new SingleAssociation<CultureCriteriaAnswer, CultureElementQuestion> (this, SINGLEREFERENCE_SelectedQuestion, null, CultureElementQuestion.REFERENCE_CultureElementQuestion, "tl_culture_criteria_answer");
_JobApplication = new SingleAssociation<CultureCriteriaAnswer, JobApplication> (this, SINGLEREFERENCE_JobApplication, JobApplication.MULTIPLEREFERENCE_CultureCriteriaAnswers, JobApplication.REFERENCE_JobApplication, "tl_culture_criteria_answer"); _JobApplication = new SingleAssociation<CultureCriteriaAnswer, JobApplication> (this, SINGLEREFERENCE_JobApplication, JobApplication.MULTIPLEREFERENCE_CultureCriteriaAnswers, JobApplication.REFERENCE_JobApplication, "tl_culture_criteria_answer");
...@@ -252,7 +255,7 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass ...@@ -252,7 +255,7 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass
} }
else if (assocName.equals (SINGLEREFERENCE_CultureCriteria)) else if (assocName.equals (SINGLEREFERENCE_CultureCriteria))
{ {
return null ; return CultureCriteria.MULTIPLEREFERENCE_Answers ;
}else if (assocName.equals (SINGLEREFERENCE_SelectedQuestion)) }else if (assocName.equals (SINGLEREFERENCE_SelectedQuestion))
{ {
return null ; return null ;
...@@ -448,9 +451,22 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass ...@@ -448,9 +451,22 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass
assertValid(); assertValid();
Debug.assertion (getWriteability_CultureCriteria () != FieldWriteability.FALSE, "Assoc CultureCriteria is not writeable"); Debug.assertion (getWriteability_CultureCriteria () != FieldWriteability.FALSE, "Assoc CultureCriteria is not writeable");
preCultureCriteriaChange (newCultureCriteria); preCultureCriteriaChange (newCultureCriteria);
CultureCriteria oldCultureCriteria = getCultureCriteria ();
if (oldCultureCriteria != null)
{
// This is to stop validation from triggering when we are removed
_CultureCriteria.set (null);
oldCultureCriteria.removeFromAnswers ((CultureCriteriaAnswer)(this));
}
_CultureCriteria.set (newCultureCriteria); _CultureCriteria.set (newCultureCriteria);
if (newCultureCriteria != null)
{
newCultureCriteria.addToAnswers ((CultureCriteriaAnswer)(this));
}
postCultureCriteriaChange (); postCultureCriteriaChange ();
} }
} }
...@@ -757,6 +773,20 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass ...@@ -757,6 +773,20 @@ public abstract class BaseCultureCriteriaAnswer extends BaseBusinessClass
try try
{ {
// Ensure we are removed from any loaded multi-associations that aren't mandatory // Ensure we are removed from any loaded multi-associations that aren't mandatory
if (_CultureCriteria.isLoaded () || getTransaction ().isObjectLoaded (_CultureCriteria.getReferencedType (), getCultureCriteriaID ()))
{
CultureCriteria referenced = getCultureCriteria ();
if (referenced != null)
{
// Stop the callback
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Setting backreference to null Answers from ", getObjectID (), " to ", referenced.getObjectID ());
_CultureCriteria.set (null);
referenced.removeFromAnswers ((CultureCriteriaAnswer)this);
}
}
// Ensure we are removed from any loaded multi-associations that aren't mandatory
if (_JobApplication.isLoaded () || getTransaction ().isObjectLoaded (_JobApplication.getReferencedType (), getJobApplicationID ())) if (_JobApplication.isLoaded () || getTransaction ().isObjectLoaded (_JobApplication.getReferencedType (), getJobApplicationID ()))
{ {
JobApplication referenced = getJobApplication (); JobApplication referenced = getJobApplication ();
......
...@@ -14,13 +14,13 @@ public class Candidate extends BaseCandidate ...@@ -14,13 +14,13 @@ public class Candidate extends BaseCandidate
public String getFirstName() public String getFirstName()
{ {
return getUser().getFirstName(); return getUser() != null ? getUser().getFirstName() : null;
} }
@Override @Override
public String getToString() public String getToString()
{ {
return this.getUser().getName(); return getUser() != null ? getUser().getName() : null;
} }
} }
\ No newline at end of file
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
<BUSINESSCLASS name="CultureCriteria" package="performa.orm"> <BUSINESSCLASS name="CultureCriteria" package="performa.orm">
<IMPORT value="performa.orm.types.*"/> <IMPORT value="performa.orm.types.*"/>
<MULTIPLEREFERENCE name="Answers" type="CultureCriteriaAnswer" backreferenceName="CultureCriteria"/>
<TABLE name="tl_culture_criteria" tablePrefix="object" polymorphic="FALSE"> <TABLE name="tl_culture_criteria" tablePrefix="object" polymorphic="FALSE">
<ATTRIB name="Importance" type="Importance" dbcol="importance" attribHelper="EnumeratedAttributeHelper" mandatory="true" /> <ATTRIB name="Importance" type="Importance" dbcol="importance" attribHelper="EnumeratedAttributeHelper" mandatory="true" />
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<TABLE name="tl_culture_criteria_answer" tablePrefix="object" polymorphic="FALSE"> <TABLE name="tl_culture_criteria_answer" tablePrefix="object" polymorphic="FALSE">
<SINGLEREFERENCE name="CultureCriteria" type="CultureCriteria" dbcol="culture_criteria_id" mandatory="true" /> <SINGLEREFERENCE name="CultureCriteria" type="CultureCriteria" dbcol="culture_criteria_id" mandatory="true" backreferenceName="Answers"/>
<SINGLEREFERENCE name="SelectedQuestion" type="CultureElementQuestion" dbcol="selected_question_id" mandatory="true" /> <SINGLEREFERENCE name="SelectedQuestion" type="CultureElementQuestion" dbcol="selected_question_id" mandatory="true" />
<SINGLEREFERENCE name="JobApplication" type="JobApplication" dbcol="job_application_id" mandatory="true" backreferenceName="CultureCriteriaAnswers"/> <SINGLEREFERENCE name="JobApplication" type="JobApplication" dbcol="job_application_id" mandatory="true" backreferenceName="CultureCriteriaAnswers"/>
......
...@@ -137,6 +137,16 @@ public class CultureCriteriaAnswerPersistenceMgr extends ObjectPersistenceMgr ...@@ -137,6 +137,16 @@ public class CultureCriteriaAnswerPersistenceMgr extends ObjectPersistenceMgr
{ {
throw new RuntimeException (); throw new RuntimeException ();
} }
else if (refName.equals (CultureCriteriaAnswer.SINGLEREFERENCE_CultureCriteria))
{
String query = "SELECT " + SELECT_COLUMNS +
"FROM {PREFIX}tl_culture_criteria_answer " +
"WHERE " + SELECT_JOINS + "culture_criteria_id = ?";
BaseBusinessClass[] results = loadQuery (allPSets, sqlMgr, context, query, new Object[] { _objectID.longID () }, null, false);
return results;
}
else if (refName.equals (CultureCriteriaAnswer.SINGLEREFERENCE_JobApplication)) else if (refName.equals (CultureCriteriaAnswer.SINGLEREFERENCE_JobApplication))
{ {
String query = "SELECT " + SELECT_COLUMNS + String query = "SELECT " + SELECT_COLUMNS +
......
...@@ -106,7 +106,7 @@ public class Job extends BaseJob ...@@ -106,7 +106,7 @@ public class Job extends BaseJob
//to get All Profile Assessment Questions //to get All Profile Assessment Questions
public Collection<Question> getAllProfileAssessmentQuestions() public Collection<Question> getAllProfileAssessmentQuestions()
{ {
return this.pipelineJob().toLevel().toFactors().toFactor().toQuestions().toQuestion().vals(); return pipelineJob().toLevel().toFactors().toFactor().toQuestions().toQuestion().vals();
} }
...@@ -115,8 +115,8 @@ public class Job extends BaseJob ...@@ -115,8 +115,8 @@ public class Job extends BaseJob
{ {
Filter filter = Question.SearchByAll().andIsRightQuestion(new EqualsFilter<>(Boolean.FALSE)); Filter filter = Question.SearchByAll().andIsRightQuestion(new EqualsFilter<>(Boolean.FALSE));
return ObjstoreUtils.sort(CollectionFilter.filter(this.getAllProfileAssessmentQuestions(), filter), return ObjstoreUtils.sort(CollectionFilter.filter(getAllProfileAssessmentQuestions(), filter),
new ObjectTransform[] {Question.pipesQuestion().toSection().toDescription()}, new ObjectTransform[] {Question.pipesQuestion().toSection().toObjectID(), Question.pipesQuestion().toObjectID()},
new Comparator[]{CollectionUtils.DEFAULT_COMPARATOR}); new Comparator[]{CollectionUtils.DEFAULT_COMPARATOR, CollectionUtils.DEFAULT_COMPARATOR});
} }
} }
\ No newline at end of file
package performa.orm; package performa.orm;
import java.util.Collection; import java.util.Collection;
import java.util.List;
import oneit.logging.LoggingArea; import oneit.logging.LoggingArea;
import oneit.objstore.StorageException;
import oneit.objstore.rdbms.filters.EqualsFilter; import oneit.objstore.rdbms.filters.EqualsFilter;
import oneit.utils.filter.CollectionFilter; import oneit.utils.filter.CollectionFilter;
import oneit.utils.filter.Filter; import oneit.utils.filter.Filter;
...@@ -21,27 +21,38 @@ public class JobApplication extends BaseJobApplication ...@@ -21,27 +21,38 @@ public class JobApplication extends BaseJobApplication
// Do not add any code to this, always put it in initialiseNewObject // Do not add any code to this, always put it in initialiseNewObject
} }
public static JobApplication createNewApplication(Candidate candidate, Job job) throws StorageException, FieldException
{
JobApplication jobApplication = createJobApplication(job.getTransaction());
jobApplication.setCandidate(candidate);
jobApplication.setJob(job);
jobApplication.initACAnswers();
jobApplication.initCCAnswers();
return jobApplication;
}
public void initACAnswers() throws FieldException private void initACAnswers()
{ {
for(AssessmentCriteria ac: getJob().getAssessmentCriteriasSet()) for(AssessmentCriteria assessmentCriteria : getJob().getAssessmentCriteriasSet())
{ {
AssessmentCriteriaAnswer answer = AssessmentCriteriaAnswer.createAssessmentCriteriaAnswer(getTransaction()); AssessmentCriteriaAnswer answer = AssessmentCriteriaAnswer.createAssessmentCriteriaAnswer(getTransaction());
answer.setJobApplication(this); addToAssessmentCriteriaAnswers(answer);
answer.setAssessmentCriteria(ac); assessmentCriteria.addToAnswers(answer);
} }
} }
private void initCCAnswers()
public void initCCAnswers() throws FieldException
{ {
for(CultureCriteria cc: getJob().getCultureCriteriasSet()) for(CultureCriteria cultureCriteria : getJob().getCultureCriteriasSet())
{ {
CultureCriteriaAnswer answer = CultureCriteriaAnswer.createCultureCriteriaAnswer(getTransaction()); CultureCriteriaAnswer answer = CultureCriteriaAnswer.createCultureCriteriaAnswer(getTransaction());
answer.setJobApplication(this); addToCultureCriteriaAnswers(answer);
answer.setCultureCriteria(cc); cultureCriteria.addToAnswers(answer);
} }
} }
...@@ -70,12 +81,9 @@ public class JobApplication extends BaseJobApplication ...@@ -70,12 +81,9 @@ public class JobApplication extends BaseJobApplication
return answer; return answer;
} }
public Collection<AssessmentCriteriaAnswer> getACAnswersByType(CriteriaType criteriaType)
public Collection<AssessmentCriteriaAnswer> getACAnswersByType(CriteriaType criteria)
{ {
Filter filter = AssessmentCriteriaAnswer.SearchByCriteriaType() Filter filter = AssessmentCriteriaAnswer.SearchByCriteriaType().byCriteriaType(criteriaType);
.andJobApplication(new EqualsFilter<>(this))
.byCriteriaType(criteria);
return CollectionFilter.filter(getAssessmentCriteriaAnswersSet(), filter); return CollectionFilter.filter(getAssessmentCriteriaAnswersSet(), filter);
} }
......
...@@ -20,7 +20,7 @@ public class Importance extends AbstractEnumerated ...@@ -20,7 +20,7 @@ public class Importance extends AbstractEnumerated
public static final EnumeratedFactory FACTORY_Importance = new ImportanceFactory(); public static final EnumeratedFactory FACTORY_Importance = new ImportanceFactory();
public static final Importance ESSENTIAL = new Importance ("ESSENTIAL", "OPEN", "Essential", false); public static final Importance ESSENTIAL = new Importance ("ESSENTIAL", "ESSENTIAL", "Essential", false);
public static final Importance HIGHLY_DESIRABLE = new Importance ("HIGHLY_DESIRABLE", "HIGHLY_DESIRABLE", "Highly Desirable", false); public static final Importance HIGHLY_DESIRABLE = new Importance ("HIGHLY_DESIRABLE", "HIGHLY_DESIRABLE", "Highly Desirable", false);
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
<ROOT> <ROOT>
<CONSTANT package="performa.orm.types" name="Importance"> <CONSTANT package="performa.orm.types" name="Importance">
<VALUE name="ESSENTIAL" value="OPEN" description="Essential"/> <VALUE name="ESSENTIAL" description="Essential"/>
<VALUE name="HIGHLY_DESIRABLE" value="HIGHLY_DESIRABLE" description="Highly Desirable"/> <VALUE name="HIGHLY_DESIRABLE" description="Highly Desirable"/>
<VALUE name="DESIRABLE" value="DESIRABLE" description="Desirable"/> <VALUE name="DESIRABLE" description="Desirable"/>
</CONSTANT> </CONSTANT>
</ROOT> </ROOT>
\ No newline at end of file
...@@ -660,7 +660,7 @@ span.checkbox.checked + .slider:before {-webkit-transform: translateX(18px);-ms- ...@@ -660,7 +660,7 @@ span.checkbox.checked + .slider:before {-webkit-transform: translateX(18px);-ms-
margin-bottom: 28px; margin-bottom: 28px;
font-weight: 800; font-weight: 800;
} }
.btn.btn-primary{ .btn.btn-primary.largeBtn{
border-radius: 100px; border-radius: 100px;
background-color: #03a0e7; background-color: #03a0e7;
font-size: 15px; font-size: 15px;
...@@ -671,7 +671,7 @@ span.checkbox.checked + .slider:before {-webkit-transform: translateX(18px);-ms- ...@@ -671,7 +671,7 @@ span.checkbox.checked + .slider:before {-webkit-transform: translateX(18px);-ms-
margin-top: 10px; margin-top: 10px;
font-weight: 500; font-weight: 500;
} }
.btn.btn-primary:hover{ .btn.btn-primary.largeBtn:hover{
background-color: #0e87be; background-color: #0e87be;
} }
.btn.active, .btn:active{ .btn.active, .btn:active{
...@@ -3802,7 +3802,7 @@ img.alert-icon {float: left;} ...@@ -3802,7 +3802,7 @@ img.alert-icon {float: left;}
.applicant-tab ul li a{margin-left: 0;} .applicant-tab ul li a{margin-left: 0;}
.applicant-progress{margin: 29px 0 0;} .applicant-progress{margin: 29px 0 0;}
.fixed-width {margin-bottom: 30px;} .fixed-width {margin-bottom: 30px;}
.btn.btn-primary{height: 46px;font-size: 13px;width: 50%;} .btn.btn-primary.largeBtn{height: 46px;font-size: 13px;width: 50%;}
.welcome-title{font-size: 12px;text-align: center;} .welcome-title{font-size: 12px;text-align: center;}
.welcome-aust-logo {text-align: center;margin-bottom: 33px;} .welcome-aust-logo {text-align: center;margin-bottom: 33px;}
.appli-aust-title{margin: 11px 0 21px;font-size: 15px;text-align: center;} .appli-aust-title{margin: 11px 0 21px;font-size: 15px;text-align: center;}
......
...@@ -6,6 +6,9 @@ ...@@ -6,6 +6,9 @@
<oneit:dynIncluded> <oneit:dynIncluded>
<% <%
Job job = (Job) process.getAttribute("Job"); Job job = (Job) process.getAttribute("Job");
Debug.assertion(job != null, "Job is null in admin portal create job");
String secondPage = WebUtils.getSamePageInRenderMode(request, WebUtils.ASSESSMENT_CRITERIA); String secondPage = WebUtils.getSamePageInRenderMode(request, WebUtils.ASSESSMENT_CRITERIA);
String thirdPage = WebUtils.getSamePageInRenderMode(request, WebUtils.WORKPLACE_CULTURE); String thirdPage = WebUtils.getSamePageInRenderMode(request, WebUtils.WORKPLACE_CULTURE);
%> %>
...@@ -49,6 +52,9 @@ ...@@ -49,6 +52,9 @@
} }
}); });
$("#assessmentCriteriaSection").on("ormtable_row_post_delete", function (){
recalcFunction();
});
}); });
function addCriteria(criteria) function addCriteria(criteria)
...@@ -60,20 +66,20 @@ ...@@ -60,20 +66,20 @@
}); });
} }
function deleteCriteria(deleteVarKey, criteria) function deleteCriteria(deleteVarKey)
{ {
var divID = "#" + criteria; ajaxProcessDeleteJQ("<%= request.getContextPath() %>/genericDelete_AJAX.jsp", "#assessmentCriteriaSection" , { varKey: deleteVarKey });
ajaxProcessDeleteJQ("<%= request.getContextPath() %>/genericDelete_AJAX.jsp", divID , { varKey: deleteVarKey });
return false; return false;
} }
</script> </script>
<oneit:form name="editJob" method="post" enctype="multipart/form-data" action="<%= thirdPage %>"> <oneit:form name="editJob" method="post" enctype="multipart/form-data">
<div class="container-fluid"> <div class="container-fluid">
<h1 class="page-title">Create a job <span class="active-time">(Active for 30 days)</span> </h1> <oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<h1 class="page-title">Create a job <span class="active-time">(Active for 30 days)</span></h1>
<oneit:dynInclude page="/extensions/adminportal/inc/job_main_tabs.jsp" PageNumber="2" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/adminportal/inc/job_main_tabs.jsp" PageNumber="2" data="<%= CollectionUtils.EMPTY_MAP%>"/>
...@@ -103,7 +109,6 @@ ...@@ -103,7 +109,6 @@
<% <%
for(CriteriaType criteria : CriteriaType.getCriteriaTypeArray()) for(CriteriaType criteria : CriteriaType.getCriteriaTypeArray())
{ {
Collection<AssessmentCriteria> assessmentCriterias = job.getAssessmentCriteraByType(criteria);
String name = criteria.getName(); String name = criteria.getName();
%> %>
<div class="form-group"> <div class="form-group">
...@@ -124,21 +129,21 @@ ...@@ -124,21 +129,21 @@
</span> </span>
</div> </div>
<div id="assessmentCriteriaSection">
<% <%
for (AssessmentCriteria assessmentCriteria : assessmentCriterias) for (AssessmentCriteria assessmentCriteria : job.getAssessmentCriteraByType(criteria))
{ {
%> %>
<oneit:dynInclude page="/extensions/adminportal/inc/job_assessment_criteria_add.jsp" AssessmentCriteria="<%= assessmentCriteria %>" <oneit:dynInclude page="/extensions/adminportal/inc/job_assessment_criteria_add.jsp" AssessmentCriteria="<%= assessmentCriteria %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/> data="<%= CollectionUtils.EMPTY_MAP%>"/>
<% <%
} }
%> %>
<div class="main-add-more"> <div class="main-add-more">
<oneit:button value="<%= "Add " + name%>" name="newAssessmentCriteria" cssClass="add-more-btn" skin="link" <oneit:button value="<%= "Add " + name%>" name="newAssessmentCriteria" cssClass="add-more-btn" skin="link"
onClick="<%="addCriteria('" + name + "'); return false;"%>" onClick="<%="addCriteria('" + name + "'); return false;"%>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", secondPage) requestAttribs="<%= CollectionUtils.mapEntry("nextPage", secondPage).toMap() %>"/>
.toMap() %>"/> </div>
</div> </div>
</div> </div>
<div class="form-brack-line-sub"></div> <div class="form-brack-line-sub"></div>
...@@ -162,15 +167,16 @@ ...@@ -162,15 +167,16 @@
<input type="text" placeholder="Template Name" class="form-control" id="email"> <input type="text" placeholder="Template Name" class="form-control" id="email">
</div> </div>
<span class="input-group-btn"> <span class="input-group-btn">
<oneit:button value="SAVE" name="gotoPage" cssClass="btn btn-primary" <a href="#" class="btn btn-primary">SAVE</a> <!-- todo -->
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", thirdPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap()).toMap() %>"/>
</span> </span>
</div> </div>
</div> </div>
</div> </div>
<div class="text-center"> <div class="text-center">
<input type="button" class="btn btn-primary top-margin-25" value="Proceed to Workplace Culture" /> <oneit:button value="Proceed to Workplace Culture" name="gotoPage" cssClass="btn btn-primary top-margin-25 largeBtn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", thirdPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap())
.toMap() %>" />
</div> </div>
</div> </div>
</div> </div>
......
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
<div class="main-qualification" id="<%= criteria.getID() %>"> <div class="main-qualification" id="<%= criteria.getID() %>">
<span class="delete-qualification" onclick="return deleteCriteria (<%= deleteVarKey %>, '<%= criteria.getCriteriaType().getName() %>')"><span></span></span> <span class="delete-qualification" onclick="return deleteCriteria (<%= deleteVarKey %>)"><span></span></span>
<oneit:ormInput obj="<%= criteria %>" type="text" attributeName="Name" cssClass="form-control" /> <oneit:ormInput obj="<%= criteria %>" type="text" attributeName="Name" cssClass="form-control" />
<% <%
......
...@@ -7,34 +7,22 @@ ...@@ -7,34 +7,22 @@
<oneit:dynIncluded> <oneit:dynIncluded>
<% <%
boolean toRedirect = GenericObjDF.getOrCreateObject (request, "Job", Job.REFERENCE_Job);
Job job = (Job) process.getAttribute("Job"); Job job = (Job) process.getAttribute("Job");
if(job == null) Debug.assertion(job != null, "Job is null in admin portal create job");
{
job = Job.createJob(transaction);
process.setAttribute("Job", job);
if(toRedirect)
{
%><%@include file="/saferedirect.jsp" %><% %><%@include file="/saferedirect.jsp" %><%
} }
Level[] levels = Level.SearchByAll().search(transaction);
String nextPage = WebUtils.getSamePageInRenderMode(request, WebUtils.ASSESSMENT_CRITERIA); String nextPage = WebUtils.getSamePageInRenderMode(request, WebUtils.ASSESSMENT_CRITERIA);
%> %>
<oneit:form name="editJob" method="post" enctype="multipart/form-data"> <oneit:form name="editJob" method="post" enctype="multipart/form-data">
<div class="container-fluid"> <div class="container-fluid">
<%
oneit.servlets.jsp.FormInformation fi = oneit.servlets.jsp.FormJSP.getFormInformation (request);
if (fi != null && fi.hasErrors ()) <oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
{
%>
<div class="alert alert-danger">
<oneit:multifieldtext prefixTextName="pageHeader_errorPrefix" suffixTextName="pageHeader_errorSuffix" fieldTextName="pageHeader_errorText" deriveAllFields="true"/>
</div>
<%
}
%>
<h1 class="page-title">Create a job <span class="active-time">(Active for 30 days)</span> </h1> <h1 class="page-title">Create a job <span class="active-time">(Active for 30 days)</span> </h1>
<oneit:dynInclude page="/extensions/adminportal/inc/job_main_tabs.jsp" PageNumber="1" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/adminportal/inc/job_main_tabs.jsp" PageNumber="1" data="<%= CollectionUtils.EMPTY_MAP%>"/>
...@@ -77,7 +65,7 @@ ...@@ -77,7 +65,7 @@
</div> </div>
</div> </div>
<div class="text-center"> <div class="text-center">
<oneit:button value="Proceed to Assessment Criteria" name="gotoPage" cssClass="btn btn-primary" <oneit:button value="Proceed to Assessment Criteria" name="gotoPage" cssClass="btn btn-primary largeBtn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage) requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap()) .mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap())
.toMap() %>"/> .toMap() %>"/>
......
...@@ -7,11 +7,15 @@ ...@@ -7,11 +7,15 @@
<% <%
Job job = (Job) process.getAttribute("Job"); Job job = (Job) process.getAttribute("Job");
String fifthPage = WebUtils.getSamePageInRenderMode(request, WebUtils.JOB_REVIEW); String fifthPage = WebUtils.getSamePageInRenderMode(request, WebUtils.JOB_REVIEW);
Debug.assertion(job != null, "Job is null in admin portal create job");
%> %>
<oneit:form name="editJob" method="post" enctype="multipart/form-data" action="<%= fifthPage %>"> <oneit:form name="editJob" method="post" enctype="multipart/form-data" action="<%= fifthPage %>">
<div class="container-fluid"> <div class="container-fluid">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<h1 class="page-title">Create a job <span class="active-time">(Active for 30 days)</span> </h1> <h1 class="page-title">Create a job <span class="active-time">(Active for 30 days)</span> </h1>
<oneit:dynInclude page="/extensions/adminportal/inc/job_main_tabs.jsp" PageNumber="4" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/adminportal/inc/job_main_tabs.jsp" PageNumber="4" data="<%= CollectionUtils.EMPTY_MAP%>"/>
...@@ -73,7 +77,7 @@ ...@@ -73,7 +77,7 @@
</label> </label>
</div> </div>
<div class="text-center"> <div class="text-center">
<oneit:button value="Review Details" name="gotoPage" cssClass="btn btn-primary top-margin-37" <oneit:button value="Review Details" name="gotoPage" cssClass="btn btn-primary top-margin-37 largeBtn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", fifthPage) requestAttribs="<%= CollectionUtils.mapEntry("nextPage", fifthPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap()) .mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap())
.toMap() %>"/> .toMap() %>"/>
......
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
<div class="container-fluid"> <div class="container-fluid">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<h1 class="page-title review-title">Review Job</h1> <h1 class="page-title review-title">Review Job</h1>
<div class="page-subtitle-"> <div class="page-subtitle-">
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
String fourthPage = WebUtils.getSamePageInRenderMode(request, WebUtils.JOB_MATCH); String fourthPage = WebUtils.getSamePageInRenderMode(request, WebUtils.JOB_MATCH);
String secondPage = WebUtils.getSamePageInRenderMode(request, WebUtils.ASSESSMENT_CRITERIA); String secondPage = WebUtils.getSamePageInRenderMode(request, WebUtils.ASSESSMENT_CRITERIA);
Debug.assertion(job != null, "Job is null in admin portal create job");
%> %>
<script type="text/javascript"> <script type="text/javascript">
...@@ -47,6 +48,8 @@ ...@@ -47,6 +48,8 @@
<div class="container-fluid"> <div class="container-fluid">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<h1 class="page-title">Create a job <span class="active-time">(Active for 30 days)</span> </h1> <h1 class="page-title">Create a job <span class="active-time">(Active for 30 days)</span> </h1>
<oneit:dynInclude page="/extensions/adminportal/inc/job_main_tabs.jsp" PageNumber="3" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/adminportal/inc/job_main_tabs.jsp" PageNumber="3" data="<%= CollectionUtils.EMPTY_MAP%>"/>
...@@ -167,12 +170,15 @@ ...@@ -167,12 +170,15 @@
<input type="text" placeholder="Template Name" class="form-control" id="email"> <input type="text" placeholder="Template Name" class="form-control" id="email">
</div> </div>
<span class="input-group-btn"> <span class="input-group-btn">
<button class="btn btn-primary" type="button">SAVE</button> <a href="#" class="btn btn-primary">SAVE</a> <!-- todo -->
</span> </span>
</div> </div>
</div> </div>
<div class="text-center"> <div class="text-center">
<input type="button" class="btn btn-primary top-margin-25" value="Proceed to Job Match" /> <oneit:button value="Proceed to Job Match" name="gotoPage" cssClass="btn btn-primary top-margin-25 largeBtn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", fourthPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap())
.toMap() %>" />
</div> </div>
</div> </div>
</div> </div>
......
...@@ -13,11 +13,7 @@ ...@@ -13,11 +13,7 @@
if(jobApplication==null) if(jobApplication==null)
{ {
jobApplication = JobApplication.createJobApplication(objTran); jobApplication = JobApplication.createNewApplication(candidate, job);
jobApplication.setCandidate(candidate);
jobApplication.setJob(job);
jobApplication.initACAnswers();
jobApplication.initCCAnswers();
} }
process.setAttribute("JobApplication", jobApplication); process.setAttribute("JobApplication", jobApplication);
......
...@@ -13,7 +13,8 @@ ...@@ -13,7 +13,8 @@
<div class="alert alert-danger"> <div class="alert alert-danger">
<oneit:multifieldtext prefixTextName="pageHeader_errorPrefix" <oneit:multifieldtext prefixTextName="pageHeader_errorPrefix"
suffixTextName="pageHeader_errorSuffix" suffixTextName="pageHeader_errorSuffix"
fieldTextName="pageHeader_errorText" deriveAllFields="true"/> fieldTextName="pageHeader_errorText"
deriveAllFields="true"/>
</div> </div>
<% <%
} }
......
...@@ -43,6 +43,8 @@ ...@@ -43,6 +43,8 @@
<oneit:form name="editApplication" method="post" enctype="multipart/form-data"> <oneit:form name="editApplication" method="post" enctype="multipart/form-data">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<oneit:dynInclude page="/extensions/applicantportal/inc/application_main_tabs.jsp" PageNumber="3" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/applicantportal/inc/application_main_tabs.jsp" PageNumber="3" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="section-page-area section-job-match"> <div class="section-page-area section-job-match">
......
...@@ -33,6 +33,8 @@ ...@@ -33,6 +33,8 @@
<oneit:form name="editApplication" method="post" enctype="multipart/form-data"> <oneit:form name="editApplication" method="post" enctype="multipart/form-data">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<oneit:dynInclude page="/extensions/applicantportal/inc/application_main_tabs.jsp" PageNumber="1" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/applicantportal/inc/application_main_tabs.jsp" PageNumber="1" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="section-page-area"> <div class="section-page-area">
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<oneit:form name="applyJob" method="post" enctype="multipart/form-data"> <oneit:form name="applyJob" method="post" enctype="multipart/form-data">
<oneit:dynInclude page="/extensions/applicantportal/inc/notifications.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="main-verify-identity"> <div class="main-verify-identity">
<div class="verify-aust-logo"><img src="images/australia-post.png"></div> <div class="verify-aust-logo"><img src="images/australia-post.png"></div>
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<oneit:form name="signIn" method="post" enctype="multipart/form-data"> <oneit:form name="signIn" method="post" enctype="multipart/form-data">
<oneit:dynInclude page="/extensions/applicantportal/inc/notifications.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="main-verify-identity"> <div class="main-verify-identity">
<div class="verify-aust-logo"><img src="images/australia-post.png"></div> <div class="verify-aust-logo"><img src="images/australia-post.png"></div>
......
...@@ -33,6 +33,8 @@ ...@@ -33,6 +33,8 @@
<oneit:form name="editApplication" method="post" enctype="multipart/form-data"> <oneit:form name="editApplication" method="post" enctype="multipart/form-data">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<oneit:dynInclude page="/extensions/applicantportal/inc/application_main_tabs.jsp" PageNumber="2" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/applicantportal/inc/application_main_tabs.jsp" PageNumber="2" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="section-page-area"> <div class="section-page-area">
......
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