Commit a323c912 by Harsh Shah

Finish Hotfix-20190502

parents 2e692848 84051538
......@@ -14,6 +14,7 @@
<column name="open_date" type="Date" nullable="true"/>
<column name="apply_by" type="Date" nullable="true"/>
<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="random_key" type="String" nullable="true" length="10"/>
<column name="job_type" type="String" nullable="false" length="200"/>
......
......@@ -14,6 +14,7 @@ CREATE TABLE tl_job (
open_date datetime NULL,
apply_by datetime NULL,
include_assessment_criteria char(1) NOT NULL,
include_culture char(1) NOT NULL,
assessment_type varchar(200) NOT NULL,
random_key varchar(10) NULL,
job_type varchar(200) NOT NULL,
......
......@@ -15,6 +15,7 @@ CREATE TABLE tl_job (
open_date date NULL,
apply_by date NULL,
include_assessment_criteria char(1) NOT NULL,
include_culture char(1) NOT NULL,
assessment_type varchar2(200) NOT NULL,
random_key varchar2(10) NULL,
job_type varchar2(200) NOT NULL,
......
......@@ -15,6 +15,7 @@ CREATE TABLE tl_job (
open_date timestamp NULL,
apply_by timestamp NULL,
include_assessment_criteria char(1) NOT NULL,
include_culture char(1) NOT NULL,
assessment_type varchar(200) NOT NULL,
random_key varchar(10) NULL,
job_type varchar(200) NOT NULL,
......
......@@ -15,7 +15,7 @@ import oneit.utils.CollectionUtils;
import oneit.utils.RandomStringGen;
import performa.orm.JobApplication;
import performa.orm.WorkFlow;
import performa.orm.types.ApplicationStatus;
import performa.orm.types.AppView;
import performa.utils.PDFUtils;
......@@ -30,7 +30,7 @@ public class ApplicantReportFP extends ORMProcessFormProcessor
HttpServletRequest request = submission.getRequest();
RandomStringGen rand = new RandomStringGen();
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 applicantPage = (boolean) request.getAttribute("ApplicantPage");
WorkFlow workflow = (WorkFlow) request.getAttribute("WorkFlow");
......@@ -49,7 +49,7 @@ public class ApplicantReportFP extends ORMProcessFormProcessor
.mapEntry("WorkFlow", workflow)
.toMap();
if(CollectionUtils.equals(showList, true))
if(appView == AppView.LIST)
{
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
public static final String FIELD_OpenDate = "OpenDate";
public static final String FIELD_ApplyBy = "ApplyBy";
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_RandomKey = "RandomKey";
public static final String FIELD_JobType = "JobType";
......@@ -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_ApplyBy = 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 DefaultAttributeHelper<Job> HELPER_RandomKey = DefaultAttributeHelper.INSTANCE;
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
private Date _OpenDate;
private Date _ApplyBy;
private Boolean _IncludeAssessmentCriteria;
private Boolean _IncludeCulture;
private AssessmentType _AssessmentType;
private String _RandomKey;
private JobType _JobType;
......@@ -240,6 +243,7 @@ public abstract class BaseJob extends BaseBusinessClass
private static final AttributeValidator[] FIELD_OpenDate_Validators;
private static final AttributeValidator[] FIELD_ApplyBy_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_RandomKey_Validators;
private static final AttributeValidator[] FIELD_JobType_Validators;
......@@ -313,6 +317,7 @@ public abstract class BaseJob extends BaseBusinessClass
FIELD_OpenDate_Validators = (AttributeValidator[])setupAttribMetaData_OpenDate(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_IncludeCulture_Validators = (AttributeValidator[])setupAttribMetaData_IncludeCulture(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_JobType_Validators = (AttributeValidator[])setupAttribMetaData_JobType(validatorMapping).toArray (new AttributeValidator[0]);
......@@ -934,6 +939,26 @@ public abstract class BaseJob extends BaseBusinessClass
}
// 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)
{
Map metaInfo = new HashMap ();
......@@ -1335,6 +1360,7 @@ public abstract class BaseJob extends BaseBusinessClass
_OpenDate = (Date)(HELPER_OpenDate.initialise (_OpenDate));
_ApplyBy = (Date)(HELPER_ApplyBy.initialise (_ApplyBy));
_IncludeAssessmentCriteria = (Boolean)(Boolean.TRUE);
_IncludeCulture = (Boolean)(Boolean.TRUE);
_AssessmentType = (AssessmentType)(AssessmentType.COMPREHENSIVE);
_RandomKey = (String)(HELPER_RandomKey.initialise (_RandomKey));
_JobType = (JobType)(JobType.FULL_TIME);
......@@ -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
*/
public AssessmentType getAssessmentType ()
......@@ -7395,6 +7520,7 @@ public abstract class BaseJob extends BaseBusinessClass
tl_jobPSet.setAttrib (FIELD_OpenDate, HELPER_OpenDate.toObject (_OpenDate)); //
tl_jobPSet.setAttrib (FIELD_ApplyBy, HELPER_ApplyBy.toObject (_ApplyBy)); //
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_RandomKey, HELPER_RandomKey.toObject (_RandomKey)); //
tl_jobPSet.setAttrib (FIELD_JobType, HELPER_JobType.toObject (_JobType)); //
......@@ -7443,6 +7569,7 @@ public abstract class BaseJob extends BaseBusinessClass
_OpenDate = (Date)(HELPER_OpenDate.fromObject (_OpenDate, tl_jobPSet.getAttrib (FIELD_OpenDate))); //
_ApplyBy = (Date)(HELPER_ApplyBy.fromObject (_ApplyBy, tl_jobPSet.getAttrib (FIELD_ApplyBy))); //
_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))); //
_RandomKey = (String)(HELPER_RandomKey.fromObject (_RandomKey, tl_jobPSet.getAttrib (FIELD_RandomKey))); //
_JobType = (JobType)(HELPER_JobType.fromObject (_JobType, tl_jobPSet.getAttrib (FIELD_JobType))); //
......@@ -7542,6 +7669,15 @@ public abstract class BaseJob extends BaseBusinessClass
try
{
setIncludeCulture (otherJob.getIncludeCulture ());
}
catch (FieldException ex)
{
e.addException (ex);
}
try
{
setAssessmentType (otherJob.getAssessmentType ());
}
catch (FieldException ex)
......@@ -7732,6 +7868,7 @@ public abstract class BaseJob extends BaseBusinessClass
_OpenDate = sourceJob._OpenDate;
_ApplyBy = sourceJob._ApplyBy;
_IncludeAssessmentCriteria = sourceJob._IncludeAssessmentCriteria;
_IncludeCulture = sourceJob._IncludeCulture;
_AssessmentType = sourceJob._AssessmentType;
_RandomKey = sourceJob._RandomKey;
_JobType = sourceJob._JobType;
......@@ -7843,6 +7980,7 @@ public abstract class BaseJob extends BaseBusinessClass
_OpenDate = (Date)(HELPER_OpenDate.readExternal (_OpenDate, vals.get(FIELD_OpenDate))); //
_ApplyBy = (Date)(HELPER_ApplyBy.readExternal (_ApplyBy, vals.get(FIELD_ApplyBy))); //
_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))); //
_RandomKey = (String)(HELPER_RandomKey.readExternal (_RandomKey, vals.get(FIELD_RandomKey))); //
_JobType = (JobType)(HELPER_JobType.readExternal (_JobType, vals.get(FIELD_JobType))); //
......@@ -7909,6 +8047,7 @@ public abstract class BaseJob extends BaseBusinessClass
vals.put (FIELD_OpenDate, HELPER_OpenDate.writeExternal (_OpenDate));
vals.put (FIELD_ApplyBy, HELPER_ApplyBy.writeExternal (_ApplyBy));
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_RandomKey, HELPER_RandomKey.writeExternal (_RandomKey));
vals.put (FIELD_JobType, HELPER_JobType.writeExternal (_JobType));
......@@ -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));
}
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))
{
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
visitor.visitField(this, FIELD_OpenDate, HELPER_OpenDate.toObject(getOpenDate()));
visitor.visitField(this, FIELD_ApplyBy, HELPER_ApplyBy.toObject(getApplyBy()));
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_RandomKey, HELPER_RandomKey.toObject(getRandomKey()));
visitor.visitField(this, FIELD_JobType, HELPER_JobType.toObject(getJobType()));
......@@ -8285,6 +8429,10 @@ public abstract class BaseJob extends BaseBusinessClass
{
return filter.matches (getIncludeAssessmentCriteria ());
}
else if (attribName.equals (FIELD_IncludeCulture))
{
return filter.matches (getIncludeCulture ());
}
else if (attribName.equals (FIELD_AssessmentType))
{
return filter.matches (getAssessmentType ());
......@@ -8464,6 +8612,12 @@ public abstract class BaseJob extends BaseBusinessClass
return this;
}
public SearchAll andIncludeCulture (QueryFilter<Boolean> filter)
{
filter.addFilter (context, "tl_job.include_culture", "IncludeCulture");
return this;
}
public SearchAll andAssessmentType (QueryFilter<AssessmentType> filter)
{
filter.addFilter (context, "tl_job.assessment_type", "AssessmentType");
......@@ -8731,6 +8885,12 @@ public abstract class BaseJob extends BaseBusinessClass
return this;
}
public SearchJobKey andIncludeCulture (QueryFilter<Boolean> filter)
{
filter.addFilter (context, "tl_job.include_culture", "IncludeCulture");
return this;
}
public SearchJobKey andAssessmentType (QueryFilter<AssessmentType> filter)
{
filter.addFilter (context, "tl_job.assessment_type", "AssessmentType");
......@@ -8992,6 +9152,12 @@ public abstract class BaseJob extends BaseBusinessClass
return this;
}
public SearchCompany andIncludeCulture (QueryFilter<Boolean> filter)
{
filter.addFilter (context, "tl_job.include_culture", "IncludeCulture");
return this;
}
public SearchCompany andAssessmentType (QueryFilter<AssessmentType> filter)
{
filter.addFilter (context, "tl_job.assessment_type", "AssessmentType");
......@@ -9254,6 +9420,12 @@ public abstract class BaseJob extends BaseBusinessClass
return this;
}
public SearchDetails andIncludeCulture (QueryFilter<Boolean> filter)
{
filter.addFilter (context, "tl_job.include_culture", "IncludeCulture");
return this;
}
public SearchDetails andAssessmentType (QueryFilter<AssessmentType> filter)
{
filter.addFilter (context, "tl_job.assessment_type", "AssessmentType");
......@@ -9482,6 +9654,10 @@ public abstract class BaseJob extends BaseBusinessClass
{
return HELPER_IncludeAssessmentCriteria.toObject (getIncludeAssessmentCriteria ());
}
else if (attribName.equals (FIELD_IncludeCulture))
{
return HELPER_IncludeCulture.toObject (getIncludeCulture ());
}
else if (attribName.equals (FIELD_AssessmentType))
{
return HELPER_AssessmentType.toObject (getAssessmentType ());
......@@ -9651,6 +9827,10 @@ public abstract class BaseJob extends BaseBusinessClass
{
return HELPER_IncludeAssessmentCriteria;
}
else if (attribName.equals (FIELD_IncludeCulture))
{
return HELPER_IncludeCulture;
}
else if (attribName.equals (FIELD_AssessmentType))
{
return HELPER_AssessmentType;
......@@ -9820,6 +10000,10 @@ public abstract class BaseJob extends BaseBusinessClass
{
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))
{
setAssessmentType ((AssessmentType)(HELPER_AssessmentType.fromObject (_AssessmentType, attribValue)));
......@@ -9996,6 +10180,10 @@ public abstract class BaseJob extends BaseBusinessClass
{
return getWriteability_IncludeAssessmentCriteria ();
}
else if (fieldName.equals (FIELD_IncludeCulture))
{
return getWriteability_IncludeCulture ();
}
else if (fieldName.equals (FIELD_AssessmentType))
{
return getWriteability_AssessmentType ();
......@@ -10232,6 +10420,11 @@ public abstract class BaseJob extends BaseBusinessClass
fields.add (FIELD_IncludeAssessmentCriteria);
}
if (getWriteability_IncludeCulture () != FieldWriteability.TRUE)
{
fields.add (FIELD_IncludeCulture);
}
if (getWriteability_AssessmentType () != FieldWriteability.TRUE)
{
fields.add (FIELD_AssessmentType);
......@@ -10412,6 +10605,7 @@ public abstract class BaseJob extends BaseBusinessClass
result.add(HELPER_OpenDate.getAttribObject (getClass (), _OpenDate, false, FIELD_OpenDate));
result.add(HELPER_ApplyBy.getAttribObject (getClass (), _ApplyBy, false, FIELD_ApplyBy));
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_RandomKey.getAttribObject (getClass (), _RandomKey, false, FIELD_RandomKey));
result.add(HELPER_JobType.getAttribObject (getClass (), _JobType, true, FIELD_JobType));
......@@ -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
*/
public AssessmentType getAssessmentType (Job obj, AssessmentType original)
......@@ -11357,6 +11569,10 @@ public abstract class BaseJob extends BaseBusinessClass
{
return toIncludeAssessmentCriteria ();
}
if (name.equals ("IncludeCulture"))
{
return toIncludeCulture ();
}
if (name.equals ("AssessmentType"))
{
return toAssessmentType ();
......@@ -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> 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, String> toRandomKey () { return pipe(new ORMAttributePipe<Me, String>(FIELD_RandomKey)); }
......
......@@ -114,7 +114,7 @@ public class Candidate extends BaseCandidate
{
int allAnswersCount = getCultureCriteriaAnswersCount();
if(allAnswersCount == job.getCultureCriteriasCount())
if(job.showCultureCriteriaSection() && allAnswersCount == job.getCultureCriteriasCount())
{
Filter filter = CultureCriteriaAnswer.SearchByAll().andSelectedQuestion(new IsNotNullFilter<>());
Collection selectedAnswers = pipelineCandidate().toCultureCriteriaAnswers(filter).vals();
......@@ -127,7 +127,7 @@ public class Candidate extends BaseCandidate
public double cultureCompletedPercentage(Job job)
{
return (getCultureCriteriaAnswersCount() * 100) / job.getCultureCriteriasCount() ;
return job.showCultureCriteriaSection() ? (getCultureCriteriaAnswersCount() * 100) / job.getCultureCriteriasCount() : 0d;
}
public double roleFitCompletedPercentage(Job job)
......
package performa.orm;
import oneit.utils.math.NullArith;
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
}
public double getWeightedPercentage()
{
return NullArith.divide(getWghtdClassScore(), getMaxWghtdClassScore()) * 100;
}
}
\ No newline at end of file
......@@ -415,6 +415,16 @@ public class Job extends BaseJob
return isTrue(getIncludeAssessmentCriteria());
}
public boolean showCultureCriteriaSection()
{
return isTrue(getIncludeCulture());
}
public int getNumberOfSections()
{
return (showCultureCriteriaSection() && showAssessmentCriteriaSection() ? 3 : (showCultureCriteriaSection() || showAssessmentCriteriaSection()) ? 2 : 1);
}
public int getMaxShortlistApplicants()
{
return 25;
......
......@@ -38,6 +38,7 @@
<ATTRIB name="OpenDate" type="Date" dbcol="open_date"/>
<ATTRIB name="ApplyBy" type="Date" dbcol="apply_by"/>
<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="RandomKey" type="String" dbcol="random_key" length="10"/>
<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
Candidate candidate = getCandidate();
//to skip culture test
if(cultureCompleted())
if(!isIncludeCultureCriteria() || cultureCompleted())
{
return safeRedirect;
}
......@@ -249,7 +249,7 @@ public class JobApplication extends BaseJobApplication
public boolean cultureCompleted()
{
return getCandidate().cultureCompleted(getJob());
return isIncludeCultureCriteria() ? getCandidate().cultureCompleted(getJob()) : true;
}
......@@ -280,6 +280,11 @@ public class JobApplication extends BaseJobApplication
{
return getJob() != null && isTrue(getJob().getIncludeAssessmentCriteria());
}
public boolean isIncludeCultureCriteria()
{
return getJob() != null && isTrue(getJob().getIncludeCulture());
}
@Override
public Map getRoleFit()
......@@ -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;
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;
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
private Date dummyOpenDate;
private Date dummyApplyBy;
private Boolean dummyIncludeAssessmentCriteria;
private Boolean dummyIncludeCulture;
private AssessmentType dummyAssessmentType;
private String dummyRandomKey;
private JobType dummyJobType;
......@@ -62,6 +63,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
private static final DefaultAttributeHelper HELPER_OpenDate = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_ApplyBy = 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 DefaultAttributeHelper HELPER_RandomKey = DefaultAttributeHelper.INSTANCE;
private static final EnumeratedAttributeHelper HELPER_JobType = new EnumeratedAttributeHelper (JobType.FACTORY_JobType);
......@@ -93,6 +95,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
dummyOpenDate = (Date)(HELPER_OpenDate.initialise (dummyOpenDate));
dummyApplyBy = (Date)(HELPER_ApplyBy.initialise (dummyApplyBy));
dummyIncludeAssessmentCriteria = (Boolean)(HELPER_IncludeAssessmentCriteria.initialise (dummyIncludeAssessmentCriteria));
dummyIncludeCulture = (Boolean)(HELPER_IncludeCulture.initialise (dummyIncludeCulture));
dummyAssessmentType = (AssessmentType)(HELPER_AssessmentType.initialise (dummyAssessmentType));
dummyRandomKey = (String)(HELPER_RandomKey.initialise (dummyRandomKey));
dummyJobType = (JobType)(HELPER_JobType.initialise (dummyJobType));
......@@ -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 = "";
public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
......@@ -172,6 +175,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
!tl_jobPSet.containsAttrib(Job.FIELD_OpenDate)||
!tl_jobPSet.containsAttrib(Job.FIELD_ApplyBy)||
!tl_jobPSet.containsAttrib(Job.FIELD_IncludeAssessmentCriteria)||
!tl_jobPSet.containsAttrib(Job.FIELD_IncludeCulture)||
!tl_jobPSet.containsAttrib(Job.FIELD_AssessmentType)||
!tl_jobPSet.containsAttrib(Job.FIELD_RandomKey)||
!tl_jobPSet.containsAttrib(Job.FIELD_JobType)||
......@@ -279,10 +283,10 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
{
int rowsUpdated = executeStatement (sqlMgr,
"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 ()) + " ",
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)
{
......@@ -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_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_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_RandomKey, HELPER_RandomKey.getFromRS(dummyRandomKey, r, "random_key"));
tl_jobPSet.setAttrib(Job.FIELD_JobType, HELPER_JobType.getFromRS(dummyJobType, r, "job_type"));
......@@ -753,10 +758,10 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
{
executeStatement (sqlMgr,
"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 " +
" (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " + 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());
" (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " + 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_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);
}
......
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
TestAnalysis testAnalysis = candidate.getTestAnalysisFor(level);
Map<FactorClass, Tuple.T3<Double, ColorCode, Double>> scoreMap = new HashMap();
boolean isExpress = level.getAppliedToExpress();
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())
{
FactorClass factorClass = levelClassCriteria.getFactorClass();
......@@ -437,16 +457,23 @@ public class AnalysisEngine
Double scorePercentage = 0d;
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());
maxScore = classNormalisation.getRoleFitScore(candidateClassScore.getMaxWghtdClassScore());
colorCode = candidateClassScore.getColorCode();
scorePercentage = NullArith.round(NullArith.divide(NullArith.multiply(score, 100), maxScore), 2);
}
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);
......
......@@ -275,14 +275,22 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant
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 && tmpRecipient.contains("job"))
{
tmpJobId = getJobIdentifierFromEmail(tmpRecipient);
if(tmpJobId != null && !tmpJobId.isEmpty() && StringUtils.isNumber(tmpJobId))
{
break;
}
}
}
}
if(StringUtils.subBlanks(tmpRecipient) != null)
{
tmpJobId = getJobIdentifierFromEmail(tmpRecipient);
}
tmpEmailText = EmailFetcher.getText(message, new ArrayList<>());
tmpContents = getAttachments(message);
}
......@@ -476,8 +484,8 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant
public static String getJobIdentifierFromEmail(String strReceipient)
{
int index = strReceipient.indexOf('@');
return strReceipient.substring(0, index).replace("job", "");
return strReceipient.substring(0, index).replace("job", "");
}
private static List<FileBinaryContent> getAttachments(Message message) throws IOException, MessagingException
......
......@@ -4447,6 +4447,14 @@ no-applicant.inactive a:hover,no-applicant.inactive a:hover span{
text-transform: uppercase;
width: 20%;
}
.appli-jcs3 {
color: #4a4a4a;
font-size: 11px;
letter-spacing: 1px;
padding: 26px 18px 5px;
text-transform: uppercase;
width: 40%;
}
.appli-overall{
color: #4a4a4a;
font-size: 11px;
......@@ -4678,12 +4686,24 @@ span.right-img {
margin-right: 8px;
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{
background-image: url('../images/list-active.png');
}
.grid-list.active a:before{
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{
margin-top: 0;
}
......
......@@ -27,6 +27,7 @@
<NODE name="dynamic_content_form::ADMIN_PORTAL" factory="Participant">
<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="*.saveRequirementTemplate" factory="Participant" class="performa.form.SaveRequirementsTemplateFP"/>
<FORM name="*.saveCultureTemplate" factory="Participant" class="performa.form.SaveCultureTemplateFP"/>
......
......@@ -242,43 +242,48 @@
<label class="label-16 blue-label">Culture</label>
</div>
<div class="form-brack-line-sub"></div>
<div class="row">
<div class="col-md-12 review-medium-title">
<oneit:label GUIName="Organisation Culture Statement" />
<span class="skill-label">
<oneit:toString value="<%= job.getCultureStatement() %>" mode="ParagraphHTML" />
</span>
</div>
</div>
<%
for(CultureClass cultureClass : CultureClass.getCultureClassArray())
if(job.showCultureCriteriaSection())
{
%>
<div class="form-brack-line-sub"></div>
<div class="form-group">
<div class="beloning">
<oneit:toString value="<%= cultureClass %>" mode="EscapeHTML"/>
<div class="row">
<div class="col-md-12 review-medium-title">
<oneit:label GUIName="Organisation Culture Statement" />
<span class="skill-label">
<oneit:toString value="<%= job.getCultureStatement() %>" mode="ParagraphHTML" />
</span>
</div>
</div>
<div class="form-group">
<%
for (CultureCriteria criteria : job.getCultureCriteriasForClass(cultureClass))
{
if(criteria.getIsApplicable())
<%
for(CultureClass cultureClass : CultureClass.getCultureClassArray())
{
%>
<div class="form-brack-line-sub"></div>
<div class="form-group">
<div class="beloning">
<oneit:toString value="<%= cultureClass %>" mode="EscapeHTML"/>
</div>
</div>
<div class="form-group">
<%
for (CultureCriteria criteria : job.getCultureCriteriasForClass(cultureClass))
{
%>
<div class="row main-review-label">
<div class="col-sm-4 col-xs-12 review-label culture-element">
<oneit:toString value="<%= criteria.getCultureElement() %>" mode="EscapeHTML"/>
</div>
<div class="col-sm-8 col-xs-12 review-data">
<oneit:toString value="<%= criteria.getCultureElementRating()!= null ? criteria.getCultureElementRating().getDescription() : ""%>" mode="EscapeHTML"/>
(<oneit:toString value="<%= criteria.getImportance() %>" mode="EscapeHTML"/>)
if(criteria.getIsApplicable())
{
%>
<div class="row main-review-label">
<div class="col-sm-4 col-xs-12 review-label culture-element">
<oneit:toString value="<%= criteria.getCultureElement() %>" mode="EscapeHTML"/>
</div>
<div class="col-sm-8 col-xs-12 review-data">
<oneit:toString value="<%= criteria.getCultureElementRating()!= null ? criteria.getCultureElementRating().getDescription() : ""%>" mode="EscapeHTML"/>
(<oneit:toString value="<%= criteria.getImportance() %>" mode="EscapeHTML"/>)
</div>
</div>
</div>
<%
<%
}
}
}
}
%>
</div>
<%
......
......@@ -42,7 +42,7 @@
}
%>
</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 class="white-header">
......@@ -105,7 +105,7 @@
<div class="view-appli-list">
<!--Requirements-->
<%
if(job.getIncludeAssessmentCriteria() == Boolean.TRUE)
if(job.showAssessmentCriteriaSection())
{
%>
<table width="100%" cellspacing="0" cellpadding="0" class="charts-table">
......@@ -304,7 +304,7 @@
for(FactorClass factorClass : factorClassDtls.keySet())
{
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++;
......@@ -382,6 +382,7 @@
</div>
</span>
</div>
<%
if(detailed)
{
......@@ -433,7 +434,7 @@
</tr>
</table>
<%
if(detailed)
if(detailed && job.showCultureCriteriaSection())
{
%>
<p style="page-break-before: always"></p>
......@@ -442,6 +443,10 @@
%>
<!--Culture Fit Data-->
<%
if(job.showCultureCriteriaSection())
{
%>
<table width="100%" cellspacing="0" cellpadding="0" class="charts-table culture">
<tr>
<td class="chart-cell">
......@@ -543,6 +548,9 @@
</td>
</tr>
</table>
<%
}
%>
</div>
</div>
</oneit:dynIncluded>
\ No newline at end of file
......@@ -8,7 +8,7 @@
Job job = (Job) process.getAttribute("Job");
ApplicationStatus appStatus = (ApplicationStatus) getData(request, "WorkFlowStatus");
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);
List<JobApplication> applications = (List<JobApplication>) getData(request, "applications");
......@@ -25,7 +25,7 @@
applicantPage="<%= false %>"
applications="<%= applications %>"
WorkFlow="<%= workFlow %>"
ShowList="<%= showList %>"/>
AppView="<%= appView %>"/>
<div class="int-timeline">
<ul>
<li class="<%= "incomplete " + (noOfIncomplete > 0 ? "has-applicant" : "no-applicant") %> <%= appStatus == ApplicationStatus.DRAFT ? "active" : "inactive" %>">
......
......@@ -112,17 +112,22 @@
<oneit:toString value="<%= jobApplication.getRoleFitPercentage() %>" mode="PercentageWholeNumber" />
</div>
</div>
<div class="culture jcc">
<div class="jcc-title">
<img src="file:///<%= PDFUtils.FILE_BASE_PATH %>/images/culture-icon.png" /> culture fit
</div>
<div class="jcc-precentage">
<oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="PercentageWholeNumber" />
</div>
</div>
<%
if(job.getIncludeAssessmentCriteria()==Boolean.TRUE)
if(job.showCultureCriteriaSection())
{
%>
<div class="culture jcc">
<div class="jcc-title">
<img src="file:///<%= PDFUtils.FILE_BASE_PATH %>/images/culture-icon.png" /> culture fit
</div>
<div class="jcc-precentage">
<oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="PercentageWholeNumber" />
</div>
</div>
<%
}
if(job.showAssessmentCriteriaSection())
{
%>
<div class="criteria jcc <%=(missingReq ? "red-bg" : "green-bg")%> ">
......
......@@ -69,7 +69,7 @@
%>
</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>
......@@ -114,20 +114,25 @@
</span>
role fit
</div>
<div class="appli-jcs appli-l eq-second-height">
<span class="appli-view-bar">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="<%= culture %>" aria-valuemin="0" aria-valuemax="100"
style="<%= "width: " + culture %>">
<span class="show-precentage"><%= culture %></span>
</div>
<%
if(job.showCultureCriteriaSection())
{
%>
<div class="appli-jcs appli-l eq-second-height">
<span class="appli-view-bar">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="<%= culture %>" aria-valuemin="0" aria-valuemax="100"
style="<%= "width: " + culture %>">
<span class="show-precentage"><%= culture %></span>
</div>
</div>
</span>
culture fit
</div>
</span>
culture fit
</div>
<%
if(job.getIncludeAssessmentCriteria() == Boolean.TRUE)
}
if(job.showAssessmentCriteriaSection())
{
long criteriaVal = jobApplication.getRequirementFitScore();
String criteria = FormatUtils.stringify(criteriaVal, "PercentageWholeNumber", "0");
......
......@@ -9,9 +9,10 @@
Job job = (Job) process.getAttribute("Job");
AppSortOption appSortOpt = (AppSortOption) getData(request, "SortOption");
ApplicationStatus workflowStatus = (ApplicationStatus) getData(request, "WorkFlowStatus");
boolean isDraft = workflowStatus == ApplicationStatus.DRAFT;
ApplicationFilter appFilter = (ApplicationFilter) getData(request, "ApplicationFilter");
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");
String applicantsPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS) + "&JobID=" + job.getID() + "&WorkFlowStatus=" + workflowStatus.getName();
List<WorkFlow> sortedWorkFlows = ObjstoreUtils.sort(job.getApplicantWFs(),
......@@ -36,13 +37,14 @@
$("#select_all").on("click",function(){
$('.checkbox-list input:checkbox').not(this).prop('checked', this.checked);
$('.checkbox-list input:checkbox').not(this).prop('checked', this.checked);
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(){
......@@ -74,16 +76,22 @@
%>
<ul class="">
<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"
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() %>"/>
</li>
<li class="<%= (!showList ? "active" : "" ) + " grid-list"%>">
<li class="<%= (appView == AppView.GRID ? "active" : "" ) + " grid-list"%>">
<oneit:button value="Grid" name="gotoPage" skin="link"
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() %>"/>
</li>
</ul>
......
......@@ -20,6 +20,8 @@
<script type="text/javascript">
$(document).ready(function()
{
$("[name$='WorkFlow']").prop("disabled",true);
$("[name$='WorkFlow']").change(function()
{
var id = $(this).closest('.appli-row').attr('id');
......@@ -139,14 +141,10 @@
</div>
</div>
<%
String widthClass = "appli-jcs2";
if(job.getIncludeAssessmentCriteria() == Boolean.TRUE)
{
widthClass = "appli-jcs";
}
String widthClass = (job.showAssessmentCriteriaSection() && job.showCultureCriteriaSection()) ? "appli-jcs" :
(job.showAssessmentCriteriaSection() || job.showCultureCriteriaSection()) ? "appli-jcs2" : "appli-jcs3";
if(job.getIncludeAssessmentCriteria() == Boolean.TRUE)
if(job.showAssessmentCriteriaSection())
{
%>
<div class="<%= widthClass %> appli-l eq-second-height">
......@@ -166,19 +164,25 @@
</div>
<%
}
if(job.showCultureCriteriaSection())
{
%>
<div class="<%= widthClass %> appli-l eq-second-height">
<span class="appli-view-bar">
<div class="progress">
<div class="completion-progress-bar <%= cultureVal == 100 ? "green-bar": (cultureVal >= 50 && cultureVal < 100 ? "orange-bar" : "red-bar") %>" role="progressbar" aria-valuenow="<%= culture %>" aria-valuemin="0" aria-valuemax="100"
style="<%= "width: " + culture %>">
<span class="show-precentage"><%= culture %></span>
</div>
<div class="<%= widthClass %> appli-l eq-second-height">
<span class="appli-view-bar">
<div class="progress">
<div class="completion-progress-bar <%= cultureVal == 100 ? "green-bar": (cultureVal >= 50 && cultureVal < 100 ? "orange-bar" : "red-bar") %>" role="progressbar" aria-valuenow="<%= culture %>" aria-valuemin="0" aria-valuemax="100"
style="<%= "width: " + culture %>">
<span class="show-precentage"><%= culture %></span>
</div>
</div>
</span>
culture fit
</div>
</span>
culture fit
</div>
<%
}
%>
<div class="<%= widthClass %> appli-l eq-second-height">
<span class="appli-view-bar">
<div class="progress">
......
......@@ -7,7 +7,7 @@
<%
Job job = (Job) process.getAttribute("Job");
boolean applicantPage = (boolean) getData(request, "applicantPage");
boolean showList = (boolean) getData(request, "ShowList");
AppView appView = (AppView) getData(request, "AppView");
WorkFlow workFlow = (WorkFlow) getData(request, "WorkFlow");
String editJobPage = WebUtils.getSamePageInRenderMode(request, WebUtils.EDIT_JOB);
String sharePage = WebUtils.getSamePageInRenderMode(request, WebUtils.CREATED_JOB);
......@@ -60,7 +60,7 @@
<div class="off-name">
<oneit:toString value="<%= job.getAssessmentType() %>" mode="EscapeHTML" nullValue=""/>:
<span class="ex-management">
<oneit:toString value="<%= job.getLevel() %>" mode="EscapeHTML" />
<oneit:toString value="<%= job.getOccupation() %>" mode="EscapeHTML" />
</span>
</div>
<div class="off-name">
......@@ -124,11 +124,11 @@
EDIT JOB
</oneit:button>
<%
if(!applicantPage || !job.isExpressJob())
if(applicantPage)
{
%>
<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("Applications", applications)
.mapEntry("Detailed", false)
......@@ -136,14 +136,9 @@
.toMap() %>">
EXPORT APPLICANT REPORT
</oneit:button>
<%
}
if(applicantPage)
{
%>
<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("Applications", applications)
.mapEntry("Detailed", true)
......
......@@ -104,19 +104,25 @@
</oneit:button>
</span>
</div>
<div class="culture jcc">
<img src="images/culture-icon.svg"> culture fit
<span>
<oneit:button value=" " name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="PercentageWholeNumber" />
</oneit:button>
</span>
</div>
<%
if(job.getIncludeAssessmentCriteria()==Boolean.TRUE)
if(job.showCultureCriteriaSection())
{
%>
<div class="culture jcc">
<img src="images/culture-icon.svg"> culture fit
<span>
<oneit:button value=" " name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="PercentageWholeNumber" />
</oneit:button>
</span>
</div>
<%
}
if(job.showAssessmentCriteriaSection())
{
%>
<div class="criteria jcc <%=(missingReq ? "red-bg" : "green-bg")%> ">
......
......@@ -75,12 +75,8 @@
</div>
</div>
<%
String widthClass = "appli-jcs2";
if(job.getIncludeAssessmentCriteria() == Boolean.TRUE)
{
widthClass = "appli-jcs";
}
String widthClass = (job.showAssessmentCriteriaSection() && job.showCultureCriteriaSection()) ? "appli-jcs" :
(job.showAssessmentCriteriaSection() || job.showCultureCriteriaSection()) ? "appli-jcs2" : "appli-jcs3";
%>
<div class="<%= widthClass %> appli-l eq-second-height">
<span class="appli-view-bar">
......@@ -94,20 +90,26 @@
</span>
role fit
</div>
<div class="<%= widthClass %> appli-l eq-second-height">
<span class="appli-view-bar">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="<%= culture %>" aria-valuemin="0" aria-valuemax="100"
style="<%= "width: " + culture %>">
<span class="show-precentage"><%= culture %></span>
</div>
<%
if(job.showCultureCriteriaSection())
{
%>
<div class="<%= widthClass %> appli-l eq-second-height">
<span class="appli-view-bar">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="<%= culture %>" aria-valuemin="0" aria-valuemax="100"
style="<%= "width: " + culture %>">
<span class="show-precentage"><%= culture %></span>
</div>
</div>
</span>
culture fit
</div>
</span>
culture fit
</div>
<%
if(job.getIncludeAssessmentCriteria() == Boolean.TRUE)
}
if(job.showAssessmentCriteriaSection())
{
%>
<div class="<%= widthClass %> appli-l eq-second-height">
......
......@@ -180,39 +180,44 @@
</div>
<%
}
if(job.showCultureCriteriaSection())
{
%>
<div class="culture jcc">
<img src="images/culture-icon.svg"> culture fit
<span>
<oneit:button value=" " name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="PercentageWholeNumber" />
</oneit:button>
</span>
</div>
<div class="detail-box">
<%
Map<CultureClass, Tuple.T2<Long, Set<Tuple.T3>>> cultureFitData = (Map<CultureClass, Tuple.T2<Long, Set<Tuple.T3>>>)jobApplication.getCultureFit();
<div class="culture jcc">
<img src="images/culture-icon.svg"> culture fit
<span>
<oneit:button value=" " name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="PercentageWholeNumber" />
</oneit:button>
</span>
</div>
<div class="detail-box">
<%
Map<CultureClass, Tuple.T2<Long, Set<Tuple.T3>>> cultureFitData = (Map<CultureClass, Tuple.T2<Long, Set<Tuple.T3>>>)jobApplication.getCultureFit();
for(CultureClass cClass: cultureFitData.keySet())
{
if(cClass==null)
{
continue;
}
%>
<div class="detail-row">
<div class="detail-label"><oneit:toString value="<%= cClass %>" mode="EscapeHTML"/></div>
<div class="detail-no"><oneit:toString value="<%= cultureFitData.get(cClass) != null ? cultureFitData.get(cClass).get0() : 0 %>" mode="PercentageWholeNumber" /></div>
</div>
<%
}
%>
</div>
for(CultureClass cClass: cultureFitData.keySet())
{
if(cClass==null)
{
continue;
}
%>
<div class="detail-row">
<div class="detail-label"><oneit:toString value="<%= cClass %>" mode="EscapeHTML"/></div>
<div class="detail-no"><oneit:toString value="<%= cultureFitData.get(cClass) != null ? cultureFitData.get(cClass).get0() : 0 %>" mode="PercentageWholeNumber" /></div>
</div>
<%
}
%>
</div>
<%
if(job.getIncludeAssessmentCriteria()==Boolean.TRUE)
}
if(job.showAssessmentCriteriaSection())
{
%>
<div class="jcc">
......
......@@ -153,10 +153,10 @@
List<Tuple.T2> cultureConcerns = jobApplication.getCultureAreaOfConcerns();
%>
<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>
<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 class="row four-label">
<%
......@@ -202,61 +202,67 @@
%>
</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')">
<label class="progress-label">culture fit</label>
<div class="<%= "percent-" + jobApplication.getCultureFitColor() + " fixed-width" %>">
<p style="display:none;"><oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="TwoDPDouble" /></p>
</div>
<div class="row four-label">
<%
if(!cultureConcerns.isEmpty())
{
int rowCount = (cultureConcerns.size() % 2 == 0) ? (cultureConcerns.size() / 2) : ((cultureConcerns.size() + 1) / 2);
for(int i = 0; i < rowCount; i++)
{
Tuple.T2 firstTuple = cultureConcerns.get(i*2);
Tuple.T2 secondTuple = (cultureConcerns.size() > ((i*2) + 1)) ? cultureConcerns.get((i*2) + 1) : null;
String dotClass = ((ColorCode)firstTuple.get1()).getDotCSSClass();
%>
<div class="a-label-row">
<div class="col-md-6 col-sm-6 col-xs-6 text-left" onClick="focusDiv('<%= "#" + ((CultureElement)firstTuple.get0()).getObjectID() %>')">
<div style="margin-bottom: 6px">
<span class="common-dot <%= dotClass %>"></span>
<span class="r-y-label text-dot-dot">
<oneit:toString value="<%= firstTuple.get0() %>" mode="EscapeHTML"/>
</span>
</div>
</div>
<%
if(secondTuple != null)
<%
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>
<div class="<%= "percent-" + jobApplication.getCultureFitColor() + " fixed-width" %>">
<p style="display:none;"><oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="TwoDPDouble" /></p>
</div>
<div class="row four-label">
<%
if(!cultureConcerns.isEmpty())
{
int rowCount = (cultureConcerns.size() % 2 == 0) ? (cultureConcerns.size() / 2) : ((cultureConcerns.size() + 1) / 2);
for(int i = 0; i < rowCount; i++)
{
dotClass = ((ColorCode)secondTuple.get1()).getDotCSSClass();
%>
<div class="col-md-6 col-sm-6 col-xs-6 text-left" onClick="focusDiv('<%= "#" + ((CultureElement)firstTuple.get0()).getObjectID() %>')">
<div style="margin-bottom: 6px">
<span class="common-dot <%= dotClass %>"></span>
<span class="r-y-label text-dot-dot">
<oneit:toString value="<%= secondTuple.get0() %>" mode="EscapeHTML"/>
</span>
Tuple.T2 firstTuple = cultureConcerns.get(i*2);
Tuple.T2 secondTuple = (cultureConcerns.size() > ((i*2) + 1)) ? cultureConcerns.get((i*2) + 1) : null;
String dotClass = ((ColorCode)firstTuple.get1()).getDotCSSClass();
%>
<div class="a-label-row">
<div class="col-md-6 col-sm-6 col-xs-6 text-left" onClick="focusDiv('<%= "#" + ((CultureElement)firstTuple.get0()).getObjectID() %>')">
<div style="margin-bottom: 6px">
<span class="common-dot <%= dotClass %>"></span>
<span class="r-y-label text-dot-dot">
<oneit:toString value="<%= firstTuple.get0() %>" mode="EscapeHTML"/>
</span>
</div>
</div>
<%
if(secondTuple != null)
{
dotClass = ((ColorCode)secondTuple.get1()).getDotCSSClass();
%>
<div class="col-md-6 col-sm-6 col-xs-6 text-left" onClick="focusDiv('<%= "#" + ((CultureElement)firstTuple.get0()).getObjectID() %>')">
<div style="margin-bottom: 6px">
<span class="common-dot <%= dotClass %>"></span>
<span class="r-y-label text-dot-dot">
<oneit:toString value="<%= secondTuple.get0() %>" mode="EscapeHTML"/>
</span>
</div>
</div>
<%
}
%>
</div>
<%
<%
}
%>
</div>
<%
}
}
%>
</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>
<div class="<%= "percent-" + jobApplication.getRequirementFitColor() + " fixed-width progress-circle" %>">
<% if (missingReq) { %>
......@@ -330,23 +336,22 @@
}
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();
String cssClass = colorCode != null ? colorCode.getCSSClass() : "";
%>
<div class="main-score-bar main-pro-bar">
<div class="score-bar pro-bar">
<span class="appli-label"><oneit:toString value="<%= factorClass %>" mode="EscapeHTML"/></span>
<span class="appli-percen gray"><oneit:toString value="<%= rating %>" mode="PercentageWholeNumber"/></span>
<span class="appli-progress-bar">
<div class="progress">
<div class="progress-bar <%= cssClass %>" role="progressbar" aria-valuenow="<%= rating %>" aria-valuemin="0" aria-valuemax="100" style="width:<%= rating %>%"></div>
</div>
</span>
<span class="expand-box">
<span class="hasarrow"><img src="images/select-down-arrow.svg"></span>
</span>
<span class="appli-percen gray"><oneit:toString value="<%= rating %>" mode="PercentageWholeNumber"/></span>
<span class="appli-progress-bar">
<div class="progress">
<div class="progress-bar <%= cssClass %>" role="progressbar" aria-valuenow="<%= rating %>" aria-valuemin="0" aria-valuemax="100" style="width:<%= rating %>%"></div>
</div>
</span>
<span class="expand-box">
<span class="hasarrow"><img src="images/select-down-arrow.svg"></span>
</span>
</div>
<div class="core-values expand-hide-tag">
......
......@@ -298,57 +298,63 @@
</div>
<div class="form-brack-line-sub"></div>
<div class="row">
<div class="col-md-12 review-medium-title">
<oneit:label GUIName="Organisation Culture Statement" />
<span class="skill-label">
<oneit:toString value="<%= job.getCultureStatement() %>" mode="ParagraphHTML" />
</span>
</div>
</div>
<div class=" job-detail-subsection">
<%
for(CultureClass cultureClass : CultureClass.getCultureClassArray())
if(job.showCultureCriteriaSection())
{
boolean firstCulture = true;
for (CultureCriteria criteria : job.getCultureCriteriasForClass(cultureClass))
{
if(criteria.getIsApplicable())
%>
<div class="row">
<div class="col-md-12 review-medium-title">
<oneit:label GUIName="Organisation Culture Statement" />
<span class="skill-label">
<oneit:toString value="<%= job.getCultureStatement() %>" mode="ParagraphHTML" />
</span>
</div>
</div>
<div class=" job-detail-subsection">
<%
for(CultureClass cultureClass : CultureClass.getCultureClassArray())
{
if(firstCulture)
boolean firstCulture = true;
for (CultureCriteria criteria : job.getCultureCriteriasForClass(cultureClass))
{
firstCulture = false;
%>
<div class="form-brack-line-sub"></div>
<div class="form-group">
<div class="beloning">
<oneit:toString value="<%= cultureClass %>" mode="EscapeHTML"/>
if(criteria.getIsApplicable())
{
if(firstCulture)
{
firstCulture = false;
%>
<div class="form-brack-line-sub"></div>
<div class="form-group">
<div class="beloning">
<oneit:toString value="<%= cultureClass %>" mode="EscapeHTML"/>
</div>
</div>
<%
}
%>
<div class="row">
<div class="col-md-4 review-label culture-element">
<oneit:toString value="<%= criteria.getCultureElement() %>" mode="EscapeHTML"/>
</div>
<div class="col-md-8 review-data">
<oneit:toString value="<%= criteria.getCultureElementRating()!= null ? criteria.getCultureElementRating().getDescription() : ""%>" mode="EscapeHTML"/>
(<oneit:toString value="<%= criteria.getImportance() %>" mode="EscapeHTML"/>)
</div>
</div>
</div>
<%
<%
}
}
%>
<div class="row">
<div class="col-md-4 review-label culture-element">
<oneit:toString value="<%= criteria.getCultureElement() %>" mode="EscapeHTML"/>
</div>
<div class="col-md-8 review-data">
<oneit:toString value="<%= criteria.getCultureElementRating()!= null ? criteria.getCultureElementRating().getDescription() : ""%>" mode="EscapeHTML"/>
(<oneit:toString value="<%= criteria.getImportance() %>" mode="EscapeHTML"/>)
</div>
</div>
<%
}
}
firstCulture = true;
}
%>
firstCulture = true;
}
%>
</div>
<%
}
%>
<div class="text-center">
<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)
......
<?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 @@
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);
}
else if(process.getAttribute("ShowList") != null && process.getAttribute("ShowList") == Boolean.FALSE)
{
session.setAttribute("ShowList",false);
session.setAttribute("AppView", (AppView) process.getAttribute("AppView"));
}
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);
process.setAttribute("AppSortOption", appSortOpt);
process.setAttribute("ApplicationFilter", appFilter);
process.setAttribute("WorkFlowStatus", workflowStatus);
process.setAttribute("ShowList", showList);
process.setAttribute("AppView", appView);
%>
<oneit:form name="viewApplicants" method="post" enctype="multipart/form-data">
<div class="dashboard-content-area">
<oneit:dynInclude page="/extensions/adminportal/inc/applicant_view_tabs.jsp"
ShowList="<%= showList %>"
AppView="<%= appView %>"
applications="<%= sortedApplications %>"
WorkFlowStatus="<%= workflowStatus %>"
WorkFlow="<%= workflow %>"
......@@ -145,7 +140,7 @@
<div class="second-part view-app-area">
<oneit:dynInclude page="/extensions/adminportal/inc/application_sorting_bar.jsp"
ShowList="<%= showList %>"
AppView="<%= appView %>"
SearchApplicant="<%= searchApplicant %>"
ShowOrderBy="<%= sortedApplications.size() > 1 %>"
ApplicationFilter="<%= appFilter %>"
......@@ -154,7 +149,7 @@
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<%
if(showList)
if(appView == AppView.LIST)
{
if(workflowStatus == ApplicationStatus.DRAFT)
{
......@@ -178,27 +173,24 @@
<%
}
}
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 %>"
currentPage="<%= currentPage %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<%
}
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 %>"
currentPage="<%= currentPage %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<%
}
}
%>
</div>
......
......@@ -20,6 +20,10 @@
$(document).ready(function(){
recalcFunction = setupRecalc ($("form#editJob"), {'recalcOnError':true});
$(".switch input[type='checkbox']").change(function() {
$("button[name$='changeCultureCriteria']").click();
});
});
</script>
......@@ -44,58 +48,80 @@
.toMap() %>" />
<div class="form-page-area nopadding">
<div class="create-job">
<%
if(templates.length > 0)
{
%>
<div class="form-page-section" style="padding-bottom: 0px">
<div class="form-group">
<label class="label-16 work-title">Culture</label>
</div>
<div class="form-group row wider-select">
<div class="col-md-12">
<tagfile:ormsingleasso_select obj="<%= job %>" assocName="CultureTemplate" options="<%= templates %>"
blankValue="Optional: Select from previously defined Cultures"/>
</div>
</div>
</div>
<%
}
%>
<div class="form-page-section darkbg">
<div class="form-page-section" style="padding-bottom: 0px">
<div class="form-group">
<label><oneit:label GUIName="Organisation Culture Statement" /> <a href="#" title="Note description gose here." class="info-icon"><img src="images/info-icon.png" /></a></label>
<oneit:ormtextarea obj="<%= job %>" attributeName="CultureStatement" cssClass="form-control textarea-box"/>
<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:dynInclude page="/extensions/adminportal/inc/culture_details.jsp" Job="<%= job %>" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="form-page-section">
<div class="form-group">
<div class="styled_checkboxes">
<div class="checkbox checkbox-primary">
<oneit:ormInput obj="<%= job %>" id="save-assess-check" attributeName="SaveCultureTemplate" type="checkbox"/>
<oneit:recalcClass htmlTag="span" classScript="job.showSaveCultureTemplate() ? 'checked': 'unchecked'" job="<%= job %>">
<label for="save-assess-check">
<oneit:ormlabel obj="<%= job %>" field="SaveCultureTemplate" />
</label>
</oneit:recalcClass>
<oneit:recalcClass htmlTag="div" classScript="job.showCultureCriteriaSection() ? 'show': 'hide'" job="<%= job %>">
<%
if(templates.length > 0)
{
%>
<div class="form-page-section" style="padding-bottom: 0px; padding-top: 0px;">
<div class="form-group">
<label class="label-16 work-title">Culture</label>
</div>
<div class="form-group row wider-select">
<div class="col-md-12">
<tagfile:ormsingleasso_select obj="<%= job %>" assocName="CultureTemplate" options="<%= templates %>"
blankValue="Optional: Select from previously defined Cultures"/>
</div>
</div>
</div>
<%
}
%>
<div class="form-page-section darkbg">
<div class="form-group">
<label><oneit:label GUIName="Organisation Culture Statement" /> <a href="#" title="Note description gose here." class="info-icon"><img src="images/info-icon.png" /></a></label>
<oneit:ormtextarea obj="<%= job %>" attributeName="CultureStatement" cssClass="form-control textarea-box"/>
</div>
</div>
<oneit:recalcClass htmlTag="div" classScript="job.showSaveCultureTemplate() ? 'form-group template-save show': 'form-group template-save hide'" job="<%= job %>">
<div class="input-group input-group-lg">
<div class="icon-addon addon-lg">
<oneit:ormInput obj="<%= job %>" type="text" attributeName="CultureTemplateName" cssClass="form-control" />
<oneit:dynInclude page="/extensions/adminportal/inc/culture_details.jsp" Job="<%= job %>" data="<%= CollectionUtils.EMPTY_MAP%>"/>
</oneit:recalcClass>
<div class="form-page-section">
<oneit:recalcClass htmlTag="div" classScript="job.showCultureCriteriaSection() ? 'show': 'hide'" job="<%= job %>">
<div class="form-group">
<div class="styled_checkboxes">
<div class="checkbox checkbox-primary">
<oneit:ormInput obj="<%= job %>" id="save-assess-check" attributeName="SaveCultureTemplate" type="checkbox"/>
<oneit:recalcClass htmlTag="span" classScript="job.showSaveCultureTemplate() ? 'checked': 'unchecked'" job="<%= job %>">
<label for="save-assess-check">
<oneit:ormlabel obj="<%= job %>" field="SaveCultureTemplate" />
</label>
</oneit:recalcClass>
</div>
</div>
<span class="input-group-btn">
<oneit:button value="SAVE" name="saveCultureTemplate" cssClass="btn btn-primary"
requestAttribs="<%= CollectionUtils.mapEntry("Job", job)
.mapEntry (UpdateMappedObjFP.FAIL_VALIDATION_ERRORS, Boolean.FALSE)
.toMap() %>" />
</span>
</div>
<oneit:recalcClass htmlTag="div" classScript="job.showSaveCultureTemplate() ? 'form-group template-save show': 'form-group template-save hide'" job="<%= job %>">
<div class="input-group input-group-lg">
<div class="icon-addon addon-lg">
<oneit:ormInput obj="<%= job %>" type="text" attributeName="CultureTemplateName" cssClass="form-control" />
</div>
<span class="input-group-btn">
<oneit:button value="SAVE" name="saveCultureTemplate" cssClass="btn btn-primary"
requestAttribs="<%= CollectionUtils.mapEntry("Job", job)
.mapEntry (UpdateMappedObjFP.FAIL_VALIDATION_ERRORS, Boolean.FALSE)
.toMap() %>" />
</span>
</div>
</oneit:recalcClass>
</oneit:recalcClass>
<div class="text-center">
<oneit:button value="Save as draft" name="saveJob" cssClass="btn btn-primary top-margin-25 largeBtn greyBtn"
......
......@@ -78,7 +78,7 @@
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="<%= isSelectionComplete ? "app-outline-complete-icon" : "app-outline-selection-icon" %>"></div>
</div>
......@@ -105,35 +105,41 @@
</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="block-icon <%= isCultureComplete ? "app-outline-complete" : "" %>">
<div class="<%= isCultureComplete ? "app-outline-complete-icon" : "app-outline-culture-icon" %>"></div>
</div>
<div class="app-block-title">Your preferences about where you work</div>
<div class="estimated-time">
<%
if(isCultureComplete)
{
%>
<span>Completed</span>
<%
}
else
{
%>
Estimated time to complete: <span>5 mins</span>
<%
}
%>
</div>
<p>
A job isn't just about what one does, but the environment where one does it.
This questionnaire will help us both learn what's most important to you in a workplace environment.
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>
</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 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="<%= isCultureComplete ? "app-outline-complete-icon" : "app-outline-culture-icon" %>"></div>
</div>
<div class="app-block-title">Your preferences about where you work</div>
<div class="estimated-time">
<%
if(isCultureComplete)
{
%>
<span>Completed</span>
<%
}
else
{
%>
Estimated time to complete: <span>5 mins</span>
<%
}
%>
</div>
<p>
A job isn't just about what one does, but the environment where one does it.
This questionnaire will help us both learn what's most important to you in a workplace environment.
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>
</div>
<%
}
%>
<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="<%= isAssesmentComplete ? "app-outline-complete-icon" : "app-outline-assesmet-icon" %>"></div>
</div>
......
......@@ -11,6 +11,7 @@
String secondPage = WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture");
String thirdPage = WebUtils.getSamePageInRenderMode(request, "JobMatchAssessment");
boolean includeAssessment = jobApplication.isIncludeAssessmentCriteria();
boolean includeCulture = jobApplication.isIncludeCultureCriteria();
// Boolean alreadyCompletedCulture = (Boolean) process.getAttribute("AlreadyCompletedCulture");
// Boolean alreadyCompletedRole = (Boolean) process.getAttribute("AlreadyCompletedRole");
......@@ -41,18 +42,24 @@
</li>
<%
}
if(includeCulture)
{
%>
<li class="<%= pageNumber == "2" ? "active" : isCultureComplete ? "complate" : ""%>">
<oneit:button value=" " name="validateApplication" skin="link" disabled="<%= isCultureComplete ? "true" : "false"%>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", secondPage)
.mapEntry("JobApplication", jobApplication)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.mapEntry("fromRequirements", fromRequirements)
.toMap() %>">
<span><%= isCultureComplete ? "<img src=\"images/right-mark.png\" />" : (includeAssessment ? "2" : "1")%></span>
<div class="mobile-hide">Workplace Preferences</div>
</oneit:button>
</li>
<%
}
%>
<li class="<%= pageNumber == "2" ? "active" : isCultureComplete ? "complate" : ""%>">
<oneit:button value=" " name="validateApplication" skin="link" disabled="<%= isCultureComplete ? "true" : "false"%>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", secondPage)
.mapEntry("JobApplication", jobApplication)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.mapEntry("fromRequirements", fromRequirements)
.toMap() %>">
<span><%= isCultureComplete ? "<img src=\"images/right-mark.png\" />" : (includeAssessment ? "2" : "1")%></span>
<div class="mobile-hide">Workplace Preferences</div>
</oneit:button>
</li>
<li class="<%= pageNumber == "3" ? "active" : isAssesmentComplete ? "complate" : ""%>">
<oneit:button value=" " name="validateApplication" skin="link" disabled="<%= isAssesmentComplete ? "true" : "false"%>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", thirdPage)
......@@ -60,11 +67,11 @@
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.mapEntry("fromRequirements", fromRequirements)
.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>
</oneit:button>
</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>
</div>
</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