Commit a323c912 by Harsh Shah

Finish Hotfix-20190502

parents 2e692848 84051538
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
<column name="open_date" type="Date" nullable="true"/> <column name="open_date" type="Date" nullable="true"/>
<column name="apply_by" type="Date" nullable="true"/> <column name="apply_by" type="Date" nullable="true"/>
<column name="include_assessment_criteria" type="Boolean" nullable="false"/> <column name="include_assessment_criteria" type="Boolean" nullable="false"/>
<column name="include_culture" type="Boolean" nullable="false"/>
<column name="assessment_type" type="String" nullable="false" length="200"/> <column name="assessment_type" type="String" nullable="false" length="200"/>
<column name="random_key" type="String" nullable="true" length="10"/> <column name="random_key" type="String" nullable="true" length="10"/>
<column name="job_type" type="String" nullable="false" length="200"/> <column name="job_type" type="String" nullable="false" length="200"/>
......
...@@ -14,6 +14,7 @@ CREATE TABLE tl_job ( ...@@ -14,6 +14,7 @@ CREATE TABLE tl_job (
open_date datetime NULL, open_date datetime NULL,
apply_by datetime NULL, apply_by datetime NULL,
include_assessment_criteria char(1) NOT NULL, include_assessment_criteria char(1) NOT NULL,
include_culture char(1) NOT NULL,
assessment_type varchar(200) NOT NULL, assessment_type varchar(200) NOT NULL,
random_key varchar(10) NULL, random_key varchar(10) NULL,
job_type varchar(200) NOT NULL, job_type varchar(200) NOT NULL,
......
...@@ -15,6 +15,7 @@ CREATE TABLE tl_job ( ...@@ -15,6 +15,7 @@ CREATE TABLE tl_job (
open_date date NULL, open_date date NULL,
apply_by date NULL, apply_by date NULL,
include_assessment_criteria char(1) NOT NULL, include_assessment_criteria char(1) NOT NULL,
include_culture char(1) NOT NULL,
assessment_type varchar2(200) NOT NULL, assessment_type varchar2(200) NOT NULL,
random_key varchar2(10) NULL, random_key varchar2(10) NULL,
job_type varchar2(200) NOT NULL, job_type varchar2(200) NOT NULL,
......
...@@ -15,6 +15,7 @@ CREATE TABLE tl_job ( ...@@ -15,6 +15,7 @@ CREATE TABLE tl_job (
open_date timestamp NULL, open_date timestamp NULL,
apply_by timestamp NULL, apply_by timestamp NULL,
include_assessment_criteria char(1) NOT NULL, include_assessment_criteria char(1) NOT NULL,
include_culture char(1) NOT NULL,
assessment_type varchar(200) NOT NULL, assessment_type varchar(200) NOT NULL,
random_key varchar(10) NULL, random_key varchar(10) NULL,
job_type varchar(200) NOT NULL, job_type varchar(200) NOT NULL,
......
...@@ -15,7 +15,7 @@ import oneit.utils.CollectionUtils; ...@@ -15,7 +15,7 @@ import oneit.utils.CollectionUtils;
import oneit.utils.RandomStringGen; import oneit.utils.RandomStringGen;
import performa.orm.JobApplication; import performa.orm.JobApplication;
import performa.orm.WorkFlow; import performa.orm.WorkFlow;
import performa.orm.types.ApplicationStatus; import performa.orm.types.AppView;
import performa.utils.PDFUtils; import performa.utils.PDFUtils;
...@@ -30,7 +30,7 @@ public class ApplicantReportFP extends ORMProcessFormProcessor ...@@ -30,7 +30,7 @@ public class ApplicantReportFP extends ORMProcessFormProcessor
HttpServletRequest request = submission.getRequest(); HttpServletRequest request = submission.getRequest();
RandomStringGen rand = new RandomStringGen(); RandomStringGen rand = new RandomStringGen();
final String randFileName = rand.generateAlphaNum(16) + ".pdf"; final String randFileName = rand.generateAlphaNum(16) + ".pdf";
boolean showList = (boolean) request.getAttribute("ShowList"); AppView appView = (AppView) request.getAttribute("AppView");
boolean detailed = (boolean) request.getAttribute("Detailed"); boolean detailed = (boolean) request.getAttribute("Detailed");
boolean applicantPage = (boolean) request.getAttribute("ApplicantPage"); boolean applicantPage = (boolean) request.getAttribute("ApplicantPage");
WorkFlow workflow = (WorkFlow) request.getAttribute("WorkFlow"); WorkFlow workflow = (WorkFlow) request.getAttribute("WorkFlow");
...@@ -49,7 +49,7 @@ public class ApplicantReportFP extends ORMProcessFormProcessor ...@@ -49,7 +49,7 @@ public class ApplicantReportFP extends ORMProcessFormProcessor
.mapEntry("WorkFlow", workflow) .mapEntry("WorkFlow", workflow)
.toMap(); .toMap();
if(CollectionUtils.equals(showList, true)) if(appView == AppView.LIST)
{ {
pdfBytes = PDFUtils.generateApplicantsListPDF(submission, data); pdfBytes = PDFUtils.generateApplicantsListPDF(submission, data);
} }
......
package performa.form;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import oneit.logging.*;
import oneit.objstore.ObjectTransaction;
import oneit.objstore.StorageException;
import oneit.servlets.forms.*;
import oneit.servlets.process.*;
import oneit.utils.BusinessException;
import performa.orm.*;
public class ChangeCultureCriteriaFP extends ORMProcessFormProcessor
{
@Override
public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException
{
HttpServletRequest request = submission.getRequest();
ObjectTransaction objTran = process.getTransaction();
Job job = (Job) request.getAttribute("Job");
LogMgr.log(Job.LOG, LogLevel.PROCESSING1, "Inside ChangeCultureCriteriaFP for ", job , " Include Culture:", job.getIncludeCulture());
if(!job.isTrue(job.getIncludeCulture()))
{
for(CultureCriteria cultureCriteria : job.getCultureCriteriasSet())
{
cultureCriteria.delete();
}
job.setSaveCultureTemplate(false);
job.setCultureTemplate(null);
}
else
{
for(CultureElement cultureElement : CultureElement.searchAll(objTran))
{
CultureCriteria cultureCriteria = CultureCriteria.createCultureCriteria(objTran);
cultureCriteria.setCultureElement(cultureElement);
job.addToCultureCriterias(cultureCriteria);
}
}
LogMgr.log(Job.LOG, LogLevel.PROCESSING1, "ChangeCultureCriteriaFP completed for ", job);
return RedisplayResult.getInstance();
}
}
...@@ -48,6 +48,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -48,6 +48,7 @@ public abstract class BaseJob extends BaseBusinessClass
public static final String FIELD_OpenDate = "OpenDate"; public static final String FIELD_OpenDate = "OpenDate";
public static final String FIELD_ApplyBy = "ApplyBy"; public static final String FIELD_ApplyBy = "ApplyBy";
public static final String FIELD_IncludeAssessmentCriteria = "IncludeAssessmentCriteria"; public static final String FIELD_IncludeAssessmentCriteria = "IncludeAssessmentCriteria";
public static final String FIELD_IncludeCulture = "IncludeCulture";
public static final String FIELD_AssessmentType = "AssessmentType"; public static final String FIELD_AssessmentType = "AssessmentType";
public static final String FIELD_RandomKey = "RandomKey"; public static final String FIELD_RandomKey = "RandomKey";
public static final String FIELD_JobType = "JobType"; public static final String FIELD_JobType = "JobType";
...@@ -117,6 +118,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -117,6 +118,7 @@ public abstract class BaseJob extends BaseBusinessClass
private static final DefaultAttributeHelper<Job> HELPER_OpenDate = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<Job> HELPER_OpenDate = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<Job> HELPER_ApplyBy = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<Job> HELPER_ApplyBy = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<Job> HELPER_IncludeAssessmentCriteria = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<Job> HELPER_IncludeAssessmentCriteria = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<Job> HELPER_IncludeCulture = DefaultAttributeHelper.INSTANCE;
private static final EnumeratedAttributeHelper<Job, AssessmentType> HELPER_AssessmentType = new EnumeratedAttributeHelper<Job, AssessmentType> (AssessmentType.FACTORY_AssessmentType); private static final EnumeratedAttributeHelper<Job, AssessmentType> HELPER_AssessmentType = new EnumeratedAttributeHelper<Job, AssessmentType> (AssessmentType.FACTORY_AssessmentType);
private static final DefaultAttributeHelper<Job> HELPER_RandomKey = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<Job> HELPER_RandomKey = DefaultAttributeHelper.INSTANCE;
private static final EnumeratedAttributeHelper<Job, JobType> HELPER_JobType = new EnumeratedAttributeHelper<Job, JobType> (JobType.FACTORY_JobType); private static final EnumeratedAttributeHelper<Job, JobType> HELPER_JobType = new EnumeratedAttributeHelper<Job, JobType> (JobType.FACTORY_JobType);
...@@ -159,6 +161,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -159,6 +161,7 @@ public abstract class BaseJob extends BaseBusinessClass
private Date _OpenDate; private Date _OpenDate;
private Date _ApplyBy; private Date _ApplyBy;
private Boolean _IncludeAssessmentCriteria; private Boolean _IncludeAssessmentCriteria;
private Boolean _IncludeCulture;
private AssessmentType _AssessmentType; private AssessmentType _AssessmentType;
private String _RandomKey; private String _RandomKey;
private JobType _JobType; private JobType _JobType;
...@@ -240,6 +243,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -240,6 +243,7 @@ public abstract class BaseJob extends BaseBusinessClass
private static final AttributeValidator[] FIELD_OpenDate_Validators; private static final AttributeValidator[] FIELD_OpenDate_Validators;
private static final AttributeValidator[] FIELD_ApplyBy_Validators; private static final AttributeValidator[] FIELD_ApplyBy_Validators;
private static final AttributeValidator[] FIELD_IncludeAssessmentCriteria_Validators; private static final AttributeValidator[] FIELD_IncludeAssessmentCriteria_Validators;
private static final AttributeValidator[] FIELD_IncludeCulture_Validators;
private static final AttributeValidator[] FIELD_AssessmentType_Validators; private static final AttributeValidator[] FIELD_AssessmentType_Validators;
private static final AttributeValidator[] FIELD_RandomKey_Validators; private static final AttributeValidator[] FIELD_RandomKey_Validators;
private static final AttributeValidator[] FIELD_JobType_Validators; private static final AttributeValidator[] FIELD_JobType_Validators;
...@@ -313,6 +317,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -313,6 +317,7 @@ public abstract class BaseJob extends BaseBusinessClass
FIELD_OpenDate_Validators = (AttributeValidator[])setupAttribMetaData_OpenDate(validatorMapping).toArray (new AttributeValidator[0]); FIELD_OpenDate_Validators = (AttributeValidator[])setupAttribMetaData_OpenDate(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_ApplyBy_Validators = (AttributeValidator[])setupAttribMetaData_ApplyBy(validatorMapping).toArray (new AttributeValidator[0]); FIELD_ApplyBy_Validators = (AttributeValidator[])setupAttribMetaData_ApplyBy(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_IncludeAssessmentCriteria_Validators = (AttributeValidator[])setupAttribMetaData_IncludeAssessmentCriteria(validatorMapping).toArray (new AttributeValidator[0]); FIELD_IncludeAssessmentCriteria_Validators = (AttributeValidator[])setupAttribMetaData_IncludeAssessmentCriteria(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_IncludeCulture_Validators = (AttributeValidator[])setupAttribMetaData_IncludeCulture(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_AssessmentType_Validators = (AttributeValidator[])setupAttribMetaData_AssessmentType(validatorMapping).toArray (new AttributeValidator[0]); FIELD_AssessmentType_Validators = (AttributeValidator[])setupAttribMetaData_AssessmentType(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_RandomKey_Validators = (AttributeValidator[])setupAttribMetaData_RandomKey(validatorMapping).toArray (new AttributeValidator[0]); FIELD_RandomKey_Validators = (AttributeValidator[])setupAttribMetaData_RandomKey(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_JobType_Validators = (AttributeValidator[])setupAttribMetaData_JobType(validatorMapping).toArray (new AttributeValidator[0]); FIELD_JobType_Validators = (AttributeValidator[])setupAttribMetaData_JobType(validatorMapping).toArray (new AttributeValidator[0]);
...@@ -934,6 +939,26 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -934,6 +939,26 @@ public abstract class BaseJob extends BaseBusinessClass
} }
// Meta Info setup // Meta Info setup
private static List setupAttribMetaData_IncludeCulture(Map validatorMapping)
{
Map metaInfo = new HashMap ();
metaInfo.put ("dbcol", "include_culture");
metaInfo.put ("defaultValue", "Boolean.TRUE");
metaInfo.put ("mandatory", "true");
metaInfo.put ("name", "IncludeCulture");
metaInfo.put ("type", "Boolean");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for Job.IncludeCulture:", metaInfo);
ATTRIBUTES_METADATA_Job.put (FIELD_IncludeCulture, Collections.unmodifiableMap (metaInfo));
List validators = BaseBusinessClass.getAttribValidators(Job.class, "IncludeCulture", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for Job.IncludeCulture:", validators);
return validators;
}
// Meta Info setup
private static List setupAttribMetaData_AssessmentType(Map validatorMapping) private static List setupAttribMetaData_AssessmentType(Map validatorMapping)
{ {
Map metaInfo = new HashMap (); Map metaInfo = new HashMap ();
...@@ -1335,6 +1360,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -1335,6 +1360,7 @@ public abstract class BaseJob extends BaseBusinessClass
_OpenDate = (Date)(HELPER_OpenDate.initialise (_OpenDate)); _OpenDate = (Date)(HELPER_OpenDate.initialise (_OpenDate));
_ApplyBy = (Date)(HELPER_ApplyBy.initialise (_ApplyBy)); _ApplyBy = (Date)(HELPER_ApplyBy.initialise (_ApplyBy));
_IncludeAssessmentCriteria = (Boolean)(Boolean.TRUE); _IncludeAssessmentCriteria = (Boolean)(Boolean.TRUE);
_IncludeCulture = (Boolean)(Boolean.TRUE);
_AssessmentType = (AssessmentType)(AssessmentType.COMPREHENSIVE); _AssessmentType = (AssessmentType)(AssessmentType.COMPREHENSIVE);
_RandomKey = (String)(HELPER_RandomKey.initialise (_RandomKey)); _RandomKey = (String)(HELPER_RandomKey.initialise (_RandomKey));
_JobType = (JobType)(JobType.FULL_TIME); _JobType = (JobType)(JobType.FULL_TIME);
...@@ -2017,6 +2043,105 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -2017,6 +2043,105 @@ public abstract class BaseJob extends BaseBusinessClass
} }
/** /**
* Get the attribute IncludeCulture
*/
public Boolean getIncludeCulture ()
{
assertValid();
Boolean valToReturn = _IncludeCulture;
for (JobBehaviourDecorator bhd : Job_BehaviourDecorators)
{
valToReturn = bhd.getIncludeCulture ((Job)this, valToReturn);
}
return valToReturn;
}
/**
* Called prior to the attribute changing. Subclasses need not call super. If a field exception
* is thrown, the attribute change will fail. The new value is different to the old value.
*/
protected void preIncludeCultureChange (Boolean newIncludeCulture) throws FieldException
{
}
/**
* Called after the attribute changes.
* If a field exception is thrown, the value is still changed, however it
* may lead to the TX being rolled back
*/
protected void postIncludeCultureChange () throws FieldException
{
}
public FieldWriteability getWriteability_IncludeCulture ()
{
return getFieldWritabilityUtil (FieldWriteability.TRUE);
}
/**
* Set the attribute IncludeCulture. Checks to ensure a new value
* has been supplied. If so, marks the field as altered and sets the attribute.
*/
public void setIncludeCulture (Boolean newIncludeCulture) throws FieldException
{
boolean oldAndNewIdentical = HELPER_IncludeCulture.compare (_IncludeCulture, newIncludeCulture);
try
{
for (JobBehaviourDecorator bhd : Job_BehaviourDecorators)
{
newIncludeCulture = bhd.setIncludeCulture ((Job)this, newIncludeCulture);
oldAndNewIdentical = HELPER_IncludeCulture.compare (_IncludeCulture, newIncludeCulture);
}
BusinessObjectParser.assertFieldCondition (newIncludeCulture != null, this, FIELD_IncludeCulture, "mandatory");
if (FIELD_IncludeCulture_Validators.length > 0)
{
Object newIncludeCultureObj = HELPER_IncludeCulture.toObject (newIncludeCulture);
if (newIncludeCultureObj != null)
{
int loopMax = FIELD_IncludeCulture_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_Job.get (FIELD_IncludeCulture);
for (int v = 0 ; v < loopMax ; ++v)
{
FIELD_IncludeCulture_Validators[v].checkAttribute (this, FIELD_IncludeCulture, metadata, newIncludeCultureObj);
}
}
}
}
catch (FieldException e)
{
if (!oldAndNewIdentical)
{
e.setWouldModify ();
}
throw e;
}
if (!oldAndNewIdentical)
{
assertValid();
Debug.assertion (getWriteability_IncludeCulture () != FieldWriteability.FALSE, "Field IncludeCulture is not writeable");
preIncludeCultureChange (newIncludeCulture);
markFieldChange (FIELD_IncludeCulture);
_IncludeCulture = newIncludeCulture;
postFieldChange (FIELD_IncludeCulture);
postIncludeCultureChange ();
}
}
/**
* Get the attribute AssessmentType * Get the attribute AssessmentType
*/ */
public AssessmentType getAssessmentType () public AssessmentType getAssessmentType ()
...@@ -7395,6 +7520,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -7395,6 +7520,7 @@ public abstract class BaseJob extends BaseBusinessClass
tl_jobPSet.setAttrib (FIELD_OpenDate, HELPER_OpenDate.toObject (_OpenDate)); // tl_jobPSet.setAttrib (FIELD_OpenDate, HELPER_OpenDate.toObject (_OpenDate)); //
tl_jobPSet.setAttrib (FIELD_ApplyBy, HELPER_ApplyBy.toObject (_ApplyBy)); // tl_jobPSet.setAttrib (FIELD_ApplyBy, HELPER_ApplyBy.toObject (_ApplyBy)); //
tl_jobPSet.setAttrib (FIELD_IncludeAssessmentCriteria, HELPER_IncludeAssessmentCriteria.toObject (_IncludeAssessmentCriteria)); // tl_jobPSet.setAttrib (FIELD_IncludeAssessmentCriteria, HELPER_IncludeAssessmentCriteria.toObject (_IncludeAssessmentCriteria)); //
tl_jobPSet.setAttrib (FIELD_IncludeCulture, HELPER_IncludeCulture.toObject (_IncludeCulture)); //
tl_jobPSet.setAttrib (FIELD_AssessmentType, HELPER_AssessmentType.toObject (_AssessmentType)); // tl_jobPSet.setAttrib (FIELD_AssessmentType, HELPER_AssessmentType.toObject (_AssessmentType)); //
tl_jobPSet.setAttrib (FIELD_RandomKey, HELPER_RandomKey.toObject (_RandomKey)); // tl_jobPSet.setAttrib (FIELD_RandomKey, HELPER_RandomKey.toObject (_RandomKey)); //
tl_jobPSet.setAttrib (FIELD_JobType, HELPER_JobType.toObject (_JobType)); // tl_jobPSet.setAttrib (FIELD_JobType, HELPER_JobType.toObject (_JobType)); //
...@@ -7443,6 +7569,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -7443,6 +7569,7 @@ public abstract class BaseJob extends BaseBusinessClass
_OpenDate = (Date)(HELPER_OpenDate.fromObject (_OpenDate, tl_jobPSet.getAttrib (FIELD_OpenDate))); // _OpenDate = (Date)(HELPER_OpenDate.fromObject (_OpenDate, tl_jobPSet.getAttrib (FIELD_OpenDate))); //
_ApplyBy = (Date)(HELPER_ApplyBy.fromObject (_ApplyBy, tl_jobPSet.getAttrib (FIELD_ApplyBy))); // _ApplyBy = (Date)(HELPER_ApplyBy.fromObject (_ApplyBy, tl_jobPSet.getAttrib (FIELD_ApplyBy))); //
_IncludeAssessmentCriteria = (Boolean)(HELPER_IncludeAssessmentCriteria.fromObject (_IncludeAssessmentCriteria, tl_jobPSet.getAttrib (FIELD_IncludeAssessmentCriteria))); // _IncludeAssessmentCriteria = (Boolean)(HELPER_IncludeAssessmentCriteria.fromObject (_IncludeAssessmentCriteria, tl_jobPSet.getAttrib (FIELD_IncludeAssessmentCriteria))); //
_IncludeCulture = (Boolean)(HELPER_IncludeCulture.fromObject (_IncludeCulture, tl_jobPSet.getAttrib (FIELD_IncludeCulture))); //
_AssessmentType = (AssessmentType)(HELPER_AssessmentType.fromObject (_AssessmentType, tl_jobPSet.getAttrib (FIELD_AssessmentType))); // _AssessmentType = (AssessmentType)(HELPER_AssessmentType.fromObject (_AssessmentType, tl_jobPSet.getAttrib (FIELD_AssessmentType))); //
_RandomKey = (String)(HELPER_RandomKey.fromObject (_RandomKey, tl_jobPSet.getAttrib (FIELD_RandomKey))); // _RandomKey = (String)(HELPER_RandomKey.fromObject (_RandomKey, tl_jobPSet.getAttrib (FIELD_RandomKey))); //
_JobType = (JobType)(HELPER_JobType.fromObject (_JobType, tl_jobPSet.getAttrib (FIELD_JobType))); // _JobType = (JobType)(HELPER_JobType.fromObject (_JobType, tl_jobPSet.getAttrib (FIELD_JobType))); //
...@@ -7542,6 +7669,15 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -7542,6 +7669,15 @@ public abstract class BaseJob extends BaseBusinessClass
try try
{ {
setIncludeCulture (otherJob.getIncludeCulture ());
}
catch (FieldException ex)
{
e.addException (ex);
}
try
{
setAssessmentType (otherJob.getAssessmentType ()); setAssessmentType (otherJob.getAssessmentType ());
} }
catch (FieldException ex) catch (FieldException ex)
...@@ -7732,6 +7868,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -7732,6 +7868,7 @@ public abstract class BaseJob extends BaseBusinessClass
_OpenDate = sourceJob._OpenDate; _OpenDate = sourceJob._OpenDate;
_ApplyBy = sourceJob._ApplyBy; _ApplyBy = sourceJob._ApplyBy;
_IncludeAssessmentCriteria = sourceJob._IncludeAssessmentCriteria; _IncludeAssessmentCriteria = sourceJob._IncludeAssessmentCriteria;
_IncludeCulture = sourceJob._IncludeCulture;
_AssessmentType = sourceJob._AssessmentType; _AssessmentType = sourceJob._AssessmentType;
_RandomKey = sourceJob._RandomKey; _RandomKey = sourceJob._RandomKey;
_JobType = sourceJob._JobType; _JobType = sourceJob._JobType;
...@@ -7843,6 +7980,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -7843,6 +7980,7 @@ public abstract class BaseJob extends BaseBusinessClass
_OpenDate = (Date)(HELPER_OpenDate.readExternal (_OpenDate, vals.get(FIELD_OpenDate))); // _OpenDate = (Date)(HELPER_OpenDate.readExternal (_OpenDate, vals.get(FIELD_OpenDate))); //
_ApplyBy = (Date)(HELPER_ApplyBy.readExternal (_ApplyBy, vals.get(FIELD_ApplyBy))); // _ApplyBy = (Date)(HELPER_ApplyBy.readExternal (_ApplyBy, vals.get(FIELD_ApplyBy))); //
_IncludeAssessmentCriteria = (Boolean)(HELPER_IncludeAssessmentCriteria.readExternal (_IncludeAssessmentCriteria, vals.get(FIELD_IncludeAssessmentCriteria))); // _IncludeAssessmentCriteria = (Boolean)(HELPER_IncludeAssessmentCriteria.readExternal (_IncludeAssessmentCriteria, vals.get(FIELD_IncludeAssessmentCriteria))); //
_IncludeCulture = (Boolean)(HELPER_IncludeCulture.readExternal (_IncludeCulture, vals.get(FIELD_IncludeCulture))); //
_AssessmentType = (AssessmentType)(HELPER_AssessmentType.readExternal (_AssessmentType, vals.get(FIELD_AssessmentType))); // _AssessmentType = (AssessmentType)(HELPER_AssessmentType.readExternal (_AssessmentType, vals.get(FIELD_AssessmentType))); //
_RandomKey = (String)(HELPER_RandomKey.readExternal (_RandomKey, vals.get(FIELD_RandomKey))); // _RandomKey = (String)(HELPER_RandomKey.readExternal (_RandomKey, vals.get(FIELD_RandomKey))); //
_JobType = (JobType)(HELPER_JobType.readExternal (_JobType, vals.get(FIELD_JobType))); // _JobType = (JobType)(HELPER_JobType.readExternal (_JobType, vals.get(FIELD_JobType))); //
...@@ -7909,6 +8047,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -7909,6 +8047,7 @@ public abstract class BaseJob extends BaseBusinessClass
vals.put (FIELD_OpenDate, HELPER_OpenDate.writeExternal (_OpenDate)); vals.put (FIELD_OpenDate, HELPER_OpenDate.writeExternal (_OpenDate));
vals.put (FIELD_ApplyBy, HELPER_ApplyBy.writeExternal (_ApplyBy)); vals.put (FIELD_ApplyBy, HELPER_ApplyBy.writeExternal (_ApplyBy));
vals.put (FIELD_IncludeAssessmentCriteria, HELPER_IncludeAssessmentCriteria.writeExternal (_IncludeAssessmentCriteria)); vals.put (FIELD_IncludeAssessmentCriteria, HELPER_IncludeAssessmentCriteria.writeExternal (_IncludeAssessmentCriteria));
vals.put (FIELD_IncludeCulture, HELPER_IncludeCulture.writeExternal (_IncludeCulture));
vals.put (FIELD_AssessmentType, HELPER_AssessmentType.writeExternal (_AssessmentType)); vals.put (FIELD_AssessmentType, HELPER_AssessmentType.writeExternal (_AssessmentType));
vals.put (FIELD_RandomKey, HELPER_RandomKey.writeExternal (_RandomKey)); vals.put (FIELD_RandomKey, HELPER_RandomKey.writeExternal (_RandomKey));
vals.put (FIELD_JobType, HELPER_JobType.writeExternal (_JobType)); vals.put (FIELD_JobType, HELPER_JobType.writeExternal (_JobType));
...@@ -7995,6 +8134,10 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -7995,6 +8134,10 @@ public abstract class BaseJob extends BaseBusinessClass
{ {
listener.notifyFieldChange(this, other, FIELD_IncludeAssessmentCriteria, HELPER_IncludeAssessmentCriteria.toObject(this._IncludeAssessmentCriteria), HELPER_IncludeAssessmentCriteria.toObject(otherJob._IncludeAssessmentCriteria)); listener.notifyFieldChange(this, other, FIELD_IncludeAssessmentCriteria, HELPER_IncludeAssessmentCriteria.toObject(this._IncludeAssessmentCriteria), HELPER_IncludeAssessmentCriteria.toObject(otherJob._IncludeAssessmentCriteria));
} }
if (!HELPER_IncludeCulture.compare(this._IncludeCulture, otherJob._IncludeCulture))
{
listener.notifyFieldChange(this, other, FIELD_IncludeCulture, HELPER_IncludeCulture.toObject(this._IncludeCulture), HELPER_IncludeCulture.toObject(otherJob._IncludeCulture));
}
if (!HELPER_AssessmentType.compare(this._AssessmentType, otherJob._AssessmentType)) if (!HELPER_AssessmentType.compare(this._AssessmentType, otherJob._AssessmentType))
{ {
listener.notifyFieldChange(this, other, FIELD_AssessmentType, HELPER_AssessmentType.toObject(this._AssessmentType), HELPER_AssessmentType.toObject(otherJob._AssessmentType)); listener.notifyFieldChange(this, other, FIELD_AssessmentType, HELPER_AssessmentType.toObject(this._AssessmentType), HELPER_AssessmentType.toObject(otherJob._AssessmentType));
...@@ -8129,6 +8272,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -8129,6 +8272,7 @@ public abstract class BaseJob extends BaseBusinessClass
visitor.visitField(this, FIELD_OpenDate, HELPER_OpenDate.toObject(getOpenDate())); visitor.visitField(this, FIELD_OpenDate, HELPER_OpenDate.toObject(getOpenDate()));
visitor.visitField(this, FIELD_ApplyBy, HELPER_ApplyBy.toObject(getApplyBy())); visitor.visitField(this, FIELD_ApplyBy, HELPER_ApplyBy.toObject(getApplyBy()));
visitor.visitField(this, FIELD_IncludeAssessmentCriteria, HELPER_IncludeAssessmentCriteria.toObject(getIncludeAssessmentCriteria())); visitor.visitField(this, FIELD_IncludeAssessmentCriteria, HELPER_IncludeAssessmentCriteria.toObject(getIncludeAssessmentCriteria()));
visitor.visitField(this, FIELD_IncludeCulture, HELPER_IncludeCulture.toObject(getIncludeCulture()));
visitor.visitField(this, FIELD_AssessmentType, HELPER_AssessmentType.toObject(getAssessmentType())); visitor.visitField(this, FIELD_AssessmentType, HELPER_AssessmentType.toObject(getAssessmentType()));
visitor.visitField(this, FIELD_RandomKey, HELPER_RandomKey.toObject(getRandomKey())); visitor.visitField(this, FIELD_RandomKey, HELPER_RandomKey.toObject(getRandomKey()));
visitor.visitField(this, FIELD_JobType, HELPER_JobType.toObject(getJobType())); visitor.visitField(this, FIELD_JobType, HELPER_JobType.toObject(getJobType()));
...@@ -8285,6 +8429,10 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -8285,6 +8429,10 @@ public abstract class BaseJob extends BaseBusinessClass
{ {
return filter.matches (getIncludeAssessmentCriteria ()); return filter.matches (getIncludeAssessmentCriteria ());
} }
else if (attribName.equals (FIELD_IncludeCulture))
{
return filter.matches (getIncludeCulture ());
}
else if (attribName.equals (FIELD_AssessmentType)) else if (attribName.equals (FIELD_AssessmentType))
{ {
return filter.matches (getAssessmentType ()); return filter.matches (getAssessmentType ());
...@@ -8464,6 +8612,12 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -8464,6 +8612,12 @@ public abstract class BaseJob extends BaseBusinessClass
return this; return this;
} }
public SearchAll andIncludeCulture (QueryFilter<Boolean> filter)
{
filter.addFilter (context, "tl_job.include_culture", "IncludeCulture");
return this;
}
public SearchAll andAssessmentType (QueryFilter<AssessmentType> filter) public SearchAll andAssessmentType (QueryFilter<AssessmentType> filter)
{ {
filter.addFilter (context, "tl_job.assessment_type", "AssessmentType"); filter.addFilter (context, "tl_job.assessment_type", "AssessmentType");
...@@ -8731,6 +8885,12 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -8731,6 +8885,12 @@ public abstract class BaseJob extends BaseBusinessClass
return this; return this;
} }
public SearchJobKey andIncludeCulture (QueryFilter<Boolean> filter)
{
filter.addFilter (context, "tl_job.include_culture", "IncludeCulture");
return this;
}
public SearchJobKey andAssessmentType (QueryFilter<AssessmentType> filter) public SearchJobKey andAssessmentType (QueryFilter<AssessmentType> filter)
{ {
filter.addFilter (context, "tl_job.assessment_type", "AssessmentType"); filter.addFilter (context, "tl_job.assessment_type", "AssessmentType");
...@@ -8992,6 +9152,12 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -8992,6 +9152,12 @@ public abstract class BaseJob extends BaseBusinessClass
return this; return this;
} }
public SearchCompany andIncludeCulture (QueryFilter<Boolean> filter)
{
filter.addFilter (context, "tl_job.include_culture", "IncludeCulture");
return this;
}
public SearchCompany andAssessmentType (QueryFilter<AssessmentType> filter) public SearchCompany andAssessmentType (QueryFilter<AssessmentType> filter)
{ {
filter.addFilter (context, "tl_job.assessment_type", "AssessmentType"); filter.addFilter (context, "tl_job.assessment_type", "AssessmentType");
...@@ -9254,6 +9420,12 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -9254,6 +9420,12 @@ public abstract class BaseJob extends BaseBusinessClass
return this; return this;
} }
public SearchDetails andIncludeCulture (QueryFilter<Boolean> filter)
{
filter.addFilter (context, "tl_job.include_culture", "IncludeCulture");
return this;
}
public SearchDetails andAssessmentType (QueryFilter<AssessmentType> filter) public SearchDetails andAssessmentType (QueryFilter<AssessmentType> filter)
{ {
filter.addFilter (context, "tl_job.assessment_type", "AssessmentType"); filter.addFilter (context, "tl_job.assessment_type", "AssessmentType");
...@@ -9482,6 +9654,10 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -9482,6 +9654,10 @@ public abstract class BaseJob extends BaseBusinessClass
{ {
return HELPER_IncludeAssessmentCriteria.toObject (getIncludeAssessmentCriteria ()); return HELPER_IncludeAssessmentCriteria.toObject (getIncludeAssessmentCriteria ());
} }
else if (attribName.equals (FIELD_IncludeCulture))
{
return HELPER_IncludeCulture.toObject (getIncludeCulture ());
}
else if (attribName.equals (FIELD_AssessmentType)) else if (attribName.equals (FIELD_AssessmentType))
{ {
return HELPER_AssessmentType.toObject (getAssessmentType ()); return HELPER_AssessmentType.toObject (getAssessmentType ());
...@@ -9651,6 +9827,10 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -9651,6 +9827,10 @@ public abstract class BaseJob extends BaseBusinessClass
{ {
return HELPER_IncludeAssessmentCriteria; return HELPER_IncludeAssessmentCriteria;
} }
else if (attribName.equals (FIELD_IncludeCulture))
{
return HELPER_IncludeCulture;
}
else if (attribName.equals (FIELD_AssessmentType)) else if (attribName.equals (FIELD_AssessmentType))
{ {
return HELPER_AssessmentType; return HELPER_AssessmentType;
...@@ -9820,6 +10000,10 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -9820,6 +10000,10 @@ public abstract class BaseJob extends BaseBusinessClass
{ {
setIncludeAssessmentCriteria ((Boolean)(HELPER_IncludeAssessmentCriteria.fromObject (_IncludeAssessmentCriteria, attribValue))); setIncludeAssessmentCriteria ((Boolean)(HELPER_IncludeAssessmentCriteria.fromObject (_IncludeAssessmentCriteria, attribValue)));
} }
else if (attribName.equals (FIELD_IncludeCulture))
{
setIncludeCulture ((Boolean)(HELPER_IncludeCulture.fromObject (_IncludeCulture, attribValue)));
}
else if (attribName.equals (FIELD_AssessmentType)) else if (attribName.equals (FIELD_AssessmentType))
{ {
setAssessmentType ((AssessmentType)(HELPER_AssessmentType.fromObject (_AssessmentType, attribValue))); setAssessmentType ((AssessmentType)(HELPER_AssessmentType.fromObject (_AssessmentType, attribValue)));
...@@ -9996,6 +10180,10 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -9996,6 +10180,10 @@ public abstract class BaseJob extends BaseBusinessClass
{ {
return getWriteability_IncludeAssessmentCriteria (); return getWriteability_IncludeAssessmentCriteria ();
} }
else if (fieldName.equals (FIELD_IncludeCulture))
{
return getWriteability_IncludeCulture ();
}
else if (fieldName.equals (FIELD_AssessmentType)) else if (fieldName.equals (FIELD_AssessmentType))
{ {
return getWriteability_AssessmentType (); return getWriteability_AssessmentType ();
...@@ -10232,6 +10420,11 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -10232,6 +10420,11 @@ public abstract class BaseJob extends BaseBusinessClass
fields.add (FIELD_IncludeAssessmentCriteria); fields.add (FIELD_IncludeAssessmentCriteria);
} }
if (getWriteability_IncludeCulture () != FieldWriteability.TRUE)
{
fields.add (FIELD_IncludeCulture);
}
if (getWriteability_AssessmentType () != FieldWriteability.TRUE) if (getWriteability_AssessmentType () != FieldWriteability.TRUE)
{ {
fields.add (FIELD_AssessmentType); fields.add (FIELD_AssessmentType);
...@@ -10412,6 +10605,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -10412,6 +10605,7 @@ public abstract class BaseJob extends BaseBusinessClass
result.add(HELPER_OpenDate.getAttribObject (getClass (), _OpenDate, false, FIELD_OpenDate)); result.add(HELPER_OpenDate.getAttribObject (getClass (), _OpenDate, false, FIELD_OpenDate));
result.add(HELPER_ApplyBy.getAttribObject (getClass (), _ApplyBy, false, FIELD_ApplyBy)); result.add(HELPER_ApplyBy.getAttribObject (getClass (), _ApplyBy, false, FIELD_ApplyBy));
result.add(HELPER_IncludeAssessmentCriteria.getAttribObject (getClass (), _IncludeAssessmentCriteria, true, FIELD_IncludeAssessmentCriteria)); result.add(HELPER_IncludeAssessmentCriteria.getAttribObject (getClass (), _IncludeAssessmentCriteria, true, FIELD_IncludeAssessmentCriteria));
result.add(HELPER_IncludeCulture.getAttribObject (getClass (), _IncludeCulture, true, FIELD_IncludeCulture));
result.add(HELPER_AssessmentType.getAttribObject (getClass (), _AssessmentType, true, FIELD_AssessmentType)); result.add(HELPER_AssessmentType.getAttribObject (getClass (), _AssessmentType, true, FIELD_AssessmentType));
result.add(HELPER_RandomKey.getAttribObject (getClass (), _RandomKey, false, FIELD_RandomKey)); result.add(HELPER_RandomKey.getAttribObject (getClass (), _RandomKey, false, FIELD_RandomKey));
result.add(HELPER_JobType.getAttribObject (getClass (), _JobType, true, FIELD_JobType)); result.add(HELPER_JobType.getAttribObject (getClass (), _JobType, true, FIELD_JobType));
...@@ -10604,6 +10798,24 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -10604,6 +10798,24 @@ public abstract class BaseJob extends BaseBusinessClass
} }
/** /**
* Get the attribute IncludeCulture
*/
public Boolean getIncludeCulture (Job obj, Boolean original)
{
return original;
}
/**
* Change the value set for attribute IncludeCulture.
* May modify the field beforehand
* Occurs before validation.
*/
public Boolean setIncludeCulture (Job obj, Boolean newIncludeCulture) throws FieldException
{
return newIncludeCulture;
}
/**
* Get the attribute AssessmentType * Get the attribute AssessmentType
*/ */
public AssessmentType getAssessmentType (Job obj, AssessmentType original) public AssessmentType getAssessmentType (Job obj, AssessmentType original)
...@@ -11357,6 +11569,10 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -11357,6 +11569,10 @@ public abstract class BaseJob extends BaseBusinessClass
{ {
return toIncludeAssessmentCriteria (); return toIncludeAssessmentCriteria ();
} }
if (name.equals ("IncludeCulture"))
{
return toIncludeCulture ();
}
if (name.equals ("AssessmentType")) if (name.equals ("AssessmentType"))
{ {
return toAssessmentType (); return toAssessmentType ();
...@@ -11515,6 +11731,8 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -11515,6 +11731,8 @@ public abstract class BaseJob extends BaseBusinessClass
public PipeLine<From, Boolean> toIncludeAssessmentCriteria () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_IncludeAssessmentCriteria)); } public PipeLine<From, Boolean> toIncludeAssessmentCriteria () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_IncludeAssessmentCriteria)); }
public PipeLine<From, Boolean> toIncludeCulture () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_IncludeCulture)); }
public PipeLine<From, AssessmentType> toAssessmentType () { return pipe(new ORMAttributePipe<Me, AssessmentType>(FIELD_AssessmentType)); } public PipeLine<From, AssessmentType> toAssessmentType () { return pipe(new ORMAttributePipe<Me, AssessmentType>(FIELD_AssessmentType)); }
public PipeLine<From, String> toRandomKey () { return pipe(new ORMAttributePipe<Me, String>(FIELD_RandomKey)); } public PipeLine<From, String> toRandomKey () { return pipe(new ORMAttributePipe<Me, String>(FIELD_RandomKey)); }
......
...@@ -114,7 +114,7 @@ public class Candidate extends BaseCandidate ...@@ -114,7 +114,7 @@ public class Candidate extends BaseCandidate
{ {
int allAnswersCount = getCultureCriteriaAnswersCount(); int allAnswersCount = getCultureCriteriaAnswersCount();
if(allAnswersCount == job.getCultureCriteriasCount()) if(job.showCultureCriteriaSection() && allAnswersCount == job.getCultureCriteriasCount())
{ {
Filter filter = CultureCriteriaAnswer.SearchByAll().andSelectedQuestion(new IsNotNullFilter<>()); Filter filter = CultureCriteriaAnswer.SearchByAll().andSelectedQuestion(new IsNotNullFilter<>());
Collection selectedAnswers = pipelineCandidate().toCultureCriteriaAnswers(filter).vals(); Collection selectedAnswers = pipelineCandidate().toCultureCriteriaAnswers(filter).vals();
...@@ -127,7 +127,7 @@ public class Candidate extends BaseCandidate ...@@ -127,7 +127,7 @@ public class Candidate extends BaseCandidate
public double cultureCompletedPercentage(Job job) public double cultureCompletedPercentage(Job job)
{ {
return (getCultureCriteriaAnswersCount() * 100) / job.getCultureCriteriasCount() ; return job.showCultureCriteriaSection() ? (getCultureCriteriaAnswersCount() * 100) / job.getCultureCriteriasCount() : 0d;
} }
public double roleFitCompletedPercentage(Job job) public double roleFitCompletedPercentage(Job job)
......
package performa.orm; package performa.orm;
import oneit.utils.math.NullArith;
public class CandidateClassScore extends BaseCandidateClassScore public class CandidateClassScore extends BaseCandidateClassScore
{ {
...@@ -10,4 +12,9 @@ public class CandidateClassScore extends BaseCandidateClassScore ...@@ -10,4 +12,9 @@ public class CandidateClassScore extends BaseCandidateClassScore
{ {
// 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 double getWeightedPercentage()
{
return NullArith.divide(getWghtdClassScore(), getMaxWghtdClassScore()) * 100;
}
} }
\ No newline at end of file
...@@ -415,6 +415,16 @@ public class Job extends BaseJob ...@@ -415,6 +415,16 @@ public class Job extends BaseJob
return isTrue(getIncludeAssessmentCriteria()); return isTrue(getIncludeAssessmentCriteria());
} }
public boolean showCultureCriteriaSection()
{
return isTrue(getIncludeCulture());
}
public int getNumberOfSections()
{
return (showCultureCriteriaSection() && showAssessmentCriteriaSection() ? 3 : (showCultureCriteriaSection() || showAssessmentCriteriaSection()) ? 2 : 1);
}
public int getMaxShortlistApplicants() public int getMaxShortlistApplicants()
{ {
return 25; return 25;
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
<ATTRIB name="OpenDate" type="Date" dbcol="open_date"/> <ATTRIB name="OpenDate" type="Date" dbcol="open_date"/>
<ATTRIB name="ApplyBy" type="Date" dbcol="apply_by"/> <ATTRIB name="ApplyBy" type="Date" dbcol="apply_by"/>
<ATTRIB name="IncludeAssessmentCriteria" type="Boolean" dbcol="include_assessment_criteria" mandatory="true" defaultValue="Boolean.TRUE"/> <ATTRIB name="IncludeAssessmentCriteria" type="Boolean" dbcol="include_assessment_criteria" mandatory="true" defaultValue="Boolean.TRUE"/>
<ATTRIB name="IncludeCulture" type="Boolean" dbcol="include_culture" mandatory="true" defaultValue="Boolean.TRUE"/>
<ATTRIB name="AssessmentType" type="AssessmentType" dbcol="assessment_type" attribHelper="EnumeratedAttributeHelper" mandatory="true" defaultValue="AssessmentType.COMPREHENSIVE"/> <ATTRIB name="AssessmentType" type="AssessmentType" dbcol="assessment_type" attribHelper="EnumeratedAttributeHelper" mandatory="true" defaultValue="AssessmentType.COMPREHENSIVE"/>
<ATTRIB name="RandomKey" type="String" dbcol="random_key" length="10"/> <ATTRIB name="RandomKey" type="String" dbcol="random_key" length="10"/>
<ATTRIB name="JobType" type="JobType" dbcol="job_type" attribHelper="EnumeratedAttributeHelper" mandatory="true" defaultValue="JobType.FULL_TIME"/> <ATTRIB name="JobType" type="JobType" dbcol="job_type" attribHelper="EnumeratedAttributeHelper" mandatory="true" defaultValue="JobType.FULL_TIME"/>
......
...@@ -165,7 +165,7 @@ public class JobApplication extends BaseJobApplication ...@@ -165,7 +165,7 @@ public class JobApplication extends BaseJobApplication
Candidate candidate = getCandidate(); Candidate candidate = getCandidate();
//to skip culture test //to skip culture test
if(cultureCompleted()) if(!isIncludeCultureCriteria() || cultureCompleted())
{ {
return safeRedirect; return safeRedirect;
} }
...@@ -249,7 +249,7 @@ public class JobApplication extends BaseJobApplication ...@@ -249,7 +249,7 @@ public class JobApplication extends BaseJobApplication
public boolean cultureCompleted() public boolean cultureCompleted()
{ {
return getCandidate().cultureCompleted(getJob()); return isIncludeCultureCriteria() ? getCandidate().cultureCompleted(getJob()) : true;
} }
...@@ -281,6 +281,11 @@ public class JobApplication extends BaseJobApplication ...@@ -281,6 +281,11 @@ public class JobApplication extends BaseJobApplication
return getJob() != null && isTrue(getJob().getIncludeAssessmentCriteria()); return getJob() != null && isTrue(getJob().getIncludeAssessmentCriteria());
} }
public boolean isIncludeCultureCriteria()
{
return getJob() != null && isTrue(getJob().getIncludeCulture());
}
@Override @Override
public Map getRoleFit() public Map getRoleFit()
{ {
...@@ -709,7 +714,7 @@ public class JobApplication extends BaseJobApplication ...@@ -709,7 +714,7 @@ public class JobApplication extends BaseJobApplication
{ {
Tuple.T3<Double, ColorCode, Double> roleFitData = (getRoleFit() != null && getRoleFit().get(null) != null) ? (Tuple.T3<Double, ColorCode, Double>) getRoleFit().get(null) : null; Tuple.T3<Double, ColorCode, Double> roleFitData = (getRoleFit() != null && getRoleFit().get(null) != null) ? (Tuple.T3<Double, ColorCode, Double>) getRoleFit().get(null) : null;
double score = roleFitData != null ? roleFitData.get2() : 0d; double score = roleFitData != null ? roleFitData.get2() > 0 ? roleFitData.get2() : 0d : 0d;
Color color = roleFitData != null ? Utils.getColor(roleFitData.get1()) : RingChart.GREEN; Color color = roleFitData != null ? Utils.getColor(roleFitData.get1()) : RingChart.GREEN;
return new RingChart(getID().toString() + "rolefit.jpeg").addData("Completed", score , color).addData("Incomplete", (100 - score), RingChart.GREY).getChartImage(); return new RingChart(getID().toString() + "rolefit.jpeg").addData("Completed", score , color).addData("Incomplete", (100 - score), RingChart.GREY).getChartImage();
......
...@@ -34,6 +34,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr ...@@ -34,6 +34,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
private Date dummyOpenDate; private Date dummyOpenDate;
private Date dummyApplyBy; private Date dummyApplyBy;
private Boolean dummyIncludeAssessmentCriteria; private Boolean dummyIncludeAssessmentCriteria;
private Boolean dummyIncludeCulture;
private AssessmentType dummyAssessmentType; private AssessmentType dummyAssessmentType;
private String dummyRandomKey; private String dummyRandomKey;
private JobType dummyJobType; private JobType dummyJobType;
...@@ -62,6 +63,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr ...@@ -62,6 +63,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
private static final DefaultAttributeHelper HELPER_OpenDate = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper HELPER_OpenDate = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_ApplyBy = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper HELPER_ApplyBy = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_IncludeAssessmentCriteria = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper HELPER_IncludeAssessmentCriteria = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_IncludeCulture = DefaultAttributeHelper.INSTANCE;
private static final EnumeratedAttributeHelper HELPER_AssessmentType = new EnumeratedAttributeHelper (AssessmentType.FACTORY_AssessmentType); private static final EnumeratedAttributeHelper HELPER_AssessmentType = new EnumeratedAttributeHelper (AssessmentType.FACTORY_AssessmentType);
private static final DefaultAttributeHelper HELPER_RandomKey = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper HELPER_RandomKey = DefaultAttributeHelper.INSTANCE;
private static final EnumeratedAttributeHelper HELPER_JobType = new EnumeratedAttributeHelper (JobType.FACTORY_JobType); private static final EnumeratedAttributeHelper HELPER_JobType = new EnumeratedAttributeHelper (JobType.FACTORY_JobType);
...@@ -93,6 +95,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr ...@@ -93,6 +95,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
dummyOpenDate = (Date)(HELPER_OpenDate.initialise (dummyOpenDate)); dummyOpenDate = (Date)(HELPER_OpenDate.initialise (dummyOpenDate));
dummyApplyBy = (Date)(HELPER_ApplyBy.initialise (dummyApplyBy)); dummyApplyBy = (Date)(HELPER_ApplyBy.initialise (dummyApplyBy));
dummyIncludeAssessmentCriteria = (Boolean)(HELPER_IncludeAssessmentCriteria.initialise (dummyIncludeAssessmentCriteria)); dummyIncludeAssessmentCriteria = (Boolean)(HELPER_IncludeAssessmentCriteria.initialise (dummyIncludeAssessmentCriteria));
dummyIncludeCulture = (Boolean)(HELPER_IncludeCulture.initialise (dummyIncludeCulture));
dummyAssessmentType = (AssessmentType)(HELPER_AssessmentType.initialise (dummyAssessmentType)); dummyAssessmentType = (AssessmentType)(HELPER_AssessmentType.initialise (dummyAssessmentType));
dummyRandomKey = (String)(HELPER_RandomKey.initialise (dummyRandomKey)); dummyRandomKey = (String)(HELPER_RandomKey.initialise (dummyRandomKey));
dummyJobType = (JobType)(HELPER_JobType.initialise (dummyJobType)); dummyJobType = (JobType)(HELPER_JobType.initialise (dummyJobType));
...@@ -115,7 +118,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr ...@@ -115,7 +118,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
} }
private String SELECT_COLUMNS = "{PREFIX}tl_job.object_id as id, {PREFIX}tl_job.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}tl_job.object_CREATED_DATE as CREATED_DATE, {PREFIX}tl_job.job_title, {PREFIX}tl_job.job_description, {PREFIX}tl_job.job_status, {PREFIX}tl_job.open_date, {PREFIX}tl_job.apply_by, {PREFIX}tl_job.include_assessment_criteria, {PREFIX}tl_job.assessment_type, {PREFIX}tl_job.random_key, {PREFIX}tl_job.job_type, {PREFIX}tl_job.ref_number, {PREFIX}tl_job.last_status_change_date, {PREFIX}tl_job.remote, {PREFIX}tl_job.city, {PREFIX}tl_job.postcode, {PREFIX}tl_job.location_radius, {PREFIX}tl_job.state, {PREFIX}tl_job.country, {PREFIX}tl_job.require_cv, {PREFIX}tl_job.manually_closed, {PREFIX}tl_job.last_edited, {PREFIX}tl_job.is_ppj, {PREFIX}tl_job.industry, {PREFIX}tl_job.culture_statement, {PREFIX}tl_job.draft_location, {PREFIX}tl_job.google_address_text, {PREFIX}tl_job.level_id, {PREFIX}tl_job.client_id, {PREFIX}tl_job.job_owner_id, {PREFIX}tl_job.company_user_id, {PREFIX}tl_job.hiring_team_id, {PREFIX}tl_job.occupation_id, {PREFIX}tl_job.shortened_url_id, {PREFIX}tl_job.template_id, {PREFIX}tl_job.job_title_id, 1 AS commasafe "; private String SELECT_COLUMNS = "{PREFIX}tl_job.object_id as id, {PREFIX}tl_job.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}tl_job.object_CREATED_DATE as CREATED_DATE, {PREFIX}tl_job.job_title, {PREFIX}tl_job.job_description, {PREFIX}tl_job.job_status, {PREFIX}tl_job.open_date, {PREFIX}tl_job.apply_by, {PREFIX}tl_job.include_assessment_criteria, {PREFIX}tl_job.include_culture, {PREFIX}tl_job.assessment_type, {PREFIX}tl_job.random_key, {PREFIX}tl_job.job_type, {PREFIX}tl_job.ref_number, {PREFIX}tl_job.last_status_change_date, {PREFIX}tl_job.remote, {PREFIX}tl_job.city, {PREFIX}tl_job.postcode, {PREFIX}tl_job.location_radius, {PREFIX}tl_job.state, {PREFIX}tl_job.country, {PREFIX}tl_job.require_cv, {PREFIX}tl_job.manually_closed, {PREFIX}tl_job.last_edited, {PREFIX}tl_job.is_ppj, {PREFIX}tl_job.industry, {PREFIX}tl_job.culture_statement, {PREFIX}tl_job.draft_location, {PREFIX}tl_job.google_address_text, {PREFIX}tl_job.level_id, {PREFIX}tl_job.client_id, {PREFIX}tl_job.job_owner_id, {PREFIX}tl_job.company_user_id, {PREFIX}tl_job.hiring_team_id, {PREFIX}tl_job.occupation_id, {PREFIX}tl_job.shortened_url_id, {PREFIX}tl_job.template_id, {PREFIX}tl_job.job_title_id, 1 AS commasafe ";
private String SELECT_JOINS = ""; private String SELECT_JOINS = "";
public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
...@@ -172,6 +175,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr ...@@ -172,6 +175,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
!tl_jobPSet.containsAttrib(Job.FIELD_OpenDate)|| !tl_jobPSet.containsAttrib(Job.FIELD_OpenDate)||
!tl_jobPSet.containsAttrib(Job.FIELD_ApplyBy)|| !tl_jobPSet.containsAttrib(Job.FIELD_ApplyBy)||
!tl_jobPSet.containsAttrib(Job.FIELD_IncludeAssessmentCriteria)|| !tl_jobPSet.containsAttrib(Job.FIELD_IncludeAssessmentCriteria)||
!tl_jobPSet.containsAttrib(Job.FIELD_IncludeCulture)||
!tl_jobPSet.containsAttrib(Job.FIELD_AssessmentType)|| !tl_jobPSet.containsAttrib(Job.FIELD_AssessmentType)||
!tl_jobPSet.containsAttrib(Job.FIELD_RandomKey)|| !tl_jobPSet.containsAttrib(Job.FIELD_RandomKey)||
!tl_jobPSet.containsAttrib(Job.FIELD_JobType)|| !tl_jobPSet.containsAttrib(Job.FIELD_JobType)||
...@@ -279,10 +283,10 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr ...@@ -279,10 +283,10 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
{ {
int rowsUpdated = executeStatement (sqlMgr, int rowsUpdated = executeStatement (sqlMgr,
"UPDATE {PREFIX}tl_job " + "UPDATE {PREFIX}tl_job " +
"SET job_title = ?, job_description = ?, job_status = ?, open_date = ?, apply_by = ?, include_assessment_criteria = ?, assessment_type = ?, random_key = ?, job_type = ?, ref_number = ?, last_status_change_date = ?, remote = ?, city = ?, postcode = ?, location_radius = ?, state = ?, country = ?, require_cv = ?, manually_closed = ?, last_edited = ?, is_ppj = ?, industry = ?, culture_statement = ?, draft_location = ?, google_address_text = ?, level_id = ? , client_id = ? , job_owner_id = ? , company_user_id = ? , hiring_team_id = ? , occupation_id = ? , shortened_url_id = ? , template_id = ? , job_title_id = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " + "SET job_title = ?, job_description = ?, job_status = ?, open_date = ?, apply_by = ?, include_assessment_criteria = ?, include_culture = ?, assessment_type = ?, random_key = ?, job_type = ?, ref_number = ?, last_status_change_date = ?, remote = ?, city = ?, postcode = ?, location_radius = ?, state = ?, country = ?, require_cv = ?, manually_closed = ?, last_edited = ?, is_ppj = ?, industry = ?, culture_statement = ?, draft_location = ?, google_address_text = ?, level_id = ? , client_id = ? , job_owner_id = ? , company_user_id = ? , hiring_team_id = ? , occupation_id = ? , shortened_url_id = ? , template_id = ? , job_title_id = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " +
"WHERE tl_job.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ", "WHERE tl_job.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ",
CollectionUtils.listEntry (HELPER_JobTitle.getForSQL(dummyJobTitle, tl_jobPSet.getAttrib (Job.FIELD_JobTitle))).listEntry (HELPER_JobDescription.getForSQL(dummyJobDescription, tl_jobPSet.getAttrib (Job.FIELD_JobDescription))).listEntry (HELPER_JobStatus.getForSQL(dummyJobStatus, tl_jobPSet.getAttrib (Job.FIELD_JobStatus))).listEntry (HELPER_OpenDate.getForSQL(dummyOpenDate, tl_jobPSet.getAttrib (Job.FIELD_OpenDate))).listEntry (HELPER_ApplyBy.getForSQL(dummyApplyBy, tl_jobPSet.getAttrib (Job.FIELD_ApplyBy))).listEntry (HELPER_IncludeAssessmentCriteria.getForSQL(dummyIncludeAssessmentCriteria, tl_jobPSet.getAttrib (Job.FIELD_IncludeAssessmentCriteria))).listEntry (HELPER_AssessmentType.getForSQL(dummyAssessmentType, tl_jobPSet.getAttrib (Job.FIELD_AssessmentType))).listEntry (HELPER_RandomKey.getForSQL(dummyRandomKey, tl_jobPSet.getAttrib (Job.FIELD_RandomKey))).listEntry (HELPER_JobType.getForSQL(dummyJobType, tl_jobPSet.getAttrib (Job.FIELD_JobType))).listEntry (HELPER_ReferenceNumber.getForSQL(dummyReferenceNumber, tl_jobPSet.getAttrib (Job.FIELD_ReferenceNumber))).listEntry (HELPER_LastStatusChangeDate.getForSQL(dummyLastStatusChangeDate, tl_jobPSet.getAttrib (Job.FIELD_LastStatusChangeDate))).listEntry (HELPER_Remote.getForSQL(dummyRemote, tl_jobPSet.getAttrib (Job.FIELD_Remote))).listEntry (HELPER_City.getForSQL(dummyCity, tl_jobPSet.getAttrib (Job.FIELD_City))).listEntry (HELPER_PostCode.getForSQL(dummyPostCode, tl_jobPSet.getAttrib (Job.FIELD_PostCode))).listEntry (HELPER_ExpectedCandidateRadius.getForSQL(dummyExpectedCandidateRadius, tl_jobPSet.getAttrib (Job.FIELD_ExpectedCandidateRadius))).listEntry (HELPER_State.getForSQL(dummyState, tl_jobPSet.getAttrib (Job.FIELD_State))).listEntry (HELPER_Country.getForSQL(dummyCountry, tl_jobPSet.getAttrib (Job.FIELD_Country))).listEntry (HELPER_RequireCV.getForSQL(dummyRequireCV, tl_jobPSet.getAttrib (Job.FIELD_RequireCV))).listEntry (HELPER_IsManuallyClosed.getForSQL(dummyIsManuallyClosed, tl_jobPSet.getAttrib (Job.FIELD_IsManuallyClosed))).listEntry (HELPER_LastEdited.getForSQL(dummyLastEdited, tl_jobPSet.getAttrib (Job.FIELD_LastEdited))).listEntry (HELPER_IsPPJ.getForSQL(dummyIsPPJ, tl_jobPSet.getAttrib (Job.FIELD_IsPPJ))).listEntry (HELPER_Industry.getForSQL(dummyIndustry, tl_jobPSet.getAttrib (Job.FIELD_Industry))).listEntry (HELPER_CultureStatement.getForSQL(dummyCultureStatement, tl_jobPSet.getAttrib (Job.FIELD_CultureStatement))).listEntry (HELPER_DraftLocation.getForSQL(dummyDraftLocation, tl_jobPSet.getAttrib (Job.FIELD_DraftLocation))).listEntry (HELPER_GoogleAddressText.getForSQL(dummyGoogleAddressText, tl_jobPSet.getAttrib (Job.FIELD_GoogleAddressText))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_Level)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_Client)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_JobOwner)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_CreatedBy)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_HiringTeam)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_Occupation)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_ShortenedURL)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_AssessmentTemplate)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_ILOJobTitle)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray()); CollectionUtils.listEntry (HELPER_JobTitle.getForSQL(dummyJobTitle, tl_jobPSet.getAttrib (Job.FIELD_JobTitle))).listEntry (HELPER_JobDescription.getForSQL(dummyJobDescription, tl_jobPSet.getAttrib (Job.FIELD_JobDescription))).listEntry (HELPER_JobStatus.getForSQL(dummyJobStatus, tl_jobPSet.getAttrib (Job.FIELD_JobStatus))).listEntry (HELPER_OpenDate.getForSQL(dummyOpenDate, tl_jobPSet.getAttrib (Job.FIELD_OpenDate))).listEntry (HELPER_ApplyBy.getForSQL(dummyApplyBy, tl_jobPSet.getAttrib (Job.FIELD_ApplyBy))).listEntry (HELPER_IncludeAssessmentCriteria.getForSQL(dummyIncludeAssessmentCriteria, tl_jobPSet.getAttrib (Job.FIELD_IncludeAssessmentCriteria))).listEntry (HELPER_IncludeCulture.getForSQL(dummyIncludeCulture, tl_jobPSet.getAttrib (Job.FIELD_IncludeCulture))).listEntry (HELPER_AssessmentType.getForSQL(dummyAssessmentType, tl_jobPSet.getAttrib (Job.FIELD_AssessmentType))).listEntry (HELPER_RandomKey.getForSQL(dummyRandomKey, tl_jobPSet.getAttrib (Job.FIELD_RandomKey))).listEntry (HELPER_JobType.getForSQL(dummyJobType, tl_jobPSet.getAttrib (Job.FIELD_JobType))).listEntry (HELPER_ReferenceNumber.getForSQL(dummyReferenceNumber, tl_jobPSet.getAttrib (Job.FIELD_ReferenceNumber))).listEntry (HELPER_LastStatusChangeDate.getForSQL(dummyLastStatusChangeDate, tl_jobPSet.getAttrib (Job.FIELD_LastStatusChangeDate))).listEntry (HELPER_Remote.getForSQL(dummyRemote, tl_jobPSet.getAttrib (Job.FIELD_Remote))).listEntry (HELPER_City.getForSQL(dummyCity, tl_jobPSet.getAttrib (Job.FIELD_City))).listEntry (HELPER_PostCode.getForSQL(dummyPostCode, tl_jobPSet.getAttrib (Job.FIELD_PostCode))).listEntry (HELPER_ExpectedCandidateRadius.getForSQL(dummyExpectedCandidateRadius, tl_jobPSet.getAttrib (Job.FIELD_ExpectedCandidateRadius))).listEntry (HELPER_State.getForSQL(dummyState, tl_jobPSet.getAttrib (Job.FIELD_State))).listEntry (HELPER_Country.getForSQL(dummyCountry, tl_jobPSet.getAttrib (Job.FIELD_Country))).listEntry (HELPER_RequireCV.getForSQL(dummyRequireCV, tl_jobPSet.getAttrib (Job.FIELD_RequireCV))).listEntry (HELPER_IsManuallyClosed.getForSQL(dummyIsManuallyClosed, tl_jobPSet.getAttrib (Job.FIELD_IsManuallyClosed))).listEntry (HELPER_LastEdited.getForSQL(dummyLastEdited, tl_jobPSet.getAttrib (Job.FIELD_LastEdited))).listEntry (HELPER_IsPPJ.getForSQL(dummyIsPPJ, tl_jobPSet.getAttrib (Job.FIELD_IsPPJ))).listEntry (HELPER_Industry.getForSQL(dummyIndustry, tl_jobPSet.getAttrib (Job.FIELD_Industry))).listEntry (HELPER_CultureStatement.getForSQL(dummyCultureStatement, tl_jobPSet.getAttrib (Job.FIELD_CultureStatement))).listEntry (HELPER_DraftLocation.getForSQL(dummyDraftLocation, tl_jobPSet.getAttrib (Job.FIELD_DraftLocation))).listEntry (HELPER_GoogleAddressText.getForSQL(dummyGoogleAddressText, tl_jobPSet.getAttrib (Job.FIELD_GoogleAddressText))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_Level)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_Client)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_JobOwner)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_CreatedBy)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_HiringTeam)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_Occupation)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_ShortenedURL)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_AssessmentTemplate)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_ILOJobTitle)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray());
if (rowsUpdated != 1) if (rowsUpdated != 1)
{ {
...@@ -708,6 +712,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr ...@@ -708,6 +712,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
tl_jobPSet.setAttrib(Job.FIELD_OpenDate, HELPER_OpenDate.getFromRS(dummyOpenDate, r, "open_date")); tl_jobPSet.setAttrib(Job.FIELD_OpenDate, HELPER_OpenDate.getFromRS(dummyOpenDate, r, "open_date"));
tl_jobPSet.setAttrib(Job.FIELD_ApplyBy, HELPER_ApplyBy.getFromRS(dummyApplyBy, r, "apply_by")); tl_jobPSet.setAttrib(Job.FIELD_ApplyBy, HELPER_ApplyBy.getFromRS(dummyApplyBy, r, "apply_by"));
tl_jobPSet.setAttrib(Job.FIELD_IncludeAssessmentCriteria, HELPER_IncludeAssessmentCriteria.getFromRS(dummyIncludeAssessmentCriteria, r, "include_assessment_criteria")); tl_jobPSet.setAttrib(Job.FIELD_IncludeAssessmentCriteria, HELPER_IncludeAssessmentCriteria.getFromRS(dummyIncludeAssessmentCriteria, r, "include_assessment_criteria"));
tl_jobPSet.setAttrib(Job.FIELD_IncludeCulture, HELPER_IncludeCulture.getFromRS(dummyIncludeCulture, r, "include_culture"));
tl_jobPSet.setAttrib(Job.FIELD_AssessmentType, HELPER_AssessmentType.getFromRS(dummyAssessmentType, r, "assessment_type")); tl_jobPSet.setAttrib(Job.FIELD_AssessmentType, HELPER_AssessmentType.getFromRS(dummyAssessmentType, r, "assessment_type"));
tl_jobPSet.setAttrib(Job.FIELD_RandomKey, HELPER_RandomKey.getFromRS(dummyRandomKey, r, "random_key")); tl_jobPSet.setAttrib(Job.FIELD_RandomKey, HELPER_RandomKey.getFromRS(dummyRandomKey, r, "random_key"));
tl_jobPSet.setAttrib(Job.FIELD_JobType, HELPER_JobType.getFromRS(dummyJobType, r, "job_type")); tl_jobPSet.setAttrib(Job.FIELD_JobType, HELPER_JobType.getFromRS(dummyJobType, r, "job_type"));
...@@ -753,10 +758,10 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr ...@@ -753,10 +758,10 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
{ {
executeStatement (sqlMgr, executeStatement (sqlMgr,
"INSERT INTO {PREFIX}tl_job " + "INSERT INTO {PREFIX}tl_job " +
" (job_title, job_description, job_status, open_date, apply_by, include_assessment_criteria, assessment_type, random_key, job_type, ref_number, last_status_change_date, remote, city, postcode, location_radius, state, country, require_cv, manually_closed, last_edited, is_ppj, industry, culture_statement, draft_location, google_address_text, level_id, client_id, job_owner_id, company_user_id, hiring_team_id, occupation_id, shortened_url_id, template_id, job_title_id, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " + " (job_title, job_description, job_status, open_date, apply_by, include_assessment_criteria, include_culture, assessment_type, random_key, job_type, ref_number, last_status_change_date, remote, city, postcode, location_radius, state, country, require_cv, manually_closed, last_edited, is_ppj, industry, culture_statement, draft_location, google_address_text, level_id, client_id, job_owner_id, company_user_id, hiring_team_id, occupation_id, shortened_url_id, template_id, job_title_id, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " +
"VALUES " + "VALUES " +
" (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")", " (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")",
CollectionUtils.listEntry (HELPER_JobTitle.getForSQL(dummyJobTitle, tl_jobPSet.getAttrib (Job.FIELD_JobTitle))).listEntry (HELPER_JobDescription.getForSQL(dummyJobDescription, tl_jobPSet.getAttrib (Job.FIELD_JobDescription))).listEntry (HELPER_JobStatus.getForSQL(dummyJobStatus, tl_jobPSet.getAttrib (Job.FIELD_JobStatus))).listEntry (HELPER_OpenDate.getForSQL(dummyOpenDate, tl_jobPSet.getAttrib (Job.FIELD_OpenDate))).listEntry (HELPER_ApplyBy.getForSQL(dummyApplyBy, tl_jobPSet.getAttrib (Job.FIELD_ApplyBy))).listEntry (HELPER_IncludeAssessmentCriteria.getForSQL(dummyIncludeAssessmentCriteria, tl_jobPSet.getAttrib (Job.FIELD_IncludeAssessmentCriteria))).listEntry (HELPER_AssessmentType.getForSQL(dummyAssessmentType, tl_jobPSet.getAttrib (Job.FIELD_AssessmentType))).listEntry (HELPER_RandomKey.getForSQL(dummyRandomKey, tl_jobPSet.getAttrib (Job.FIELD_RandomKey))).listEntry (HELPER_JobType.getForSQL(dummyJobType, tl_jobPSet.getAttrib (Job.FIELD_JobType))).listEntry (HELPER_ReferenceNumber.getForSQL(dummyReferenceNumber, tl_jobPSet.getAttrib (Job.FIELD_ReferenceNumber))).listEntry (HELPER_LastStatusChangeDate.getForSQL(dummyLastStatusChangeDate, tl_jobPSet.getAttrib (Job.FIELD_LastStatusChangeDate))).listEntry (HELPER_Remote.getForSQL(dummyRemote, tl_jobPSet.getAttrib (Job.FIELD_Remote))).listEntry (HELPER_City.getForSQL(dummyCity, tl_jobPSet.getAttrib (Job.FIELD_City))).listEntry (HELPER_PostCode.getForSQL(dummyPostCode, tl_jobPSet.getAttrib (Job.FIELD_PostCode))).listEntry (HELPER_ExpectedCandidateRadius.getForSQL(dummyExpectedCandidateRadius, tl_jobPSet.getAttrib (Job.FIELD_ExpectedCandidateRadius))).listEntry (HELPER_State.getForSQL(dummyState, tl_jobPSet.getAttrib (Job.FIELD_State))).listEntry (HELPER_Country.getForSQL(dummyCountry, tl_jobPSet.getAttrib (Job.FIELD_Country))).listEntry (HELPER_RequireCV.getForSQL(dummyRequireCV, tl_jobPSet.getAttrib (Job.FIELD_RequireCV))).listEntry (HELPER_IsManuallyClosed.getForSQL(dummyIsManuallyClosed, tl_jobPSet.getAttrib (Job.FIELD_IsManuallyClosed))).listEntry (HELPER_LastEdited.getForSQL(dummyLastEdited, tl_jobPSet.getAttrib (Job.FIELD_LastEdited))).listEntry (HELPER_IsPPJ.getForSQL(dummyIsPPJ, tl_jobPSet.getAttrib (Job.FIELD_IsPPJ))).listEntry (HELPER_Industry.getForSQL(dummyIndustry, tl_jobPSet.getAttrib (Job.FIELD_Industry))).listEntry (HELPER_CultureStatement.getForSQL(dummyCultureStatement, tl_jobPSet.getAttrib (Job.FIELD_CultureStatement))).listEntry (HELPER_DraftLocation.getForSQL(dummyDraftLocation, tl_jobPSet.getAttrib (Job.FIELD_DraftLocation))).listEntry (HELPER_GoogleAddressText.getForSQL(dummyGoogleAddressText, tl_jobPSet.getAttrib (Job.FIELD_GoogleAddressText))) .listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_Level)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_Client)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_JobOwner)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_CreatedBy)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_HiringTeam)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_Occupation)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_ShortenedURL)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_AssessmentTemplate)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_ILOJobTitle)))) .listEntry (objectID.longID ()).toList().toArray()); CollectionUtils.listEntry (HELPER_JobTitle.getForSQL(dummyJobTitle, tl_jobPSet.getAttrib (Job.FIELD_JobTitle))).listEntry (HELPER_JobDescription.getForSQL(dummyJobDescription, tl_jobPSet.getAttrib (Job.FIELD_JobDescription))).listEntry (HELPER_JobStatus.getForSQL(dummyJobStatus, tl_jobPSet.getAttrib (Job.FIELD_JobStatus))).listEntry (HELPER_OpenDate.getForSQL(dummyOpenDate, tl_jobPSet.getAttrib (Job.FIELD_OpenDate))).listEntry (HELPER_ApplyBy.getForSQL(dummyApplyBy, tl_jobPSet.getAttrib (Job.FIELD_ApplyBy))).listEntry (HELPER_IncludeAssessmentCriteria.getForSQL(dummyIncludeAssessmentCriteria, tl_jobPSet.getAttrib (Job.FIELD_IncludeAssessmentCriteria))).listEntry (HELPER_IncludeCulture.getForSQL(dummyIncludeCulture, tl_jobPSet.getAttrib (Job.FIELD_IncludeCulture))).listEntry (HELPER_AssessmentType.getForSQL(dummyAssessmentType, tl_jobPSet.getAttrib (Job.FIELD_AssessmentType))).listEntry (HELPER_RandomKey.getForSQL(dummyRandomKey, tl_jobPSet.getAttrib (Job.FIELD_RandomKey))).listEntry (HELPER_JobType.getForSQL(dummyJobType, tl_jobPSet.getAttrib (Job.FIELD_JobType))).listEntry (HELPER_ReferenceNumber.getForSQL(dummyReferenceNumber, tl_jobPSet.getAttrib (Job.FIELD_ReferenceNumber))).listEntry (HELPER_LastStatusChangeDate.getForSQL(dummyLastStatusChangeDate, tl_jobPSet.getAttrib (Job.FIELD_LastStatusChangeDate))).listEntry (HELPER_Remote.getForSQL(dummyRemote, tl_jobPSet.getAttrib (Job.FIELD_Remote))).listEntry (HELPER_City.getForSQL(dummyCity, tl_jobPSet.getAttrib (Job.FIELD_City))).listEntry (HELPER_PostCode.getForSQL(dummyPostCode, tl_jobPSet.getAttrib (Job.FIELD_PostCode))).listEntry (HELPER_ExpectedCandidateRadius.getForSQL(dummyExpectedCandidateRadius, tl_jobPSet.getAttrib (Job.FIELD_ExpectedCandidateRadius))).listEntry (HELPER_State.getForSQL(dummyState, tl_jobPSet.getAttrib (Job.FIELD_State))).listEntry (HELPER_Country.getForSQL(dummyCountry, tl_jobPSet.getAttrib (Job.FIELD_Country))).listEntry (HELPER_RequireCV.getForSQL(dummyRequireCV, tl_jobPSet.getAttrib (Job.FIELD_RequireCV))).listEntry (HELPER_IsManuallyClosed.getForSQL(dummyIsManuallyClosed, tl_jobPSet.getAttrib (Job.FIELD_IsManuallyClosed))).listEntry (HELPER_LastEdited.getForSQL(dummyLastEdited, tl_jobPSet.getAttrib (Job.FIELD_LastEdited))).listEntry (HELPER_IsPPJ.getForSQL(dummyIsPPJ, tl_jobPSet.getAttrib (Job.FIELD_IsPPJ))).listEntry (HELPER_Industry.getForSQL(dummyIndustry, tl_jobPSet.getAttrib (Job.FIELD_Industry))).listEntry (HELPER_CultureStatement.getForSQL(dummyCultureStatement, tl_jobPSet.getAttrib (Job.FIELD_CultureStatement))).listEntry (HELPER_DraftLocation.getForSQL(dummyDraftLocation, tl_jobPSet.getAttrib (Job.FIELD_DraftLocation))).listEntry (HELPER_GoogleAddressText.getForSQL(dummyGoogleAddressText, tl_jobPSet.getAttrib (Job.FIELD_GoogleAddressText))) .listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_Level)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_Client)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_JobOwner)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_CreatedBy)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_HiringTeam)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_Occupation)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_ShortenedURL)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_AssessmentTemplate)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_ILOJobTitle)))) .listEntry (objectID.longID ()).toList().toArray());
tl_jobPSet.setStatus (PersistentSetStatus.PROCESSED); tl_jobPSet.setStatus (PersistentSetStatus.PROCESSED);
} }
......
package performa.orm.types;
import java.util.*;
import oneit.utils.*;
/**
* This class was generated using constGen.bat.
* DO NOT MODIFY THIS CODE.
* Edit the associated .xml file, and regenerate this file
* constGen (directory) (file minus extension)
* e.g. constGen C:\...\sql FieldType
*/
public class AppView extends AbstractEnumerated
{
public static final EnumeratedFactory FACTORY_AppView = new AppViewFactory();
public static final AppView LIST = new AppView ("LIST", "LIST", "List", false);
public static final AppView GRID = new AppView ("GRID", "GRID", "Grid", false);
public static final AppView DETAILED_GRID = new AppView ("DETAILED_GRID", "DETAILED_GRID", "Detailed Grid", false);
private static final AppView[] allAppViews =
new AppView[] { LIST,GRID,DETAILED_GRID};
private static AppView[] getAllAppViews ()
{
return allAppViews;
}
private AppView (String name, String value, String description, boolean disabled)
{
super (name, value, description, disabled);
}
public static final Comparator COMPARE_BY_POSITION = new CompareEnumByPosition (allAppViews);
static
{
defineAdditionalData ();
}
public boolean isEqual (AppView other)
{
return this.name.equals (other.name);
}
public Enumeration getAllInstances ()
{
return AppView.getAll ();
}
private Object readResolve() throws java.io.ObjectStreamException
{
return AppView.forName (this.name);
}
public EnumeratedFactory getFactory ()
{
return FACTORY_AppView;
}
public static AppView forName (String name)
{
if (name == null) { return null; }
AppView[] all = getAllAppViews();
int enumIndex = AbstractEnumerated.getIndexForName (all, name);
return all[enumIndex];
}
public static AppView forValue (String value)
{
if (value == null) { return null; }
AppView[] all = getAllAppViews();
int enumIndex = AbstractEnumerated.getIndexForValue (getAllAppViews (), value);
return all[enumIndex];
}
public static java.util.Enumeration getAll ()
{
return AbstractEnumerated.getAll (getAllAppViews());
}
public static AppView[] getAppViewArray ()
{
return (AppView[])getAllAppViews().clone ();
}
public static void defineAdditionalData ()
{
}
static class AppViewFactory implements EnumeratedFactory
{
public AbstractEnumerated getForName (String name)
{
return AppView.forName (name);
}
public AbstractEnumerated getForValue (String name)
{
return AppView.forValue (name);
}
public Enumeration getAll ()
{
return AppView.getAll ();
}
}
public Map getAdditionalAttributes ()
{
Map attribs = new HashMap ();
return attribs;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<CONSTANT package="performa.orm.types" name="AppView">
<VALUE name="LIST" value="LIST" description="List"/>
<VALUE name="GRID" value="GRID" description="Grid"/>
<VALUE name="DETAILED_GRID" value="DETAILED_GRID" description="Detailed Grid"/>
</CONSTANT>
</ROOT>
\ No newline at end of file
...@@ -423,9 +423,29 @@ public class AnalysisEngine ...@@ -423,9 +423,29 @@ public class AnalysisEngine
TestAnalysis testAnalysis = candidate.getTestAnalysisFor(level); TestAnalysis testAnalysis = candidate.getTestAnalysisFor(level);
Map<FactorClass, Tuple.T3<Double, ColorCode, Double>> scoreMap = new HashMap(); Map<FactorClass, Tuple.T3<Double, ColorCode, Double>> scoreMap = new HashMap();
boolean isExpress = level.getAppliedToExpress();
if(testAnalysis != null && testAnalysis.getCandidateClassScoresCount() > 0) if(testAnalysis != null && testAnalysis.getCandidateClassScoresCount() > 0)
{ {
Tuple.T3<Double, ColorCode, Double> suitabilityScore = getSuitabilityScore(testAnalysis);
double totalPercentage = 0d;
int count = 0;
for(LevelClassCriteria levelClassCriteria : level.getLevelClassCriteriasSet())
{
FactorClass factorClass = levelClassCriteria.getFactorClass();
Filter<CandidateClassScore> candidateClassScoreFilter = CandidateClassScore.SearchByAll().andFactorClass(new EqualsFilter(factorClass));
CandidateClassScore candidateClassScore = testAnalysis.pipelineTestAnalysis().toCandidateClassScores(candidateClassScoreFilter).val();
if(isExpress && candidateClassScore != null)
{
totalPercentage += candidateClassScore.getWeightedPercentage();
count++;
}
}
double average = totalPercentage / count;
double ratio = (average / suitabilityScore.get2());
for(LevelClassCriteria levelClassCriteria : level.getLevelClassCriteriasSet()) for(LevelClassCriteria levelClassCriteria : level.getLevelClassCriteriasSet())
{ {
FactorClass factorClass = levelClassCriteria.getFactorClass(); FactorClass factorClass = levelClassCriteria.getFactorClass();
...@@ -437,16 +457,23 @@ public class AnalysisEngine ...@@ -437,16 +457,23 @@ public class AnalysisEngine
Double scorePercentage = 0d; Double scorePercentage = 0d;
ColorCode colorCode = null; ColorCode colorCode = null;
if(candidateClassScore != null && classNormalisation != null && NullArith.greaterThan(classNormalisation.getWghtStddevScore(), 0d)) if(isExpress && candidateClassScore != null)
{
score = (double)candidateClassScore.getWghtdClassScore();
scorePercentage = NullArith.round(NullArith.divide(candidateClassScore.getWeightedPercentage(), ratio), 2);
colorCode = candidateClassScore.getColorCode();
}
else if(candidateClassScore != null && classNormalisation != null && NullArith.greaterThan(classNormalisation.getWghtStddevScore(), 0d))
{ {
score = classNormalisation.getRoleFitScore(candidateClassScore.getWghtdClassScore()); score = classNormalisation.getRoleFitScore(candidateClassScore.getWghtdClassScore());
maxScore = classNormalisation.getRoleFitScore(candidateClassScore.getMaxWghtdClassScore()); maxScore = classNormalisation.getRoleFitScore(candidateClassScore.getMaxWghtdClassScore());
colorCode = candidateClassScore.getColorCode(); colorCode = candidateClassScore.getColorCode();
scorePercentage = NullArith.round(NullArith.divide(NullArith.multiply(score, 100), maxScore), 2); scorePercentage = NullArith.round(NullArith.divide(NullArith.multiply(score, 100), maxScore), 2);
} }
scoreMap.put(factorClass, new Tuple.T3(score, colorCode, scorePercentage)); scoreMap.put(factorClass, new Tuple.T3(score, colorCode, scorePercentage));
} }
scoreMap.put(null, getSuitabilityScore(testAnalysis)); scoreMap.put(null, suitabilityScore);
} }
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING1, "AnalysisEngine --> getRoleFitSuitability completed for candidate ", candidate, " Level ", level); LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING1, "AnalysisEngine --> getRoleFitSuitability completed for candidate ", candidate, " Level ", level);
......
...@@ -275,12 +275,20 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant ...@@ -275,12 +275,20 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant
if(message.getAllRecipients() != null && message.getAllRecipients().length > 0) if(message.getAllRecipients() != null && message.getAllRecipients().length > 0)
{ {
tmpRecipient = ((InternetAddress) message.getAllRecipients()[0]).getAddress(); for(Address receipientAddress : message.getAllRecipients())
} {
tmpRecipient = ((InternetAddress)receipientAddress).getAddress();
if(StringUtils.subBlanks(tmpRecipient) != null) if(StringUtils.subBlanks(tmpRecipient) != null && tmpRecipient.contains("job"))
{ {
tmpJobId = getJobIdentifierFromEmail(tmpRecipient); tmpJobId = getJobIdentifierFromEmail(tmpRecipient);
if(tmpJobId != null && !tmpJobId.isEmpty() && StringUtils.isNumber(tmpJobId))
{
break;
}
}
}
} }
tmpEmailText = EmailFetcher.getText(message, new ArrayList<>()); tmpEmailText = EmailFetcher.getText(message, new ArrayList<>());
......
...@@ -4447,6 +4447,14 @@ no-applicant.inactive a:hover,no-applicant.inactive a:hover span{ ...@@ -4447,6 +4447,14 @@ no-applicant.inactive a:hover,no-applicant.inactive a:hover span{
text-transform: uppercase; text-transform: uppercase;
width: 20%; width: 20%;
} }
.appli-jcs3 {
color: #4a4a4a;
font-size: 11px;
letter-spacing: 1px;
padding: 26px 18px 5px;
text-transform: uppercase;
width: 40%;
}
.appli-overall{ .appli-overall{
color: #4a4a4a; color: #4a4a4a;
font-size: 11px; font-size: 11px;
...@@ -4678,12 +4686,24 @@ span.right-img { ...@@ -4678,12 +4686,24 @@ span.right-img {
margin-right: 8px; margin-right: 8px;
margin-top: 4px; margin-top: 4px;
} }
.detailed-grid-list a:before{
background-image: url('../images/details-icon-black.jpg');
width: 13px;
height: 13px;
content: '';
float: left;
margin-right: 8px;
margin-top: 4px;
}
.short-list.active a:before{ .short-list.active a:before{
background-image: url('../images/list-active.png'); background-image: url('../images/list-active.png');
} }
.grid-list.active a:before{ .grid-list.active a:before{
background-image: url('../images/grid-active.png'); background-image: url('../images/grid-active.png');
} }
.detailed-grid-list.active a:before{
background-image: url('../images/details-icon.jpg');
}
.appli-list-shorting.main-shortlist{ .appli-list-shorting.main-shortlist{
margin-top: 0; margin-top: 0;
} }
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
<NODE name="dynamic_content_form::ADMIN_PORTAL" factory="Participant"> <NODE name="dynamic_content_form::ADMIN_PORTAL" factory="Participant">
<FORM name="*.changeAssessmentCriteria" factory="Participant" class="performa.form.ChangeAssessmentCriteriaFP"/> <FORM name="*.changeAssessmentCriteria" factory="Participant" class="performa.form.ChangeAssessmentCriteriaFP"/>
<FORM name="*.changeCultureCriteria" factory="Participant" class="performa.form.ChangeCultureCriteriaFP"/>
<FORM name="*.saveJob" factory="Participant" class="performa.form.SaveJobFP"/> <FORM name="*.saveJob" factory="Participant" class="performa.form.SaveJobFP"/>
<FORM name="*.saveRequirementTemplate" factory="Participant" class="performa.form.SaveRequirementsTemplateFP"/> <FORM name="*.saveRequirementTemplate" factory="Participant" class="performa.form.SaveRequirementsTemplateFP"/>
<FORM name="*.saveCultureTemplate" factory="Participant" class="performa.form.SaveCultureTemplateFP"/> <FORM name="*.saveCultureTemplate" factory="Participant" class="performa.form.SaveCultureTemplateFP"/>
......
...@@ -242,6 +242,10 @@ ...@@ -242,6 +242,10 @@
<label class="label-16 blue-label">Culture</label> <label class="label-16 blue-label">Culture</label>
</div> </div>
<div class="form-brack-line-sub"></div> <div class="form-brack-line-sub"></div>
<%
if(job.showCultureCriteriaSection())
{
%>
<div class="row"> <div class="row">
<div class="col-md-12 review-medium-title"> <div class="col-md-12 review-medium-title">
<oneit:label GUIName="Organisation Culture Statement" /> <oneit:label GUIName="Organisation Culture Statement" />
...@@ -279,6 +283,7 @@ ...@@ -279,6 +283,7 @@
<% <%
} }
} }
}
%> %>
</div> </div>
<% <%
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
} }
%> %>
</span> by <oneit:toString value="<%= job.getCreatedBy() %>" mode="EscapeHTML" nullValue=""/> &nbsp;&nbsp;.&nbsp;&nbsp; </span> by <oneit:toString value="<%= job.getCreatedBy() %>" mode="EscapeHTML" nullValue=""/> &nbsp;&nbsp;.&nbsp;&nbsp;
<oneit:toString value="<%= job.getLevel() %>" mode="EscapeHTML" /> <oneit:toString value="<%= job.getOccupation() %>" mode="EscapeHTML" />
</div> </div>
</div> </div>
<div class="white-header"> <div class="white-header">
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
<div class="view-appli-list"> <div class="view-appli-list">
<!--Requirements--> <!--Requirements-->
<% <%
if(job.getIncludeAssessmentCriteria() == Boolean.TRUE) if(job.showAssessmentCriteriaSection())
{ {
%> %>
<table width="100%" cellspacing="0" cellpadding="0" class="charts-table"> <table width="100%" cellspacing="0" cellpadding="0" class="charts-table">
...@@ -304,7 +304,7 @@ ...@@ -304,7 +304,7 @@
for(FactorClass factorClass : factorClassDtls.keySet()) for(FactorClass factorClass : factorClassDtls.keySet())
{ {
Map<FactorLevelLink, Map> factorDetails = factorClassDtls.get(factorClass); Map<FactorLevelLink, Map> factorDetails = factorClassDtls.get(factorClass);
Double rating = roleScoreMap.get(factorClass).get2(); Double rating = roleScoreMap.get(factorClass).get2() > 0 ? roleScoreMap.get(factorClass).get2() : 0d;
index++; index++;
...@@ -382,6 +382,7 @@ ...@@ -382,6 +382,7 @@
</div> </div>
</span> </span>
</div> </div>
<% <%
if(detailed) if(detailed)
{ {
...@@ -433,7 +434,7 @@ ...@@ -433,7 +434,7 @@
</tr> </tr>
</table> </table>
<% <%
if(detailed) if(detailed && job.showCultureCriteriaSection())
{ {
%> %>
<p style="page-break-before: always"></p> <p style="page-break-before: always"></p>
...@@ -442,6 +443,10 @@ ...@@ -442,6 +443,10 @@
%> %>
<!--Culture Fit Data--> <!--Culture Fit Data-->
<%
if(job.showCultureCriteriaSection())
{
%>
<table width="100%" cellspacing="0" cellpadding="0" class="charts-table culture"> <table width="100%" cellspacing="0" cellpadding="0" class="charts-table culture">
<tr> <tr>
<td class="chart-cell"> <td class="chart-cell">
...@@ -543,6 +548,9 @@ ...@@ -543,6 +548,9 @@
</td> </td>
</tr> </tr>
</table> </table>
<%
}
%>
</div> </div>
</div> </div>
</oneit:dynIncluded> </oneit:dynIncluded>
\ No newline at end of file
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
Job job = (Job) process.getAttribute("Job"); Job job = (Job) process.getAttribute("Job");
ApplicationStatus appStatus = (ApplicationStatus) getData(request, "WorkFlowStatus"); ApplicationStatus appStatus = (ApplicationStatus) getData(request, "WorkFlowStatus");
WorkFlow workFlow = (WorkFlow) getData(request, "WorkFlow"); WorkFlow workFlow = (WorkFlow) getData(request, "WorkFlow");
boolean showList = (boolean) getData(request, "ShowList"); AppView appView = (AppView) getData(request, "AppView");
String applicantsPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS); String applicantsPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS);
List<JobApplication> applications = (List<JobApplication>) getData(request, "applications"); List<JobApplication> applications = (List<JobApplication>) getData(request, "applications");
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
applicantPage="<%= false %>" applicantPage="<%= false %>"
applications="<%= applications %>" applications="<%= applications %>"
WorkFlow="<%= workFlow %>" WorkFlow="<%= workFlow %>"
ShowList="<%= showList %>"/> AppView="<%= appView %>"/>
<div class="int-timeline"> <div class="int-timeline">
<ul> <ul>
<li class="<%= "incomplete " + (noOfIncomplete > 0 ? "has-applicant" : "no-applicant") %> <%= appStatus == ApplicationStatus.DRAFT ? "active" : "inactive" %>"> <li class="<%= "incomplete " + (noOfIncomplete > 0 ? "has-applicant" : "no-applicant") %> <%= appStatus == ApplicationStatus.DRAFT ? "active" : "inactive" %>">
......
...@@ -112,6 +112,10 @@ ...@@ -112,6 +112,10 @@
<oneit:toString value="<%= jobApplication.getRoleFitPercentage() %>" mode="PercentageWholeNumber" /> <oneit:toString value="<%= jobApplication.getRoleFitPercentage() %>" mode="PercentageWholeNumber" />
</div> </div>
</div> </div>
<%
if(job.showCultureCriteriaSection())
{
%>
<div class="culture jcc"> <div class="culture jcc">
<div class="jcc-title"> <div class="jcc-title">
<img src="file:///<%= PDFUtils.FILE_BASE_PATH %>/images/culture-icon.png" /> culture fit <img src="file:///<%= PDFUtils.FILE_BASE_PATH %>/images/culture-icon.png" /> culture fit
...@@ -120,9 +124,10 @@ ...@@ -120,9 +124,10 @@
<oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="PercentageWholeNumber" /> <oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="PercentageWholeNumber" />
</div> </div>
</div> </div>
<% <%
if(job.getIncludeAssessmentCriteria()==Boolean.TRUE) }
if(job.showAssessmentCriteriaSection())
{ {
%> %>
<div class="criteria jcc <%=(missingReq ? "red-bg" : "green-bg")%> "> <div class="criteria jcc <%=(missingReq ? "red-bg" : "green-bg")%> ">
......
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
%> %>
</span> by <oneit:toString value="<%= job.getCreatedBy() %>" mode="EscapeHTML" nullValue=""/> </span> by <oneit:toString value="<%= job.getCreatedBy() %>" mode="EscapeHTML" nullValue=""/>
&nbsp;&nbsp;.&nbsp;&nbsp; &nbsp;&nbsp;.&nbsp;&nbsp;
<oneit:toString value="<%= job.getLevel() %>" mode="EscapeHTML" /> <oneit:toString value="<%= job.getOccupation() %>" mode="EscapeHTML" />
</div> </div>
</div> </div>
...@@ -114,7 +114,10 @@ ...@@ -114,7 +114,10 @@
</span> </span>
role fit role fit
</div> </div>
<%
if(job.showCultureCriteriaSection())
{
%>
<div class="appli-jcs appli-l eq-second-height"> <div class="appli-jcs appli-l eq-second-height">
<span class="appli-view-bar"> <span class="appli-view-bar">
<div class="progress"> <div class="progress">
...@@ -127,7 +130,9 @@ ...@@ -127,7 +130,9 @@
culture fit culture fit
</div> </div>
<% <%
if(job.getIncludeAssessmentCriteria() == Boolean.TRUE) }
if(job.showAssessmentCriteriaSection())
{ {
long criteriaVal = jobApplication.getRequirementFitScore(); long criteriaVal = jobApplication.getRequirementFitScore();
String criteria = FormatUtils.stringify(criteriaVal, "PercentageWholeNumber", "0"); String criteria = FormatUtils.stringify(criteriaVal, "PercentageWholeNumber", "0");
......
...@@ -9,9 +9,10 @@ ...@@ -9,9 +9,10 @@
Job job = (Job) process.getAttribute("Job"); Job job = (Job) process.getAttribute("Job");
AppSortOption appSortOpt = (AppSortOption) getData(request, "SortOption"); AppSortOption appSortOpt = (AppSortOption) getData(request, "SortOption");
ApplicationStatus workflowStatus = (ApplicationStatus) getData(request, "WorkFlowStatus"); ApplicationStatus workflowStatus = (ApplicationStatus) getData(request, "WorkFlowStatus");
boolean isDraft = workflowStatus == ApplicationStatus.DRAFT;
ApplicationFilter appFilter = (ApplicationFilter) getData(request, "ApplicationFilter"); ApplicationFilter appFilter = (ApplicationFilter) getData(request, "ApplicationFilter");
Boolean showOrderBy = getData(request, "ShowOrderBy")!= null ? (Boolean) getData(request, "ShowOrderBy") : Boolean.FALSE; Boolean showOrderBy = getData(request, "ShowOrderBy")!= null ? (Boolean) getData(request, "ShowOrderBy") : Boolean.FALSE;
boolean showList = (boolean) getData(request,"ShowList"); AppView appView = (AppView) getData(request,"AppView");
SearchApplicant searchApplicant = (SearchApplicant) getData(request, "SearchApplicant"); SearchApplicant searchApplicant = (SearchApplicant) getData(request, "SearchApplicant");
String applicantsPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS) + "&JobID=" + job.getID() + "&WorkFlowStatus=" + workflowStatus.getName(); String applicantsPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS) + "&JobID=" + job.getID() + "&WorkFlowStatus=" + workflowStatus.getName();
List<WorkFlow> sortedWorkFlows = ObjstoreUtils.sort(job.getApplicantWFs(), List<WorkFlow> sortedWorkFlows = ObjstoreUtils.sort(job.getApplicantWFs(),
...@@ -42,7 +43,8 @@ ...@@ -42,7 +43,8 @@
}); });
function enableBulkEdit() { function enableBulkEdit() {
$("[name$='AppStatusWorkFlow']").prop("disabled",$('input[class=applicant]:checked').length===0); var disable = <%= isDraft %> || $('input[class=applicant]:checked').length === 0;
$("[name$='AppStatusWorkFlow']").prop("disabled", disable);
} }
$(function(){ $(function(){
...@@ -74,16 +76,22 @@ ...@@ -74,16 +76,22 @@
%> %>
<ul class=""> <ul class="">
<li class="lable-appli-shorting">View</li> <li class="lable-appli-shorting">View</li>
<li class="<%= (showList ? "active" : "" ) + " short-list"%>"> <li class="<%= (appView == AppView.LIST ? "active" : "" ) + " short-list"%>">
<oneit:button value="List" name="gotoPage" skin="link" <oneit:button value="List" name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage) requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("ShowList", true).toMap()) .mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("AppView", AppView.LIST).toMap())
.toMap() %>"/> .toMap() %>"/>
</li> </li>
<li class="<%= (!showList ? "active" : "" ) + " grid-list"%>"> <li class="<%= (appView == AppView.GRID ? "active" : "" ) + " grid-list"%>">
<oneit:button value="Grid" name="gotoPage" skin="link" <oneit:button value="Grid" name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage) requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("ShowList", false).toMap()) .mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("AppView", AppView.GRID).toMap())
.toMap() %>"/>
</li>
<li class="<%= (appView == AppView.DETAILED_GRID ? "active" : "" ) + " detailed-grid-list"%>">
<oneit:button value="Detailed Grid" name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("AppView", AppView.DETAILED_GRID).toMap())
.toMap() %>"/> .toMap() %>"/>
</li> </li>
</ul> </ul>
......
...@@ -20,6 +20,8 @@ ...@@ -20,6 +20,8 @@
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function() $(document).ready(function()
{ {
$("[name$='WorkFlow']").prop("disabled",true);
$("[name$='WorkFlow']").change(function() $("[name$='WorkFlow']").change(function()
{ {
var id = $(this).closest('.appli-row').attr('id'); var id = $(this).closest('.appli-row').attr('id');
...@@ -139,14 +141,10 @@ ...@@ -139,14 +141,10 @@
</div> </div>
</div> </div>
<% <%
String widthClass = "appli-jcs2"; String widthClass = (job.showAssessmentCriteriaSection() && job.showCultureCriteriaSection()) ? "appli-jcs" :
(job.showAssessmentCriteriaSection() || job.showCultureCriteriaSection()) ? "appli-jcs2" : "appli-jcs3";
if(job.getIncludeAssessmentCriteria() == Boolean.TRUE) if(job.showAssessmentCriteriaSection())
{
widthClass = "appli-jcs";
}
if(job.getIncludeAssessmentCriteria() == Boolean.TRUE)
{ {
%> %>
<div class="<%= widthClass %> appli-l eq-second-height"> <div class="<%= widthClass %> appli-l eq-second-height">
...@@ -166,6 +164,9 @@ ...@@ -166,6 +164,9 @@
</div> </div>
<% <%
} }
if(job.showCultureCriteriaSection())
{
%> %>
<div class="<%= widthClass %> appli-l eq-second-height"> <div class="<%= widthClass %> appli-l eq-second-height">
<span class="appli-view-bar"> <span class="appli-view-bar">
...@@ -179,6 +180,9 @@ ...@@ -179,6 +180,9 @@
</span> </span>
culture fit culture fit
</div> </div>
<%
}
%>
<div class="<%= widthClass %> appli-l eq-second-height"> <div class="<%= widthClass %> appli-l eq-second-height">
<span class="appli-view-bar"> <span class="appli-view-bar">
<div class="progress"> <div class="progress">
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<% <%
Job job = (Job) process.getAttribute("Job"); Job job = (Job) process.getAttribute("Job");
boolean applicantPage = (boolean) getData(request, "applicantPage"); boolean applicantPage = (boolean) getData(request, "applicantPage");
boolean showList = (boolean) getData(request, "ShowList"); AppView appView = (AppView) getData(request, "AppView");
WorkFlow workFlow = (WorkFlow) getData(request, "WorkFlow"); WorkFlow workFlow = (WorkFlow) getData(request, "WorkFlow");
String editJobPage = WebUtils.getSamePageInRenderMode(request, WebUtils.EDIT_JOB); String editJobPage = WebUtils.getSamePageInRenderMode(request, WebUtils.EDIT_JOB);
String sharePage = WebUtils.getSamePageInRenderMode(request, WebUtils.CREATED_JOB); String sharePage = WebUtils.getSamePageInRenderMode(request, WebUtils.CREATED_JOB);
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
<div class="off-name"> <div class="off-name">
<oneit:toString value="<%= job.getAssessmentType() %>" mode="EscapeHTML" nullValue=""/>: <oneit:toString value="<%= job.getAssessmentType() %>" mode="EscapeHTML" nullValue=""/>:
<span class="ex-management"> <span class="ex-management">
<oneit:toString value="<%= job.getLevel() %>" mode="EscapeHTML" /> <oneit:toString value="<%= job.getOccupation() %>" mode="EscapeHTML" />
</span> </span>
</div> </div>
<div class="off-name"> <div class="off-name">
...@@ -124,11 +124,11 @@ ...@@ -124,11 +124,11 @@
EDIT JOB EDIT JOB
</oneit:button> </oneit:button>
<% <%
if(!applicantPage || !job.isExpressJob()) if(applicantPage)
{ {
%> %>
<oneit:button value=" " cssClass="job-edit-menu-item" name="downloadApplicantReport" skin="link" <oneit:button value=" " cssClass="job-edit-menu-item" name="downloadApplicantReport" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("ShowList", showList) requestAttribs="<%= CollectionUtils.mapEntry("AppView", appView)
.mapEntry("ApplicantPage", applicantPage) .mapEntry("ApplicantPage", applicantPage)
.mapEntry("Applications", applications) .mapEntry("Applications", applications)
.mapEntry("Detailed", false) .mapEntry("Detailed", false)
...@@ -136,14 +136,9 @@ ...@@ -136,14 +136,9 @@
.toMap() %>"> .toMap() %>">
EXPORT APPLICANT REPORT EXPORT APPLICANT REPORT
</oneit:button> </oneit:button>
<%
}
if(applicantPage)
{
%>
<oneit:button value=" " cssClass="job-edit-menu-item" name="downloadApplicantReport" skin="link" <oneit:button value=" " cssClass="job-edit-menu-item" name="downloadApplicantReport" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("ShowList", showList) requestAttribs="<%= CollectionUtils.mapEntry("AppView", appView)
.mapEntry("ApplicantPage", applicantPage) .mapEntry("ApplicantPage", applicantPage)
.mapEntry("Applications", applications) .mapEntry("Applications", applications)
.mapEntry("Detailed", true) .mapEntry("Detailed", true)
......
...@@ -104,6 +104,10 @@ ...@@ -104,6 +104,10 @@
</oneit:button> </oneit:button>
</span> </span>
</div> </div>
<%
if(job.showCultureCriteriaSection())
{
%>
<div class="culture jcc"> <div class="culture jcc">
<img src="images/culture-icon.svg"> culture fit <img src="images/culture-icon.svg"> culture fit
<span> <span>
...@@ -116,7 +120,9 @@ ...@@ -116,7 +120,9 @@
</span> </span>
</div> </div>
<% <%
if(job.getIncludeAssessmentCriteria()==Boolean.TRUE) }
if(job.showAssessmentCriteriaSection())
{ {
%> %>
<div class="criteria jcc <%=(missingReq ? "red-bg" : "green-bg")%> "> <div class="criteria jcc <%=(missingReq ? "red-bg" : "green-bg")%> ">
......
...@@ -75,12 +75,8 @@ ...@@ -75,12 +75,8 @@
</div> </div>
</div> </div>
<% <%
String widthClass = "appli-jcs2"; String widthClass = (job.showAssessmentCriteriaSection() && job.showCultureCriteriaSection()) ? "appli-jcs" :
(job.showAssessmentCriteriaSection() || job.showCultureCriteriaSection()) ? "appli-jcs2" : "appli-jcs3";
if(job.getIncludeAssessmentCriteria() == Boolean.TRUE)
{
widthClass = "appli-jcs";
}
%> %>
<div class="<%= widthClass %> appli-l eq-second-height"> <div class="<%= widthClass %> appli-l eq-second-height">
<span class="appli-view-bar"> <span class="appli-view-bar">
...@@ -94,6 +90,10 @@ ...@@ -94,6 +90,10 @@
</span> </span>
role fit role fit
</div> </div>
<%
if(job.showCultureCriteriaSection())
{
%>
<div class="<%= widthClass %> appli-l eq-second-height"> <div class="<%= widthClass %> appli-l eq-second-height">
<span class="appli-view-bar"> <span class="appli-view-bar">
<div class="progress"> <div class="progress">
...@@ -107,7 +107,9 @@ ...@@ -107,7 +107,9 @@
culture fit culture fit
</div> </div>
<% <%
if(job.getIncludeAssessmentCriteria() == Boolean.TRUE) }
if(job.showAssessmentCriteriaSection())
{ {
%> %>
<div class="<%= widthClass %> appli-l eq-second-height"> <div class="<%= widthClass %> appli-l eq-second-height">
......
...@@ -180,6 +180,9 @@ ...@@ -180,6 +180,9 @@
</div> </div>
<% <%
} }
if(job.showCultureCriteriaSection())
{
%> %>
<div class="culture jcc"> <div class="culture jcc">
<img src="images/culture-icon.svg"> culture fit <img src="images/culture-icon.svg"> culture fit
...@@ -212,7 +215,9 @@ ...@@ -212,7 +215,9 @@
%> %>
</div> </div>
<% <%
if(job.getIncludeAssessmentCriteria()==Boolean.TRUE) }
if(job.showAssessmentCriteriaSection())
{ {
%> %>
<div class="jcc"> <div class="jcc">
......
...@@ -153,10 +153,10 @@ ...@@ -153,10 +153,10 @@
List<Tuple.T2> cultureConcerns = jobApplication.getCultureAreaOfConcerns(); List<Tuple.T2> cultureConcerns = jobApplication.getCultureAreaOfConcerns();
%> %>
<div class="applicant-progress"> <div class="applicant-progress">
<div class="<%= job.getIncludeAssessmentCriteria()==Boolean.TRUE ? "col-sm-4" : "col-sm-6" %> col-xs-12 text-center thr-block role-fit" href="#1a" data-toggle="tab" id="progress1" onClick="tabToggle('#tab1', '.role-fit')"> <div class="<%= job.getNumberOfSections() == 3 ? "col-sm-4" : job.getNumberOfSections() == 2 ? "col-sm-6" : "col-sm-12" %> col-xs-12 text-center thr-block role-fit" href="#1a" data-toggle="tab" id="progress1" onClick="tabToggle('#tab1', '.role-fit')">
<label class="progress-label">role fit</label> <label class="progress-label">role fit</label>
<div class="<%= colorClass %> fixed-width"> <div class="<%= colorClass %> fixed-width">
<p style="display:none;"><oneit:toString value="<%= roleFitData!=null ? roleFitData.get2() : 0d %>" mode="TwoDPDouble" nullValue="0"/></p> <p style="display:none;"><oneit:toString value="<%= roleFitData!=null ? roleFitData.get2() > 0 ? roleFitData.get2() : 0d : 0d %>" mode="TwoDPDouble" nullValue="0"/></p>
</div> </div>
<div class="row four-label"> <div class="row four-label">
<% <%
...@@ -202,7 +202,11 @@ ...@@ -202,7 +202,11 @@
%> %>
</div> </div>
</div> </div>
<div class="<%= job.getIncludeAssessmentCriteria()==Boolean.TRUE ? "col-sm-4" : "col-sm-6" %> col-xs-12 text-center thr-block culture-fit" href="#2a" data-toggle="tab" id="progress2" onClick="tabToggle('#tab2', '.culture-fit')"> <%
if(job.showCultureCriteriaSection())
{
%>
<div class="<%= job.getNumberOfSections() == 3 ? "col-sm-4" : job.getNumberOfSections() == 2 ? "col-sm-6" : "col-sm-12" %> col-xs-12 text-center thr-block culture-fit" href="#2a" data-toggle="tab" id="progress2" onClick="tabToggle('#tab2', '.culture-fit')">
<label class="progress-label">culture fit</label> <label class="progress-label">culture fit</label>
<div class="<%= "percent-" + jobApplication.getCultureFitColor() + " fixed-width" %>"> <div class="<%= "percent-" + jobApplication.getCultureFitColor() + " fixed-width" %>">
<p style="display:none;"><oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="TwoDPDouble" /></p> <p style="display:none;"><oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="TwoDPDouble" /></p>
...@@ -253,10 +257,12 @@ ...@@ -253,10 +257,12 @@
</div> </div>
</div> </div>
<% <%
if(job.getIncludeAssessmentCriteria()==Boolean.TRUE) }
if(job.showAssessmentCriteriaSection())
{ {
%> %>
<div class="col-sm-4 col-xs-12 text-center thr-block requirement-fit" href="#3a" data-toggle="tab" id="progress3" onClick="tabToggle('#tab3','.requirement-fit')"> <div class="<%= job.getNumberOfSections() == 3 ? "col-sm-4" : job.getNumberOfSections() == 2 ? "col-sm-6" : "col-sm-12" %> col-xs-12 text-center thr-block requirement-fit" href="#3a" data-toggle="tab" id="progress3" onClick="tabToggle('#tab3','.requirement-fit')">
<label class="progress-label">requirements</label> <label class="progress-label">requirements</label>
<div class="<%= "percent-" + jobApplication.getRequirementFitColor() + " fixed-width progress-circle" %>"> <div class="<%= "percent-" + jobApplication.getRequirementFitColor() + " fixed-width progress-circle" %>">
<% if (missingReq) { %> <% if (missingReq) { %>
...@@ -330,7 +336,7 @@ ...@@ -330,7 +336,7 @@
} }
Map<FactorLevelLink, Map> factorDetails = factorClassDtls.get(factorClass); Map<FactorLevelLink, Map> factorDetails = factorClassDtls.get(factorClass);
Double rating = roleScoreMap.get(factorClass).get2(); Double rating = roleScoreMap.get(factorClass).get2() > 0 ? roleScoreMap.get(factorClass).get2() : 0d;
ColorCode colorCode = roleScoreMap.get(factorClass).get1(); ColorCode colorCode = roleScoreMap.get(factorClass).get1();
String cssClass = colorCode != null ? colorCode.getCSSClass() : ""; String cssClass = colorCode != null ? colorCode.getCSSClass() : "";
%> %>
...@@ -346,7 +352,6 @@ ...@@ -346,7 +352,6 @@
<span class="expand-box"> <span class="expand-box">
<span class="hasarrow"><img src="images/select-down-arrow.svg"></span> <span class="hasarrow"><img src="images/select-down-arrow.svg"></span>
</span> </span>
</div> </div>
<div class="core-values expand-hide-tag"> <div class="core-values expand-hide-tag">
......
...@@ -298,7 +298,10 @@ ...@@ -298,7 +298,10 @@
</div> </div>
<div class="form-brack-line-sub"></div> <div class="form-brack-line-sub"></div>
<%
if(job.showCultureCriteriaSection())
{
%>
<div class="row"> <div class="row">
<div class="col-md-12 review-medium-title"> <div class="col-md-12 review-medium-title">
<oneit:label GUIName="Organisation Culture Statement" /> <oneit:label GUIName="Organisation Culture Statement" />
...@@ -349,6 +352,9 @@ ...@@ -349,6 +352,9 @@
} }
%> %>
</div> </div>
<%
}
%>
<div class="text-center"> <div class="text-center">
<oneit:button value="Save as Draft and go to your jobs" name="saveJob" cssClass="btn btn-primary btn-gray largeBtn" <oneit:button value="Save as Draft and go to your jobs" name="saveJob" cssClass="btn btn-primary btn-gray largeBtn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", jobsPage) requestAttribs="<%= CollectionUtils.mapEntry("nextPage", jobsPage)
......
<?xml version="1.0" encoding="UTF-8"?>
<!-- @AutoRun -->
<OBJECTS name="" xmlns:oneit="http://www.1iT.com.au">
<NODE name="Script" factory="Vector">
<NODE name="DDL" factory="Participant" class="oneit.sql.transfer.RedefineTableOperation">
<tableName factory="String">tl_job</tableName>
<column name="include_culture" type="Boolean" nullable="true"/>
</NODE>
</NODE>
</OBJECTS>
\ No newline at end of file
update tl_job set include_culture = 'Y' where include_culture is null;
...@@ -113,30 +113,25 @@ ...@@ -113,30 +113,25 @@
applicantList = job.filterEssentialRequirements(appFilter == ApplicationFilter.HAS_REQ , applicantList); applicantList = job.filterEssentialRequirements(appFilter == ApplicationFilter.HAS_REQ , applicantList);
} }
if((process.getAttribute("ShowList") != null && process.getAttribute("ShowList") == Boolean.TRUE) || CollectionUtils.equals(workflowStatus,ApplicationStatus.DRAFT)) if(process.getAttribute("AppView") != null)
{ {
session.setAttribute("ShowList",true); session.setAttribute("AppView", (AppView) process.getAttribute("AppView"));
} }
else if(process.getAttribute("ShowList") != null && process.getAttribute("ShowList") == Boolean.FALSE)
{
session.setAttribute("ShowList",false);
}
boolean showList = session.getAttribute("ShowList") != null ? (boolean) session.getAttribute("ShowList") : true;
AppView appView = (session.getAttribute("AppView") != null && !CollectionUtils.equals(workflowStatus,ApplicationStatus.DRAFT))? (AppView) session.getAttribute("AppView") : AppView.LIST;
List<JobApplication> sortedApplications = Utils.getApplicationsSorted(applicantList, appSortOpt); List<JobApplication> sortedApplications = Utils.getApplicationsSorted(applicantList, appSortOpt);
process.setAttribute("AppSortOption", appSortOpt); process.setAttribute("AppSortOption", appSortOpt);
process.setAttribute("ApplicationFilter", appFilter); process.setAttribute("ApplicationFilter", appFilter);
process.setAttribute("WorkFlowStatus", workflowStatus); process.setAttribute("WorkFlowStatus", workflowStatus);
process.setAttribute("ShowList", showList); process.setAttribute("AppView", appView);
%> %>
<oneit:form name="viewApplicants" method="post" enctype="multipart/form-data"> <oneit:form name="viewApplicants" method="post" enctype="multipart/form-data">
<div class="dashboard-content-area"> <div class="dashboard-content-area">
<oneit:dynInclude page="/extensions/adminportal/inc/applicant_view_tabs.jsp" <oneit:dynInclude page="/extensions/adminportal/inc/applicant_view_tabs.jsp"
ShowList="<%= showList %>" AppView="<%= appView %>"
applications="<%= sortedApplications %>" applications="<%= sortedApplications %>"
WorkFlowStatus="<%= workflowStatus %>" WorkFlowStatus="<%= workflowStatus %>"
WorkFlow="<%= workflow %>" WorkFlow="<%= workflow %>"
...@@ -145,7 +140,7 @@ ...@@ -145,7 +140,7 @@
<div class="second-part view-app-area"> <div class="second-part view-app-area">
<oneit:dynInclude page="/extensions/adminportal/inc/application_sorting_bar.jsp" <oneit:dynInclude page="/extensions/adminportal/inc/application_sorting_bar.jsp"
ShowList="<%= showList %>" AppView="<%= appView %>"
SearchApplicant="<%= searchApplicant %>" SearchApplicant="<%= searchApplicant %>"
ShowOrderBy="<%= sortedApplications.size() > 1 %>" ShowOrderBy="<%= sortedApplications.size() > 1 %>"
ApplicationFilter="<%= appFilter %>" ApplicationFilter="<%= appFilter %>"
...@@ -154,7 +149,7 @@ ...@@ -154,7 +149,7 @@
data="<%= CollectionUtils.EMPTY_MAP%>"/> data="<%= CollectionUtils.EMPTY_MAP%>"/>
<% <%
if(showList) if(appView == AppView.LIST)
{ {
if(workflowStatus == ApplicationStatus.DRAFT) if(workflowStatus == ApplicationStatus.DRAFT)
{ {
...@@ -178,12 +173,10 @@ ...@@ -178,12 +173,10 @@
<% <%
} }
} }
else else if(appView == AppView.GRID)
{
if(workflowStatus == ApplicationStatus.SHORTLISTED)
{ {
%> %>
<oneit:dynInclude page="/extensions/adminportal/inc/view_applicants_shortlist_grid.jsp" <oneit:dynInclude page="/extensions/adminportal/inc/view_applicants_grid.jsp"
applications="<%= sortedApplications %>" applications="<%= sortedApplications %>"
currentPage="<%= currentPage %>" currentPage="<%= currentPage %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/> data="<%= CollectionUtils.EMPTY_MAP%>"/>
...@@ -192,14 +185,13 @@ ...@@ -192,14 +185,13 @@
else else
{ {
%> %>
<oneit:dynInclude page="/extensions/adminportal/inc/view_applicants_grid.jsp" <oneit:dynInclude page="/extensions/adminportal/inc/view_applicants_shortlist_grid.jsp"
applications="<%= sortedApplications %>" applications="<%= sortedApplications %>"
currentPage="<%= currentPage %>" currentPage="<%= currentPage %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/> data="<%= CollectionUtils.EMPTY_MAP%>"/>
<% <%
} }
}
%> %>
</div> </div>
</div> </div>
......
...@@ -20,6 +20,10 @@ ...@@ -20,6 +20,10 @@
$(document).ready(function(){ $(document).ready(function(){
recalcFunction = setupRecalc ($("form#editJob"), {'recalcOnError':true}); recalcFunction = setupRecalc ($("form#editJob"), {'recalcOnError':true});
$(".switch input[type='checkbox']").change(function() {
$("button[name$='changeCultureCriteria']").click();
});
}); });
</script> </script>
...@@ -44,11 +48,29 @@ ...@@ -44,11 +48,29 @@
.toMap() %>" /> .toMap() %>" />
<div class="form-page-area nopadding"> <div class="form-page-area nopadding">
<div class="create-job"> <div class="create-job">
<div class="form-page-section" style="padding-bottom: 0px">
<div class="form-group">
<label>Include Culture for this Job?</label>
<span class="pull-right">
<label class="switch">
<oneit:recalcClass htmlTag="span" classScript="job.showCultureCriteriaSection() ? 'checkbox checked': 'checkbox unchecked'" job="<%= job %>">
<oneit:ormInput obj="<%= job %>" attributeName="IncludeCulture" type="checkbox"/>
</oneit:recalcClass>
<div class="slider round"></div>
</label>
<oneit:button value=" " name="changeCultureCriteria" cssClass="hide"
requestAttribs="<%= CollectionUtils.mapEntry ("Job", job)
.mapEntry (UpdateMappedObjFP.FAIL_VALIDATION_ERRORS, Boolean.FALSE)
.toMap() %>" />
</span>
</div>
</div>
<oneit:recalcClass htmlTag="div" classScript="job.showCultureCriteriaSection() ? 'show': 'hide'" job="<%= job %>">
<% <%
if(templates.length > 0) if(templates.length > 0)
{ {
%> %>
<div class="form-page-section" style="padding-bottom: 0px"> <div class="form-page-section" style="padding-bottom: 0px; padding-top: 0px;">
<div class="form-group"> <div class="form-group">
<label class="label-16 work-title">Culture</label> <label class="label-16 work-title">Culture</label>
</div> </div>
...@@ -71,7 +93,10 @@ ...@@ -71,7 +93,10 @@
</div> </div>
<oneit:dynInclude page="/extensions/adminportal/inc/culture_details.jsp" Job="<%= job %>" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/adminportal/inc/culture_details.jsp" Job="<%= job %>" data="<%= CollectionUtils.EMPTY_MAP%>"/>
</oneit:recalcClass>
<div class="form-page-section"> <div class="form-page-section">
<oneit:recalcClass htmlTag="div" classScript="job.showCultureCriteriaSection() ? 'show': 'hide'" job="<%= job %>">
<div class="form-group"> <div class="form-group">
<div class="styled_checkboxes"> <div class="styled_checkboxes">
<div class="checkbox checkbox-primary"> <div class="checkbox checkbox-primary">
...@@ -97,6 +122,7 @@ ...@@ -97,6 +122,7 @@
</span> </span>
</div> </div>
</oneit:recalcClass> </oneit:recalcClass>
</oneit:recalcClass>
<div class="text-center"> <div class="text-center">
<oneit:button value="Save as draft" name="saveJob" cssClass="btn btn-primary top-margin-25 largeBtn greyBtn" <oneit:button value="Save as draft" name="saveJob" cssClass="btn btn-primary top-margin-25 largeBtn greyBtn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", jobPage) requestAttribs="<%= CollectionUtils.mapEntry("nextPage", jobPage)
......
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
if(job.getIncludeAssessmentCriteria()) if(job.getIncludeAssessmentCriteria())
{ {
%> %>
<div class="col-sm-4 col-xs-12 app-block eq-height"> <div class="<%= (job.getNumberOfSections() == 3 ? "col-sm-4" : (job.getNumberOfSections() == 2 ? "col-sm-6" : "col-sm-12" )) + " col-xs-12 app-block eq-height"%>">
<div class="block-icon <%= isSelectionComplete ? "app-outline-complete" : "" %>"> <div class="block-icon <%= isSelectionComplete ? "app-outline-complete" : "" %>">
<div class="<%= isSelectionComplete ? "app-outline-complete-icon" : "app-outline-selection-icon" %>"></div> <div class="<%= isSelectionComplete ? "app-outline-complete-icon" : "app-outline-selection-icon" %>"></div>
</div> </div>
...@@ -105,8 +105,11 @@ ...@@ -105,8 +105,11 @@
</div> </div>
<% <%
} }
if(job.showCultureCriteriaSection())
{
%> %>
<div class="<%= (job.getIncludeAssessmentCriteria() ? "col-sm-4 app-second-block " : " col-sm-6 app-block " ) + " col-xs-12 app-block eq-height "%> "> <div class="<%= (job.getNumberOfSections() == 3 ? "col-sm-4 app-second-block " : (job.getNumberOfSections() == 2 ? " col-sm-6 app-block " : " col-sm-12 app-block " )) + " col-xs-12 app-block eq-height "%> ">
<div class="block-icon <%= isCultureComplete ? "app-outline-complete" : "" %>"> <div class="block-icon <%= isCultureComplete ? "app-outline-complete" : "" %>">
<div class="<%= isCultureComplete ? "app-outline-complete-icon" : "app-outline-culture-icon" %>"></div> <div class="<%= isCultureComplete ? "app-outline-complete-icon" : "app-outline-culture-icon" %>"></div>
</div> </div>
...@@ -133,7 +136,10 @@ ...@@ -133,7 +136,10 @@
There are no right or wrong answers, so please choose what best fits you (not what you think might be right for a particular job). There are no right or wrong answers, so please choose what best fits you (not what you think might be right for a particular job).
</p> </p>
</div> </div>
<div class="<%= (job.getIncludeAssessmentCriteria() ? "col-sm-4 " : "col-sm-6 app-thired-block " ) + "col-xs-12 app-block eq-height last-border"%>"> <%
}
%>
<div class="<%= (job.getNumberOfSections() == 3 ? "col-sm-4 " : (job.getNumberOfSections() == 2 ? " col-sm-6 app-thired-block " :"col-sm-12 " )) + "col-xs-12 app-block eq-height last-border"%>">
<div class="block-icon <%= isAssesmentComplete ? "app-outline-complete" : "" %>"> <div class="block-icon <%= isAssesmentComplete ? "app-outline-complete" : "" %>">
<div class="<%= isAssesmentComplete ? "app-outline-complete-icon" : "app-outline-assesmet-icon" %>"></div> <div class="<%= isAssesmentComplete ? "app-outline-complete-icon" : "app-outline-assesmet-icon" %>"></div>
</div> </div>
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
String secondPage = WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture"); String secondPage = WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture");
String thirdPage = WebUtils.getSamePageInRenderMode(request, "JobMatchAssessment"); String thirdPage = WebUtils.getSamePageInRenderMode(request, "JobMatchAssessment");
boolean includeAssessment = jobApplication.isIncludeAssessmentCriteria(); boolean includeAssessment = jobApplication.isIncludeAssessmentCriteria();
boolean includeCulture = jobApplication.isIncludeCultureCriteria();
// Boolean alreadyCompletedCulture = (Boolean) process.getAttribute("AlreadyCompletedCulture"); // Boolean alreadyCompletedCulture = (Boolean) process.getAttribute("AlreadyCompletedCulture");
// Boolean alreadyCompletedRole = (Boolean) process.getAttribute("AlreadyCompletedRole"); // Boolean alreadyCompletedRole = (Boolean) process.getAttribute("AlreadyCompletedRole");
...@@ -41,6 +42,9 @@ ...@@ -41,6 +42,9 @@
</li> </li>
<% <%
} }
if(includeCulture)
{
%> %>
<li class="<%= pageNumber == "2" ? "active" : isCultureComplete ? "complate" : ""%>"> <li class="<%= pageNumber == "2" ? "active" : isCultureComplete ? "complate" : ""%>">
<oneit:button value=" " name="validateApplication" skin="link" disabled="<%= isCultureComplete ? "true" : "false"%>" <oneit:button value=" " name="validateApplication" skin="link" disabled="<%= isCultureComplete ? "true" : "false"%>"
...@@ -53,6 +57,9 @@ ...@@ -53,6 +57,9 @@
<div class="mobile-hide">Workplace Preferences</div> <div class="mobile-hide">Workplace Preferences</div>
</oneit:button> </oneit:button>
</li> </li>
<%
}
%>
<li class="<%= pageNumber == "3" ? "active" : isAssesmentComplete ? "complate" : ""%>"> <li class="<%= pageNumber == "3" ? "active" : isAssesmentComplete ? "complate" : ""%>">
<oneit:button value=" " name="validateApplication" skin="link" disabled="<%= isAssesmentComplete ? "true" : "false"%>" <oneit:button value=" " name="validateApplication" skin="link" disabled="<%= isAssesmentComplete ? "true" : "false"%>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", thirdPage) requestAttribs="<%= CollectionUtils.mapEntry("nextPage", thirdPage)
...@@ -60,11 +67,11 @@ ...@@ -60,11 +67,11 @@
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap()) .mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.mapEntry("fromRequirements", fromRequirements) .mapEntry("fromRequirements", fromRequirements)
.toMap() %>"> .toMap() %>">
<span><%= isAssesmentComplete ? "<img src=\"images/right-mark.png\" />" : (includeAssessment ? "3" : "2")%></span> <span><%= isAssesmentComplete ? "<img src=\"images/right-mark.png\" />" : (includeAssessment && includeCulture ? "3" : ( (includeAssessment || includeCulture) ? "2" : "1"))%></span>
<div class="mobile-hide">Your Work Style</div> <div class="mobile-hide">Your Work Style</div>
</oneit:button> </oneit:button>
</li> </li>
<li><a href="#"><span><%= includeAssessment ? "4" : "3" %></span><div class="mobile-hide">Submit Application</div></a></li> <li><a href="#"><span><%= (includeAssessment && includeCulture ? "4" : ( (includeAssessment || includeCulture) ? "3" : "2")) %></span><div class="mobile-hide">Submit Application</div></a></li>
</ul> </ul>
</div> </div>
</oneit:dynIncluded> </oneit:dynIncluded>
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