Commit c70a4cf3 by nilu

S34576305 # Client - Incoming Issues (raised by Client) #Expose Assessment length

parent de369962
...@@ -14,6 +14,7 @@ import oneit.utils.filter.Filter; ...@@ -14,6 +14,7 @@ import oneit.utils.filter.Filter;
import oneit.utils.parsers.FieldException; import oneit.utils.parsers.FieldException;
import performa.orm.types.AssessmentType; import performa.orm.types.AssessmentType;
import performa.orm.types.CriteriaType; import performa.orm.types.CriteriaType;
import performa.orm.types.JobType;
public class AssessmentCriteriaTemplate extends BaseAssessmentCriteriaTemplate public class AssessmentCriteriaTemplate extends BaseAssessmentCriteriaTemplate
...@@ -102,13 +103,57 @@ public class AssessmentCriteriaTemplate extends BaseAssessmentCriteriaTemplate ...@@ -102,13 +103,57 @@ public class AssessmentCriteriaTemplate extends BaseAssessmentCriteriaTemplate
if(occupation != null) if(occupation != null)
{ {
setOccupation(occupation); setOccupation(occupation);
setLevel(occupation.getAssessmentLevel()); setSuggestedAssessmentType(getJobType() == JobType.FULL_TIME ? occupation.getAssessmentType() : occupation.getPartTimeAssessmentType());
setAssessmentType(occupation.getAssessmentType()); setAssessmentType(getJobType() == JobType.FULL_TIME ? occupation.getAssessmentType() : occupation.getPartTimeAssessmentType());
setLevel(getAssessmentType() == AssessmentType.COMPREHENSIVE ? occupation.getAssessmentLevel() : occupation.getExpressAssessmentLevel());
} }
super.postILOJobTitleChange(); super.postILOJobTitleChange();
} }
@Override
protected void postJobTypeChange() throws FieldException
{
Occupation occupation = getILOJobTitle() != null ? getILOJobTitle().getOccupation() : null;
if(occupation != null)
{
setSuggestedAssessmentType(getJobType() == JobType.FULL_TIME ? occupation.getAssessmentType() : occupation.getPartTimeAssessmentType());
setAssessmentType(getJobType() == JobType.FULL_TIME ? occupation.getAssessmentType() : occupation.getPartTimeAssessmentType());
setLevel(getAssessmentType() == AssessmentType.COMPREHENSIVE ? occupation.getAssessmentLevel() : occupation.getExpressAssessmentLevel());
}
super.postJobTypeChange();
}
@Override
public AssessmentType getSuggestedAssessmentType()
{
Occupation occupation = getILOJobTitle() != null ? getILOJobTitle().getOccupation() : null;
if(occupation != null)
{
return getJobType() == JobType.FULL_TIME ? occupation.getAssessmentType() : occupation.getPartTimeAssessmentType();
}
return super.getSuggestedAssessmentType();
}
@Override
protected void postAssessmentTypeChange() throws FieldException
{
Occupation occupation = getILOJobTitle() != null ? getILOJobTitle().getOccupation() : null;
if(occupation != null && getSuggestedAssessmentType() != super.getAssessmentType())
{
setLevel(getAssessmentType() == AssessmentType.COMPREHENSIVE ? occupation.getAssessmentLevel() : occupation.getExpressAssessmentLevel());
}
super.postAssessmentTypeChange();
}
public Occupation displayOccupation() public Occupation displayOccupation()
{ {
return getOccupation(); return getOccupation();
......
...@@ -7,6 +7,8 @@ ...@@ -7,6 +7,8 @@
<IMPORT value="performa.orm.types.*"/> <IMPORT value="performa.orm.types.*"/>
<IMPORT value="oneit.security.*"/> <IMPORT value="oneit.security.*"/>
<TRANSIENT name="SuggestedAssessmentType" type="AssessmentType" attribHelper="EnumeratedAttributeHelper"/>
<MULTIPLEREFERENCE name="AssessmentCriterias" type="AssessmentCriteria" backreferenceName="Template" /> <MULTIPLEREFERENCE name="AssessmentCriterias" type="AssessmentCriteria" backreferenceName="Template" />
<MULTIPLEREFERENCE name="WorkFlows" type="WorkFlow" backreferenceName="Template" /> <MULTIPLEREFERENCE name="WorkFlows" type="WorkFlow" backreferenceName="Template" />
......
...@@ -54,6 +54,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -54,6 +54,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
public static final String FIELD_RequireCV = "RequireCV"; public static final String FIELD_RequireCV = "RequireCV";
public static final String FIELD_AssessmentType = "AssessmentType"; public static final String FIELD_AssessmentType = "AssessmentType";
public static final String FIELD_IncludeAssessmentCriteria = "IncludeAssessmentCriteria"; public static final String FIELD_IncludeAssessmentCriteria = "IncludeAssessmentCriteria";
public static final String FIELD_SuggestedAssessmentType = "SuggestedAssessmentType";
public static final String SINGLEREFERENCE_Level = "Level"; public static final String SINGLEREFERENCE_Level = "Level";
public static final String SINGLEREFERENCE_Occupation = "Occupation"; public static final String SINGLEREFERENCE_Occupation = "Occupation";
public static final String SINGLEREFERENCE_JobOwner = "JobOwner"; public static final String SINGLEREFERENCE_JobOwner = "JobOwner";
...@@ -84,6 +85,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -84,6 +85,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
private static final DefaultAttributeHelper<AssessmentCriteriaTemplate> HELPER_RequireCV = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<AssessmentCriteriaTemplate> HELPER_RequireCV = DefaultAttributeHelper.INSTANCE;
private static final EnumeratedAttributeHelper<AssessmentCriteriaTemplate, AssessmentType> HELPER_AssessmentType = new EnumeratedAttributeHelper<AssessmentCriteriaTemplate, AssessmentType> (AssessmentType.FACTORY_AssessmentType); private static final EnumeratedAttributeHelper<AssessmentCriteriaTemplate, AssessmentType> HELPER_AssessmentType = new EnumeratedAttributeHelper<AssessmentCriteriaTemplate, AssessmentType> (AssessmentType.FACTORY_AssessmentType);
private static final DefaultAttributeHelper<AssessmentCriteriaTemplate> HELPER_IncludeAssessmentCriteria = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<AssessmentCriteriaTemplate> HELPER_IncludeAssessmentCriteria = DefaultAttributeHelper.INSTANCE;
private static final EnumeratedAttributeHelper<AssessmentCriteriaTemplate, AssessmentType> HELPER_SuggestedAssessmentType = new EnumeratedAttributeHelper<AssessmentCriteriaTemplate, AssessmentType> (AssessmentType.FACTORY_AssessmentType);
// Private attributes corresponding to business object data // Private attributes corresponding to business object data
...@@ -99,6 +101,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -99,6 +101,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
private Boolean _RequireCV; private Boolean _RequireCV;
private AssessmentType _AssessmentType; private AssessmentType _AssessmentType;
private Boolean _IncludeAssessmentCriteria; private Boolean _IncludeAssessmentCriteria;
private AssessmentType _SuggestedAssessmentType;
// Private attributes corresponding to single references // Private attributes corresponding to single references
...@@ -121,6 +124,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -121,6 +124,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
private static final Map ATTRIBUTES_METADATA_AssessmentCriteriaTemplate = new HashMap (); private static final Map ATTRIBUTES_METADATA_AssessmentCriteriaTemplate = new HashMap ();
// Arrays of validators for each attribute // Arrays of validators for each attribute
private static final AttributeValidator[] FIELD_SuggestedAssessmentType_Validators;
private static final AttributeValidator[] FIELD_TemplateName_Validators; private static final AttributeValidator[] FIELD_TemplateName_Validators;
private static final AttributeValidator[] FIELD_JobTitle_Validators; private static final AttributeValidator[] FIELD_JobTitle_Validators;
private static final AttributeValidator[] FIELD_JobDescription_Validators; private static final AttributeValidator[] FIELD_JobDescription_Validators;
...@@ -158,6 +162,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -158,6 +162,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
setupAssocMetaData_HiringTeam(); setupAssocMetaData_HiringTeam();
setupAssocMetaData_CompanyUser(); setupAssocMetaData_CompanyUser();
setupAssocMetaData_ILOJobTitle(); setupAssocMetaData_ILOJobTitle();
FIELD_SuggestedAssessmentType_Validators = (AttributeValidator[])setupAttribMetaData_SuggestedAssessmentType(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_TemplateName_Validators = (AttributeValidator[])setupAttribMetaData_TemplateName(validatorMapping).toArray (new AttributeValidator[0]); FIELD_TemplateName_Validators = (AttributeValidator[])setupAttribMetaData_TemplateName(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_JobTitle_Validators = (AttributeValidator[])setupAttribMetaData_JobTitle(validatorMapping).toArray (new AttributeValidator[0]); FIELD_JobTitle_Validators = (AttributeValidator[])setupAttribMetaData_JobTitle(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_JobDescription_Validators = (AttributeValidator[])setupAttribMetaData_JobDescription(validatorMapping).toArray (new AttributeValidator[0]); FIELD_JobDescription_Validators = (AttributeValidator[])setupAttribMetaData_JobDescription(validatorMapping).toArray (new AttributeValidator[0]);
...@@ -330,6 +335,24 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -330,6 +335,24 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
// Meta Info setup // Meta Info setup
private static List setupAttribMetaData_SuggestedAssessmentType(Map validatorMapping)
{
Map metaInfo = new HashMap ();
metaInfo.put ("attribHelper", "EnumeratedAttributeHelper");
metaInfo.put ("name", "SuggestedAssessmentType");
metaInfo.put ("type", "AssessmentType");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for AssessmentCriteriaTemplate.SuggestedAssessmentType:", metaInfo);
ATTRIBUTES_METADATA_AssessmentCriteriaTemplate.put (FIELD_SuggestedAssessmentType, Collections.unmodifiableMap (metaInfo));
List validators = BaseBusinessClass.getAttribValidators(AssessmentCriteriaTemplate.class, "SuggestedAssessmentType", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for AssessmentCriteriaTemplate.SuggestedAssessmentType:", validators);
return validators;
}
// Meta Info setup
private static List setupAttribMetaData_TemplateName(Map validatorMapping) private static List setupAttribMetaData_TemplateName(Map validatorMapping)
{ {
Map metaInfo = new HashMap (); Map metaInfo = new HashMap ();
...@@ -607,6 +630,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -607,6 +630,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
_RequireCV = (Boolean)(Boolean.FALSE); _RequireCV = (Boolean)(Boolean.FALSE);
_AssessmentType = (AssessmentType)(AssessmentType.COMPREHENSIVE); _AssessmentType = (AssessmentType)(AssessmentType.COMPREHENSIVE);
_IncludeAssessmentCriteria = (Boolean)(Boolean.TRUE); _IncludeAssessmentCriteria = (Boolean)(Boolean.TRUE);
_SuggestedAssessmentType = (AssessmentType)(HELPER_SuggestedAssessmentType.initialise (_SuggestedAssessmentType));
} }
...@@ -1835,6 +1859,104 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -1835,6 +1859,104 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
} }
} }
/**
* Get the attribute SuggestedAssessmentType
*/
public AssessmentType getSuggestedAssessmentType ()
{
assertValid();
AssessmentType valToReturn = _SuggestedAssessmentType;
for (AssessmentCriteriaTemplateBehaviourDecorator bhd : AssessmentCriteriaTemplate_BehaviourDecorators)
{
valToReturn = bhd.getSuggestedAssessmentType ((AssessmentCriteriaTemplate)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 preSuggestedAssessmentTypeChange (AssessmentType newSuggestedAssessmentType) 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 postSuggestedAssessmentTypeChange () throws FieldException
{
}
public FieldWriteability getWriteability_SuggestedAssessmentType ()
{
return getFieldWritabilityUtil (FieldWriteability.TRUE);
}
/**
* Set the attribute SuggestedAssessmentType. Checks to ensure a new value
* has been supplied. If so, marks the field as altered and sets the attribute.
*/
public void setSuggestedAssessmentType (AssessmentType newSuggestedAssessmentType) throws FieldException
{
boolean oldAndNewIdentical = HELPER_SuggestedAssessmentType.compare (_SuggestedAssessmentType, newSuggestedAssessmentType);
try
{
for (AssessmentCriteriaTemplateBehaviourDecorator bhd : AssessmentCriteriaTemplate_BehaviourDecorators)
{
newSuggestedAssessmentType = bhd.setSuggestedAssessmentType ((AssessmentCriteriaTemplate)this, newSuggestedAssessmentType);
oldAndNewIdentical = HELPER_SuggestedAssessmentType.compare (_SuggestedAssessmentType, newSuggestedAssessmentType);
}
if (FIELD_SuggestedAssessmentType_Validators.length > 0)
{
Object newSuggestedAssessmentTypeObj = HELPER_SuggestedAssessmentType.toObject (newSuggestedAssessmentType);
if (newSuggestedAssessmentTypeObj != null)
{
int loopMax = FIELD_SuggestedAssessmentType_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_AssessmentCriteriaTemplate.get (FIELD_SuggestedAssessmentType);
for (int v = 0 ; v < loopMax ; ++v)
{
FIELD_SuggestedAssessmentType_Validators[v].checkAttribute (this, FIELD_SuggestedAssessmentType, metadata, newSuggestedAssessmentTypeObj);
}
}
}
}
catch (FieldException e)
{
if (!oldAndNewIdentical)
{
e.setWouldModify ();
}
throw e;
}
if (!oldAndNewIdentical)
{
assertValid();
Debug.assertion (getWriteability_SuggestedAssessmentType () != FieldWriteability.FALSE, "Field SuggestedAssessmentType is not writeable");
preSuggestedAssessmentTypeChange (newSuggestedAssessmentType);
markFieldChange (FIELD_SuggestedAssessmentType);
_SuggestedAssessmentType = newSuggestedAssessmentType;
postFieldChange (FIELD_SuggestedAssessmentType);
postSuggestedAssessmentTypeChange ();
}
}
/** /**
...@@ -3455,6 +3577,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -3455,6 +3577,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
_RequireCV = sourceAssessmentCriteriaTemplate._RequireCV; _RequireCV = sourceAssessmentCriteriaTemplate._RequireCV;
_AssessmentType = sourceAssessmentCriteriaTemplate._AssessmentType; _AssessmentType = sourceAssessmentCriteriaTemplate._AssessmentType;
_IncludeAssessmentCriteria = sourceAssessmentCriteriaTemplate._IncludeAssessmentCriteria; _IncludeAssessmentCriteria = sourceAssessmentCriteriaTemplate._IncludeAssessmentCriteria;
_SuggestedAssessmentType = sourceAssessmentCriteriaTemplate._SuggestedAssessmentType;
} }
} }
...@@ -3533,6 +3656,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -3533,6 +3656,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
_RequireCV = (Boolean)(HELPER_RequireCV.readExternal (_RequireCV, vals.get(FIELD_RequireCV))); // _RequireCV = (Boolean)(HELPER_RequireCV.readExternal (_RequireCV, vals.get(FIELD_RequireCV))); //
_AssessmentType = (AssessmentType)(HELPER_AssessmentType.readExternal (_AssessmentType, vals.get(FIELD_AssessmentType))); // _AssessmentType = (AssessmentType)(HELPER_AssessmentType.readExternal (_AssessmentType, vals.get(FIELD_AssessmentType))); //
_IncludeAssessmentCriteria = (Boolean)(HELPER_IncludeAssessmentCriteria.readExternal (_IncludeAssessmentCriteria, vals.get(FIELD_IncludeAssessmentCriteria))); // _IncludeAssessmentCriteria = (Boolean)(HELPER_IncludeAssessmentCriteria.readExternal (_IncludeAssessmentCriteria, vals.get(FIELD_IncludeAssessmentCriteria))); //
_SuggestedAssessmentType = (AssessmentType)(HELPER_SuggestedAssessmentType.readExternal (_SuggestedAssessmentType, vals.get(FIELD_SuggestedAssessmentType))); //
_Level.readExternalData(vals.get(SINGLEREFERENCE_Level)); _Level.readExternalData(vals.get(SINGLEREFERENCE_Level));
_Occupation.readExternalData(vals.get(SINGLEREFERENCE_Occupation)); _Occupation.readExternalData(vals.get(SINGLEREFERENCE_Occupation));
_JobOwner.readExternalData(vals.get(SINGLEREFERENCE_JobOwner)); _JobOwner.readExternalData(vals.get(SINGLEREFERENCE_JobOwner));
...@@ -3566,6 +3690,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -3566,6 +3690,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
vals.put (FIELD_RequireCV, HELPER_RequireCV.writeExternal (_RequireCV)); vals.put (FIELD_RequireCV, HELPER_RequireCV.writeExternal (_RequireCV));
vals.put (FIELD_AssessmentType, HELPER_AssessmentType.writeExternal (_AssessmentType)); vals.put (FIELD_AssessmentType, HELPER_AssessmentType.writeExternal (_AssessmentType));
vals.put (FIELD_IncludeAssessmentCriteria, HELPER_IncludeAssessmentCriteria.writeExternal (_IncludeAssessmentCriteria)); vals.put (FIELD_IncludeAssessmentCriteria, HELPER_IncludeAssessmentCriteria.writeExternal (_IncludeAssessmentCriteria));
vals.put (FIELD_SuggestedAssessmentType, HELPER_SuggestedAssessmentType.writeExternal (_SuggestedAssessmentType));
vals.put (SINGLEREFERENCE_Level, _Level.writeExternalData()); vals.put (SINGLEREFERENCE_Level, _Level.writeExternalData());
vals.put (SINGLEREFERENCE_Occupation, _Occupation.writeExternalData()); vals.put (SINGLEREFERENCE_Occupation, _Occupation.writeExternalData());
vals.put (SINGLEREFERENCE_JobOwner, _JobOwner.writeExternalData()); vals.put (SINGLEREFERENCE_JobOwner, _JobOwner.writeExternalData());
...@@ -3661,6 +3786,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -3661,6 +3786,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
{ {
super.visitAttributes (visitor); super.visitAttributes (visitor);
visitor.visitField(this, FIELD_SuggestedAssessmentType, HELPER_SuggestedAssessmentType.toObject(getSuggestedAssessmentType()));
} }
...@@ -4078,6 +4204,10 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -4078,6 +4204,10 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
{ {
return HELPER_IncludeAssessmentCriteria.toObject (getIncludeAssessmentCriteria ()); return HELPER_IncludeAssessmentCriteria.toObject (getIncludeAssessmentCriteria ());
} }
else if (attribName.equals (FIELD_SuggestedAssessmentType))
{
return HELPER_SuggestedAssessmentType.toObject (getSuggestedAssessmentType ());
}
else else
{ {
return super.getAttribute (attribName); return super.getAttribute (attribName);
...@@ -4139,6 +4269,10 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -4139,6 +4269,10 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
{ {
return HELPER_IncludeAssessmentCriteria; return HELPER_IncludeAssessmentCriteria;
} }
else if (attribName.equals (FIELD_SuggestedAssessmentType))
{
return HELPER_SuggestedAssessmentType;
}
else else
{ {
return super.getAttributeHelper (attribName); return super.getAttributeHelper (attribName);
...@@ -4200,6 +4334,10 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -4200,6 +4334,10 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
{ {
setIncludeAssessmentCriteria ((Boolean)(HELPER_IncludeAssessmentCriteria.fromObject (_IncludeAssessmentCriteria, attribValue))); setIncludeAssessmentCriteria ((Boolean)(HELPER_IncludeAssessmentCriteria.fromObject (_IncludeAssessmentCriteria, attribValue)));
} }
else if (attribName.equals (FIELD_SuggestedAssessmentType))
{
setSuggestedAssessmentType ((AssessmentType)(HELPER_SuggestedAssessmentType.fromObject (_SuggestedAssessmentType, attribValue)));
}
else else
{ {
super.setAttribute (attribName, attribValue); super.setAttribute (attribName, attribValue);
...@@ -4308,6 +4446,10 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -4308,6 +4446,10 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
{ {
return getWriteability_ILOJobTitle (); return getWriteability_ILOJobTitle ();
} }
else if (fieldName.equals (FIELD_SuggestedAssessmentType))
{
return getWriteability_SuggestedAssessmentType ();
}
else else
{ {
return super.getWriteable (fieldName); return super.getWriteable (fieldName);
...@@ -4378,6 +4520,11 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -4378,6 +4520,11 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
fields.add (FIELD_IncludeAssessmentCriteria); fields.add (FIELD_IncludeAssessmentCriteria);
} }
if (getWriteability_SuggestedAssessmentType () != FieldWriteability.TRUE)
{
fields.add (FIELD_SuggestedAssessmentType);
}
super.putUnwriteable (fields); super.putUnwriteable (fields);
} }
...@@ -4399,6 +4546,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -4399,6 +4546,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
result.add(HELPER_RequireCV.getAttribObject (getClass (), _RequireCV, false, FIELD_RequireCV)); result.add(HELPER_RequireCV.getAttribObject (getClass (), _RequireCV, false, FIELD_RequireCV));
result.add(HELPER_AssessmentType.getAttribObject (getClass (), _AssessmentType, true, FIELD_AssessmentType)); result.add(HELPER_AssessmentType.getAttribObject (getClass (), _AssessmentType, true, FIELD_AssessmentType));
result.add(HELPER_IncludeAssessmentCriteria.getAttribObject (getClass (), _IncludeAssessmentCriteria, true, FIELD_IncludeAssessmentCriteria)); result.add(HELPER_IncludeAssessmentCriteria.getAttribObject (getClass (), _IncludeAssessmentCriteria, true, FIELD_IncludeAssessmentCriteria));
result.add(HELPER_SuggestedAssessmentType.getAttribObject (getClass (), _SuggestedAssessmentType, false, FIELD_SuggestedAssessmentType));
return result; return result;
} }
...@@ -4665,6 +4813,24 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -4665,6 +4813,24 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
return newIncludeAssessmentCriteria; return newIncludeAssessmentCriteria;
} }
/**
* Get the attribute SuggestedAssessmentType
*/
public AssessmentType getSuggestedAssessmentType (AssessmentCriteriaTemplate obj, AssessmentType original)
{
return original;
}
/**
* Change the value set for attribute SuggestedAssessmentType.
* May modify the field beforehand
* Occurs before validation.
*/
public AssessmentType setSuggestedAssessmentType (AssessmentCriteriaTemplate obj, AssessmentType newSuggestedAssessmentType) throws FieldException
{
return newSuggestedAssessmentType;
}
} }
...@@ -4717,6 +4883,10 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -4717,6 +4883,10 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
public PipeLine<From, ? extends Object> to(String name) public PipeLine<From, ? extends Object> to(String name)
{ {
if (name.equals ("SuggestedAssessmentType"))
{
return toSuggestedAssessmentType ();
}
if (name.equals ("AssessmentCriterias")) if (name.equals ("AssessmentCriterias"))
{ {
return toAssessmentCriterias (); return toAssessmentCriterias ();
...@@ -4811,6 +4981,8 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -4811,6 +4981,8 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
} }
public PipeLine<From, AssessmentType> toSuggestedAssessmentType () { return pipe(new ORMAttributePipe<Me, AssessmentType>(FIELD_SuggestedAssessmentType)); }
public PipeLine<From, String> toTemplateName () { return pipe(new ORMAttributePipe<Me, String>(FIELD_TemplateName)); } public PipeLine<From, String> toTemplateName () { return pipe(new ORMAttributePipe<Me, String>(FIELD_TemplateName)); }
public PipeLine<From, String> toJobTitle () { return pipe(new ORMAttributePipe<Me, String>(FIELD_JobTitle)); } public PipeLine<From, String> toJobTitle () { return pipe(new ORMAttributePipe<Me, String>(FIELD_JobTitle)); }
...@@ -4900,6 +5072,11 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -4900,6 +5072,11 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
public boolean isTransientAttrib(String attribName) public boolean isTransientAttrib(String attribName)
{ {
if(CollectionUtils.equals(attribName, "SuggestedAssessmentType"))
{
return true;
}
return super.isTransientAttrib(attribName); return super.isTransientAttrib(attribName);
} }
......
...@@ -768,6 +768,19 @@ public class Job extends BaseJob ...@@ -768,6 +768,19 @@ public class Job extends BaseJob
super.postJobTypeChange(); super.postJobTypeChange();
} }
@Override
protected void postAssessmentTypeChange() throws FieldException
{
Occupation occupation = getILOJobTitle() != null ? getILOJobTitle().getOccupation() : null;
if(occupation != null && getSuggestedAssessmentType() != super.getAssessmentType())
{
setLevel(getAssessmentType() == AssessmentType.COMPREHENSIVE ? occupation.getAssessmentLevel() : occupation.getExpressAssessmentLevel());
}
super.postAssessmentTypeChange();
}
@Override @Override
public AssessmentType getSuggestedAssessmentType() public AssessmentType getSuggestedAssessmentType()
......
package performa.utils; package performa.utils;
import oneit.utils.FormatterFactory; import oneit.utils.FormatterFactory;
import performa.orm.AssessmentCriteriaTemplate;
import performa.orm.Job; import performa.orm.Job;
import performa.orm.types.AssessmentType; import performa.orm.types.AssessmentType;
...@@ -8,18 +9,25 @@ import performa.orm.types.AssessmentType; ...@@ -8,18 +9,25 @@ import performa.orm.types.AssessmentType;
public class AssessmentTypeEnumFormatter implements FormatterFactory public class AssessmentTypeEnumFormatter implements FormatterFactory
{ {
private Job job; private Job job;
private AssessmentCriteriaTemplate template;
public AssessmentTypeEnumFormatter(Job job) public AssessmentTypeEnumFormatter(Job job)
{ {
this.job = job; this.job = job;
} }
public AssessmentTypeEnumFormatter(AssessmentCriteriaTemplate template)
{
this.template = template;
}
@Override @Override
public Object getFormatterFor(Object objectToFormat) public Object getFormatterFor(Object objectToFormat)
{ {
AssessmentType assessmentType = ((AssessmentType) objectToFormat); AssessmentType assessmentType = ((AssessmentType) objectToFormat);
AssessmentType suggestedType = job != null ? job.getSuggestedAssessmentType() : template.getSuggestedAssessmentType();
if(job.getSuggestedAssessmentType() == assessmentType) if(suggestedType == assessmentType)
{ {
return assessmentType.getDescription() + " (Suggested)"; return assessmentType.getDescription() + " (Suggested)";
} }
......
...@@ -44,13 +44,31 @@ ...@@ -44,13 +44,31 @@
var scrolldiv = null ; var scrolldiv = null ;
$(document).ready(function() $(document).ready(function()
{ {
setupRecalc ($("form#editJobTemplate"), {'recalcOnError':true}); setupRecalc ($("form#editJob"), {'recalcOnError':true});
$("select[name$='JobTemplate']").change(function() $("select[name$='JobTemplate']").change(function()
{ {
$("button[name$='loadJobFromTemplate']").click(); $("button[name$='loadJobFromTemplate']").click();
}); });
$('input[type="text"][id$="ILOJobTitle_autocomplete"]').change(function()
{
$("#assessment_type").empty();
ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/assessment_type_selector.jsp", "#assessment_type", {jobTitleID : $('input[type="hidden"][id$="JobTitle"]').val()}, function (theHTML_JQ) {
$("#assessment_type").append (theHTML_JQ);
});
});
$("select[name$='JobType']").change(function()
{
$("#assessment_type").empty();
ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/assessment_type_selector.jsp", "#assessment_type", {jobTypeName : $(this).val()}, function (theHTML_JQ) {
$("#assessment_type").append (theHTML_JQ);
});
});
if ($("#select-occupation-id").val()) { if ($("#select-occupation-id").val()) {
lastclickedOccid = $("#select-occupation-id").val(); lastclickedOccid = $("#select-occupation-id").val();
}else { }else {
...@@ -164,6 +182,14 @@ ...@@ -164,6 +182,14 @@
$("#occupation span").addClass("form-control"); $("#occupation span").addClass("form-control");
$("#occupation span").css({"padding":"15px","display":"inline-table"}); $("#occupation span").css({"padding":"15px","display":"inline-table"});
ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/assessment_type_selector.jsp", "#assessment_type", {}, function (theHTML_JQ) {
$("#assessment_type").append (theHTML_JQ);
});
addPostAjaxAddHTMLModifiers (function () {
$( "select[name$='AssessmentType']" ).select2({minimumResultsForSearch: Infinity});
}, true);
}); });
...@@ -277,7 +303,7 @@ ...@@ -277,7 +303,7 @@
<oneit:script src="/scripts/google_address.js"/> <oneit:script src="/scripts/google_address.js"/>
</oneit:script> </oneit:script>
<oneit:form name="editJobTemplate" method="post" enctype="multipart/form-data"> <oneit:form name="editJob" method="post" enctype="multipart/form-data">
<h1 class="page-title page-title-with-arrow edit-template"> <h1 class="page-title page-title-with-arrow edit-template">
<oneit:button cssClass="arrow-btn-blue" name="gotoPage" value=" " skin="link" <oneit:button cssClass="arrow-btn-blue" name="gotoPage" value=" " skin="link"
...@@ -401,7 +427,12 @@ ...@@ -401,7 +427,12 @@
<oneit:ormEnum obj="<%= template %>" attributeName="Industry" cssClass="form-control" displayType="autocomplete"/> <oneit:ormEnum obj="<%= template %>" attributeName="Industry" cssClass="form-control" displayType="autocomplete"/>
</div> </div>
</div> </div>
<div class="form-group row">
<div class="col-md-6">
<label><oneit:label GUIName="Assessment Length" /></label>
<div id="assessment_type"></div>
</div>
</div>
<div class="form-group row"> <div class="form-group row">
<div class="col-md-12"> <div class="col-md-12">
<div class="styled_checkboxes"> <div class="styled_checkboxes">
......
...@@ -10,26 +10,50 @@ ...@@ -10,26 +10,50 @@
ORMProcessState process = (ORMProcessState) ProcessDecorator.getDefaultProcess(request); ORMProcessState process = (ORMProcessState) ProcessDecorator.getDefaultProcess(request);
ObjectTransaction objTran = process.getTransaction (); ObjectTransaction objTran = process.getTransaction ();
Job job = (Job) process.getAttribute("Job"); Job job = (Job) process.getAttribute("Job");
AssessmentCriteriaTemplate template = (AssessmentCriteriaTemplate) process.getAttribute("AssessmentCriteriaTemplate");
Long jobTitleID = request.getParameter("jobTitleID") != null ? Long.valueOf(request.getParameter("jobTitleID")) : null; Long jobTitleID = request.getParameter("jobTitleID") != null ? Long.valueOf(request.getParameter("jobTitleID")) : null;
String jobTypeName = request.getParameter("jobTypeName"); String jobTypeName = request.getParameter("jobTypeName");
AssessmentTypeEnumFormatter formatter = null;
if(jobTypeName != null) if(jobTypeName != null)
{ {
JobType jobType = JobType.forName(jobTypeName); JobType jobType = JobType.forName(jobTypeName);
if(job != null)
{
job.setJobType(jobType); job.setJobType(jobType);
} }
else
{
template.setJobType(jobType);
}
}
if(jobTitleID != null) if(jobTitleID != null)
{ {
ILOJobTitle jobTitle = ILOJobTitle.getILOJobTitleByID(objTran, jobTitleID); ILOJobTitle jobTitle = ILOJobTitle.getILOJobTitleByID(objTran, jobTitleID);
if(job != null)
{
job.setILOJobTitle(jobTitle); job.setILOJobTitle(jobTitle);
} }
%> else
{
template.setILOJobTitle(jobTitle);
}
}
if(job != null)
{
formatter = new AssessmentTypeEnumFormatter(job);
}
else
{
formatter = new AssessmentTypeEnumFormatter(template);
}
%>
<oneit:form name="editJob" method="POST"> <oneit:form name="editJob" method="POST">
<oneit:evalBody buffer="<%= getBuffer(request) %>"> <oneit:evalBody buffer="<%= getBuffer(request) %>">
<oneit:ormEnum obj="<%= job %>" attributeName="AssessmentType" cssClass="form-control" enumFormatter="<%= new AssessmentTypeEnumFormatter(job) %>"/> <oneit:ormEnum obj="<%= job != null ? job : template %>" attributeName="AssessmentType" cssClass="form-control" enumFormatter="<%= formatter %>"/>
</oneit:evalBody> </oneit:evalBody>
</oneit:form> </oneit:form>
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
$('input[type="text"][id$="ILOJobTitle_autocomplete"]').change(function() $('input[type="text"][id$="ILOJobTitle_autocomplete"]').change(function()
{ {
$( "select[name$='AssessmentType']" ).remove(); $("#assessment_type").empty();
ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/assessment_type_selector.jsp", "#assessment_type", {jobTitleID : $('input[type="hidden"][id$="JobTitle"]').val()}, function (theHTML_JQ) { ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/assessment_type_selector.jsp", "#assessment_type", {jobTitleID : $('input[type="hidden"][id$="JobTitle"]').val()}, function (theHTML_JQ) {
$("#assessment_type").append (theHTML_JQ); $("#assessment_type").append (theHTML_JQ);
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
$("select[name$='JobType']").change(function() $("select[name$='JobType']").change(function()
{ {
$( "select[name$='AssessmentType']" ).remove(); $("#assessment_type").empty();
ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/assessment_type_selector.jsp", "#assessment_type", {jobTypeName : $(this).val()}, function (theHTML_JQ) { ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/assessment_type_selector.jsp", "#assessment_type", {jobTypeName : $(this).val()}, function (theHTML_JQ) {
$("#assessment_type").append (theHTML_JQ); $("#assessment_type").append (theHTML_JQ);
...@@ -186,6 +186,10 @@ ...@@ -186,6 +186,10 @@
ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/assessment_type_selector.jsp", "#assessment_type", {}, function (theHTML_JQ) { ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/assessment_type_selector.jsp", "#assessment_type", {}, function (theHTML_JQ) {
$("#assessment_type").append (theHTML_JQ); $("#assessment_type").append (theHTML_JQ);
}); });
addPostAjaxAddHTMLModifiers (function () {
$( "select[name$='AssessmentType']" ).select2({minimumResultsForSearch: Infinity});
}, true);
}); });
...@@ -410,8 +414,9 @@ ...@@ -410,8 +414,9 @@
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<div class="col-md-6" id="assessment_type"> <div class="col-md-6">
<label><oneit:label GUIName="Assessment Length" /></label> <label><oneit:label GUIName="Assessment Length" /></label>
<div id="assessment_type"></div>
</div> </div>
</div> </div>
......
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