Commit 75ee647d by Nilu Committed by Harsh Shah

HT003 to shortlist functionality in rows

parent 0f9066dd
package performa.form;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import oneit.logging.LogLevel;
import oneit.logging.LogMgr;
import oneit.objstore.StorageException;
import oneit.servlets.forms.SubmissionDetails;
import oneit.servlets.forms.SuccessfulResult;
import oneit.servlets.process.ORMProcessState;
import oneit.servlets.process.SaveFP;
import oneit.utils.BusinessException;
import performa.orm.JobApplication;
import performa.orm.types.AppProcessOption;
import performa.orm.types.ApplicationStatus;
public class ChangeApplicationStatusFP extends SaveFP
{
@Override
public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException
{
HttpServletRequest request = submission.getRequest();
JobApplication jobApplication = (JobApplication) request.getAttribute("JobApplication");
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING1,"In ChangeApplicationStatusFP changing status of Job Application : ", jobApplication );
if(jobApplication.getAppProcessOption() == AppProcessOption.TO_SHORTLIST)
{
jobApplication.setApplicationStatus(ApplicationStatus.SHORTLISTED);
}
else if(jobApplication.getAppProcessOption() == AppProcessOption.REMOVE_FROM_SHORTLIST)
{
jobApplication.setApplicationStatus(ApplicationStatus.SUBMITTED);
}
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING1,"In ChangeApplicationStatusFP Job Application Status successfully changed : ", jobApplication );
return super.processForm(process, submission, params);
}
}
\ No newline at end of file
...@@ -44,6 +44,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -44,6 +44,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
public static final String FIELD_ApplicationStatus = "ApplicationStatus"; public static final String FIELD_ApplicationStatus = "ApplicationStatus";
public static final String FIELD_SubmittedDate = "SubmittedDate"; public static final String FIELD_SubmittedDate = "SubmittedDate";
public static final String FIELD_IsSelected = "IsSelected"; public static final String FIELD_IsSelected = "IsSelected";
public static final String FIELD_AppProcessOption = "AppProcessOption";
public static final String SINGLEREFERENCE_Candidate = "Candidate"; public static final String SINGLEREFERENCE_Candidate = "Candidate";
public static final String BACKREF_Candidate = ""; public static final String BACKREF_Candidate = "";
public static final String SINGLEREFERENCE_Job = "Job"; public static final String SINGLEREFERENCE_Job = "Job";
...@@ -65,6 +66,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -65,6 +66,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
private static final EnumeratedAttributeHelper<JobApplication, ApplicationStatus> HELPER_ApplicationStatus = new EnumeratedAttributeHelper<JobApplication, ApplicationStatus> (ApplicationStatus.FACTORY_ApplicationStatus); private static final EnumeratedAttributeHelper<JobApplication, ApplicationStatus> HELPER_ApplicationStatus = new EnumeratedAttributeHelper<JobApplication, ApplicationStatus> (ApplicationStatus.FACTORY_ApplicationStatus);
private static final DefaultAttributeHelper<JobApplication> HELPER_SubmittedDate = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<JobApplication> HELPER_SubmittedDate = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<JobApplication> HELPER_IsSelected = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<JobApplication> HELPER_IsSelected = DefaultAttributeHelper.INSTANCE;
private static final EnumeratedAttributeHelper<JobApplication, AppProcessOption> HELPER_AppProcessOption = new EnumeratedAttributeHelper<JobApplication, AppProcessOption> (AppProcessOption.FACTORY_AppProcessOption);
// Private attributes corresponding to business object data // Private attributes corresponding to business object data
...@@ -72,6 +74,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -72,6 +74,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
private ApplicationStatus _ApplicationStatus; private ApplicationStatus _ApplicationStatus;
private Date _SubmittedDate; private Date _SubmittedDate;
private Boolean _IsSelected; private Boolean _IsSelected;
private AppProcessOption _AppProcessOption;
// Private attributes corresponding to single references // Private attributes corresponding to single references
...@@ -90,6 +93,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -90,6 +93,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
// Arrays of validators for each attribute // Arrays of validators for each attribute
private static final AttributeValidator[] FIELD_IsSelected_Validators; private static final AttributeValidator[] FIELD_IsSelected_Validators;
private static final AttributeValidator[] FIELD_AppProcessOption_Validators;
private static final AttributeValidator[] FIELD_CV_Validators; private static final AttributeValidator[] FIELD_CV_Validators;
private static final AttributeValidator[] FIELD_ApplicationStatus_Validators; private static final AttributeValidator[] FIELD_ApplicationStatus_Validators;
private static final AttributeValidator[] FIELD_SubmittedDate_Validators; private static final AttributeValidator[] FIELD_SubmittedDate_Validators;
...@@ -117,6 +121,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -117,6 +121,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
setupAssocMetaData_Candidate(); setupAssocMetaData_Candidate();
setupAssocMetaData_Job(); setupAssocMetaData_Job();
FIELD_IsSelected_Validators = (AttributeValidator[])setupAttribMetaData_IsSelected(validatorMapping).toArray (new AttributeValidator[0]); FIELD_IsSelected_Validators = (AttributeValidator[])setupAttribMetaData_IsSelected(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_AppProcessOption_Validators = (AttributeValidator[])setupAttribMetaData_AppProcessOption(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_CV_Validators = (AttributeValidator[])setupAttribMetaData_CV(validatorMapping).toArray (new AttributeValidator[0]); FIELD_CV_Validators = (AttributeValidator[])setupAttribMetaData_CV(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_ApplicationStatus_Validators = (AttributeValidator[])setupAttribMetaData_ApplicationStatus(validatorMapping).toArray (new AttributeValidator[0]); FIELD_ApplicationStatus_Validators = (AttributeValidator[])setupAttribMetaData_ApplicationStatus(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_SubmittedDate_Validators = (AttributeValidator[])setupAttribMetaData_SubmittedDate(validatorMapping).toArray (new AttributeValidator[0]); FIELD_SubmittedDate_Validators = (AttributeValidator[])setupAttribMetaData_SubmittedDate(validatorMapping).toArray (new AttributeValidator[0]);
...@@ -227,6 +232,24 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -227,6 +232,24 @@ public abstract class BaseJobApplication extends BaseBusinessClass
} }
// Meta Info setup // Meta Info setup
private static List setupAttribMetaData_AppProcessOption(Map validatorMapping)
{
Map metaInfo = new HashMap ();
metaInfo.put ("attribHelper", "EnumeratedAttributeHelper");
metaInfo.put ("name", "AppProcessOption");
metaInfo.put ("type", "AppProcessOption");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for JobApplication.AppProcessOption:", metaInfo);
ATTRIBUTES_METADATA_JobApplication.put (FIELD_AppProcessOption, Collections.unmodifiableMap (metaInfo));
List validators = BaseBusinessClass.getAttribValidators(JobApplication.class, "AppProcessOption", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for JobApplication.AppProcessOption:", validators);
return validators;
}
// Meta Info setup
private static List setupAttribMetaData_CV(Map validatorMapping) private static List setupAttribMetaData_CV(Map validatorMapping)
{ {
Map metaInfo = new HashMap (); Map metaInfo = new HashMap ();
...@@ -317,6 +340,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -317,6 +340,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
_ApplicationStatus = (ApplicationStatus)(ApplicationStatus.DRAFT); _ApplicationStatus = (ApplicationStatus)(ApplicationStatus.DRAFT);
_SubmittedDate = (Date)(HELPER_SubmittedDate.initialise (_SubmittedDate)); _SubmittedDate = (Date)(HELPER_SubmittedDate.initialise (_SubmittedDate));
_IsSelected = (Boolean)(Boolean.FALSE); _IsSelected = (Boolean)(Boolean.FALSE);
_AppProcessOption = (AppProcessOption)(HELPER_AppProcessOption.initialise (_AppProcessOption));
} }
...@@ -743,6 +767,104 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -743,6 +767,104 @@ public abstract class BaseJobApplication extends BaseBusinessClass
} }
} }
/**
* Get the attribute AppProcessOption
*/
public AppProcessOption getAppProcessOption ()
{
assertValid();
AppProcessOption valToReturn = _AppProcessOption;
for (JobApplicationBehaviourDecorator bhd : JobApplication_BehaviourDecorators)
{
valToReturn = bhd.getAppProcessOption ((JobApplication)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 preAppProcessOptionChange (AppProcessOption newAppProcessOption) 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 postAppProcessOptionChange () throws FieldException
{
}
public FieldWriteability getWriteability_AppProcessOption ()
{
return getFieldWritabilityUtil (FieldWriteability.TRUE);
}
/**
* Set the attribute AppProcessOption. Checks to ensure a new value
* has been supplied. If so, marks the field as altered and sets the attribute.
*/
public void setAppProcessOption (AppProcessOption newAppProcessOption) throws FieldException
{
boolean oldAndNewIdentical = HELPER_AppProcessOption.compare (_AppProcessOption, newAppProcessOption);
try
{
for (JobApplicationBehaviourDecorator bhd : JobApplication_BehaviourDecorators)
{
newAppProcessOption = bhd.setAppProcessOption ((JobApplication)this, newAppProcessOption);
oldAndNewIdentical = HELPER_AppProcessOption.compare (_AppProcessOption, newAppProcessOption);
}
if (FIELD_AppProcessOption_Validators.length > 0)
{
Object newAppProcessOptionObj = HELPER_AppProcessOption.toObject (newAppProcessOption);
if (newAppProcessOptionObj != null)
{
int loopMax = FIELD_AppProcessOption_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_JobApplication.get (FIELD_AppProcessOption);
for (int v = 0 ; v < loopMax ; ++v)
{
FIELD_AppProcessOption_Validators[v].checkAttribute (this, FIELD_AppProcessOption, metadata, newAppProcessOptionObj);
}
}
}
}
catch (FieldException e)
{
if (!oldAndNewIdentical)
{
e.setWouldModify ();
}
throw e;
}
if (!oldAndNewIdentical)
{
assertValid();
Debug.assertion (getWriteability_AppProcessOption () != FieldWriteability.FALSE, "Field AppProcessOption is not writeable");
preAppProcessOptionChange (newAppProcessOption);
markFieldChange (FIELD_AppProcessOption);
_AppProcessOption = newAppProcessOption;
postFieldChange (FIELD_AppProcessOption);
postAppProcessOptionChange ();
}
}
/** /**
...@@ -1736,6 +1858,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -1736,6 +1858,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
_ApplicationStatus = sourceJobApplication._ApplicationStatus; _ApplicationStatus = sourceJobApplication._ApplicationStatus;
_SubmittedDate = sourceJobApplication._SubmittedDate; _SubmittedDate = sourceJobApplication._SubmittedDate;
_IsSelected = sourceJobApplication._IsSelected; _IsSelected = sourceJobApplication._IsSelected;
_AppProcessOption = sourceJobApplication._AppProcessOption;
} }
} }
...@@ -1801,6 +1924,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -1801,6 +1924,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
_ApplicationStatus = (ApplicationStatus)(HELPER_ApplicationStatus.readExternal (_ApplicationStatus, vals.get(FIELD_ApplicationStatus))); // _ApplicationStatus = (ApplicationStatus)(HELPER_ApplicationStatus.readExternal (_ApplicationStatus, vals.get(FIELD_ApplicationStatus))); //
_SubmittedDate = (Date)(HELPER_SubmittedDate.readExternal (_SubmittedDate, vals.get(FIELD_SubmittedDate))); // _SubmittedDate = (Date)(HELPER_SubmittedDate.readExternal (_SubmittedDate, vals.get(FIELD_SubmittedDate))); //
_IsSelected = (Boolean)(HELPER_IsSelected.readExternal (_IsSelected, vals.get(FIELD_IsSelected))); // _IsSelected = (Boolean)(HELPER_IsSelected.readExternal (_IsSelected, vals.get(FIELD_IsSelected))); //
_AppProcessOption = (AppProcessOption)(HELPER_AppProcessOption.readExternal (_AppProcessOption, vals.get(FIELD_AppProcessOption))); //
_Candidate.readExternalData(vals.get(SINGLEREFERENCE_Candidate)); _Candidate.readExternalData(vals.get(SINGLEREFERENCE_Candidate));
_Job.readExternalData(vals.get(SINGLEREFERENCE_Job)); _Job.readExternalData(vals.get(SINGLEREFERENCE_Job));
_AssessmentCriteriaAnswers.readExternalData(vals.get(MULTIPLEREFERENCE_AssessmentCriteriaAnswers)); _AssessmentCriteriaAnswers.readExternalData(vals.get(MULTIPLEREFERENCE_AssessmentCriteriaAnswers));
...@@ -1821,6 +1945,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -1821,6 +1945,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
vals.put (FIELD_ApplicationStatus, HELPER_ApplicationStatus.writeExternal (_ApplicationStatus)); vals.put (FIELD_ApplicationStatus, HELPER_ApplicationStatus.writeExternal (_ApplicationStatus));
vals.put (FIELD_SubmittedDate, HELPER_SubmittedDate.writeExternal (_SubmittedDate)); vals.put (FIELD_SubmittedDate, HELPER_SubmittedDate.writeExternal (_SubmittedDate));
vals.put (FIELD_IsSelected, HELPER_IsSelected.writeExternal (_IsSelected)); vals.put (FIELD_IsSelected, HELPER_IsSelected.writeExternal (_IsSelected));
vals.put (FIELD_AppProcessOption, HELPER_AppProcessOption.writeExternal (_AppProcessOption));
vals.put (SINGLEREFERENCE_Candidate, _Candidate.writeExternalData()); vals.put (SINGLEREFERENCE_Candidate, _Candidate.writeExternalData());
vals.put (SINGLEREFERENCE_Job, _Job.writeExternalData()); vals.put (SINGLEREFERENCE_Job, _Job.writeExternalData());
vals.put (MULTIPLEREFERENCE_AssessmentCriteriaAnswers, _AssessmentCriteriaAnswers.writeExternalData()); vals.put (MULTIPLEREFERENCE_AssessmentCriteriaAnswers, _AssessmentCriteriaAnswers.writeExternalData());
...@@ -1871,6 +1996,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -1871,6 +1996,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
super.visitAttributes (visitor); super.visitAttributes (visitor);
visitor.visitField(this, FIELD_IsSelected, HELPER_IsSelected.toObject(getIsSelected())); visitor.visitField(this, FIELD_IsSelected, HELPER_IsSelected.toObject(getIsSelected()));
visitor.visitField(this, FIELD_AppProcessOption, HELPER_AppProcessOption.toObject(getAppProcessOption()));
} }
...@@ -2165,6 +2291,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2165,6 +2291,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{ {
return HELPER_IsSelected.toObject (getIsSelected ()); return HELPER_IsSelected.toObject (getIsSelected ());
} }
else if (attribName.equals (FIELD_AppProcessOption))
{
return HELPER_AppProcessOption.toObject (getAppProcessOption ());
}
else else
{ {
return super.getAttribute (attribName); return super.getAttribute (attribName);
...@@ -2194,6 +2324,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2194,6 +2324,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{ {
return HELPER_IsSelected; return HELPER_IsSelected;
} }
else if (attribName.equals (FIELD_AppProcessOption))
{
return HELPER_AppProcessOption;
}
else else
{ {
return super.getAttributeHelper (attribName); return super.getAttributeHelper (attribName);
...@@ -2223,6 +2357,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2223,6 +2357,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{ {
setIsSelected ((Boolean)(HELPER_IsSelected.fromObject (_IsSelected, attribValue))); setIsSelected ((Boolean)(HELPER_IsSelected.fromObject (_IsSelected, attribValue)));
} }
else if (attribName.equals (FIELD_AppProcessOption))
{
setAppProcessOption ((AppProcessOption)(HELPER_AppProcessOption.fromObject (_AppProcessOption, attribValue)));
}
else else
{ {
super.setAttribute (attribName, attribValue); super.setAttribute (attribName, attribValue);
...@@ -2279,6 +2417,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2279,6 +2417,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{ {
return getWriteability_IsSelected (); return getWriteability_IsSelected ();
} }
else if (fieldName.equals (FIELD_AppProcessOption))
{
return getWriteability_AppProcessOption ();
}
else else
{ {
return super.getWriteable (fieldName); return super.getWriteable (fieldName);
...@@ -2309,6 +2451,11 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2309,6 +2451,11 @@ public abstract class BaseJobApplication extends BaseBusinessClass
fields.add (FIELD_IsSelected); fields.add (FIELD_IsSelected);
} }
if (getWriteability_AppProcessOption () != FieldWriteability.TRUE)
{
fields.add (FIELD_AppProcessOption);
}
super.putUnwriteable (fields); super.putUnwriteable (fields);
} }
...@@ -2322,6 +2469,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2322,6 +2469,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
result.add(HELPER_ApplicationStatus.getAttribObject (getClass (), _ApplicationStatus, false, FIELD_ApplicationStatus)); result.add(HELPER_ApplicationStatus.getAttribObject (getClass (), _ApplicationStatus, false, FIELD_ApplicationStatus));
result.add(HELPER_SubmittedDate.getAttribObject (getClass (), _SubmittedDate, false, FIELD_SubmittedDate)); result.add(HELPER_SubmittedDate.getAttribObject (getClass (), _SubmittedDate, false, FIELD_SubmittedDate));
result.add(HELPER_IsSelected.getAttribObject (getClass (), _IsSelected, false, FIELD_IsSelected)); result.add(HELPER_IsSelected.getAttribObject (getClass (), _IsSelected, false, FIELD_IsSelected));
result.add(HELPER_AppProcessOption.getAttribObject (getClass (), _AppProcessOption, false, FIELD_AppProcessOption));
return result; return result;
} }
...@@ -2462,6 +2610,24 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2462,6 +2610,24 @@ public abstract class BaseJobApplication extends BaseBusinessClass
return newIsSelected; return newIsSelected;
} }
/**
* Get the attribute AppProcessOption
*/
public AppProcessOption getAppProcessOption (JobApplication obj, AppProcessOption original)
{
return original;
}
/**
* Change the value set for attribute AppProcessOption.
* May modify the field beforehand
* Occurs before validation.
*/
public AppProcessOption setAppProcessOption (JobApplication obj, AppProcessOption newAppProcessOption) throws FieldException
{
return newAppProcessOption;
}
} }
...@@ -2530,6 +2696,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2530,6 +2696,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{ {
return toIsSelected (); return toIsSelected ();
} }
if (name.equals ("AppProcessOption"))
{
return toAppProcessOption ();
}
if (name.equals ("CV")) if (name.equals ("CV"))
{ {
return toCV (); return toCV ();
...@@ -2558,6 +2728,8 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2558,6 +2728,8 @@ public abstract class BaseJobApplication extends BaseBusinessClass
public PipeLine<From, Boolean> toIsSelected () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_IsSelected)); } public PipeLine<From, Boolean> toIsSelected () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_IsSelected)); }
public PipeLine<From, AppProcessOption> toAppProcessOption () { return pipe(new ORMAttributePipe<Me, AppProcessOption>(FIELD_AppProcessOption)); }
public PipeLine<From, BinaryContent> toCV () { return pipe(new ORMAttributePipe<Me, BinaryContent>(FIELD_CV)); } public PipeLine<From, BinaryContent> toCV () { return pipe(new ORMAttributePipe<Me, BinaryContent>(FIELD_CV)); }
public PipeLine<From, ApplicationStatus> toApplicationStatus () { return pipe(new ORMAttributePipe<Me, ApplicationStatus>(FIELD_ApplicationStatus)); } public PipeLine<From, ApplicationStatus> toApplicationStatus () { return pipe(new ORMAttributePipe<Me, ApplicationStatus>(FIELD_ApplicationStatus)); }
...@@ -2604,6 +2776,11 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2604,6 +2776,11 @@ public abstract class BaseJobApplication extends BaseBusinessClass
return true; return true;
} }
if(CollectionUtils.equals(attribName, "AppProcessOption"))
{
return true;
}
return super.isTransientAttrib(attribName); return super.isTransientAttrib(attribName);
} }
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<TRANSIENT name="SaveCultureTemplate" type="Boolean" defaultValue="Boolean.FALSE"/> <TRANSIENT name="SaveCultureTemplate" type="Boolean" defaultValue="Boolean.FALSE"/>
<TRANSIENT name="AssessmentTemplateName" type="String"/> <TRANSIENT name="AssessmentTemplateName" type="String"/>
<TRANSIENT name="CultureTemplateName" type="String"/> <TRANSIENT name="CultureTemplateName" type="String"/>
<TRANSIENTSINGLE name="AssessmentTemplate" type="AssessmentCriteriaTemplate" /> <TRANSIENTSINGLE name="AssessmentTemplate" type="AssessmentCriteriaTemplate" />
<TRANSIENTSINGLE name="CultureTemplate" type="CultureCriteriaTemplate" /> <TRANSIENTSINGLE name="CultureTemplate" type="CultureCriteriaTemplate" />
<TRANSIENTSINGLE name="JobTemplate" type="Job" /> <TRANSIENTSINGLE name="JobTemplate" type="Job" />
......
...@@ -8,6 +8,8 @@ import oneit.objstore.rdbms.filters.IsNotNullFilter; ...@@ -8,6 +8,8 @@ import oneit.objstore.rdbms.filters.IsNotNullFilter;
import oneit.utils.filter.CollectionFilter; import oneit.utils.filter.CollectionFilter;
import oneit.utils.filter.Filter; import oneit.utils.filter.Filter;
import oneit.utils.parsers.FieldException; import oneit.utils.parsers.FieldException;
import performa.orm.types.AppProcessOption;
import performa.orm.types.ApplicationStatus;
import performa.orm.types.CriteriaType; import performa.orm.types.CriteriaType;
...@@ -185,4 +187,34 @@ public class JobApplication extends BaseJobApplication ...@@ -185,4 +187,34 @@ public class JobApplication extends BaseJobApplication
{ {
return 95; return 95;
} }
public List<AppProcessOption> getValidProcessOptions()
{
List<AppProcessOption> options = new ArrayList<>();
if(getApplicationStatus() == ApplicationStatus.SUBMITTED)
{
options.add(AppProcessOption.TO_SHORTLIST);
}
else if(getApplicationStatus() == ApplicationStatus.SHORTLISTED)
{
options.add(AppProcessOption.REMOVE_FROM_SHORTLIST);
}
return options;
}
public String getApplicantStatusStr()
{
if(getApplicationStatus() == ApplicationStatus.SUBMITTED)
{
return "Applicant";
}
else
{
return getApplicationStatus().getDescription();
}
}
} }
\ No newline at end of file
...@@ -9,8 +9,9 @@ ...@@ -9,8 +9,9 @@
<MULTIPLEREFERENCE name="CultureCriteriaAnswers" type="CultureCriteriaAnswer" backreferenceName="JobApplication" /> <MULTIPLEREFERENCE name="CultureCriteriaAnswers" type="CultureCriteriaAnswer" backreferenceName="JobApplication" />
<MULTIPLEREFERENCE name="ProfileAssessmentAnswers" type="Answer" backreferenceName="JobApplication" /> <MULTIPLEREFERENCE name="ProfileAssessmentAnswers" type="Answer" backreferenceName="JobApplication" />
<TRANSIENT name="IsSelected" type="Boolean" defaultValue="Boolean.FALSE"/> <TRANSIENT name="IsSelected" type="Boolean" defaultValue="Boolean.FALSE"/>
<TRANSIENT name="AppProcessOption" type="AppProcessOption" attribHelper="EnumeratedAttributeHelper"/>
<TABLE name="tl_job_application" tablePrefix="object" polymorphic="FALSE"> <TABLE name="tl_job_application" tablePrefix="object" polymorphic="FALSE">
<ATTRIB name="CV" type="BinaryContent" dbcol="cv" binaryHandler="loggedin" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE" mandatory="false"/> <ATTRIB name="CV" type="BinaryContent" dbcol="cv" binaryHandler="loggedin" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE" mandatory="false"/>
......
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 AppProcessOption extends AbstractEnumerated
{
public static final EnumeratedFactory FACTORY_AppProcessOption = new AppProcessOptionFactory();
public static final AppProcessOption TO_SHORTLIST = new AppProcessOption ("TO_SHORTLIST", "TO_SHORTLIST", "To Shortlist", false);
public static final AppProcessOption REMOVE_FROM_SHORTLIST = new AppProcessOption ("REMOVE_FROM_SHORTLIST", "REMOVE_FROM_SHORTLIST", "Remove From Shortlist", false);
private static final AppProcessOption[] allAppProcessOptions =
new AppProcessOption[] { TO_SHORTLIST,REMOVE_FROM_SHORTLIST};
private static AppProcessOption[] getAllAppProcessOptions ()
{
return allAppProcessOptions;
}
private AppProcessOption (String name, String value, String description, boolean disabled)
{
super (name, value, description, disabled);
}
public static final Comparator COMPARE_BY_POSITION = new CompareEnumByPosition (allAppProcessOptions);
static
{
defineAdditionalData ();
}
public boolean isEqual (AppProcessOption other)
{
return this.name.equals (other.name);
}
public Enumeration getAllInstances ()
{
return AppProcessOption.getAll ();
}
private Object readResolve() throws java.io.ObjectStreamException
{
return AppProcessOption.forName (this.name);
}
public EnumeratedFactory getFactory ()
{
return FACTORY_AppProcessOption;
}
public static AppProcessOption forName (String name)
{
if (name == null) { return null; }
AppProcessOption[] all = getAllAppProcessOptions();
int enumIndex = AbstractEnumerated.getIndexForName (all, name);
return all[enumIndex];
}
public static AppProcessOption forValue (String value)
{
if (value == null) { return null; }
AppProcessOption[] all = getAllAppProcessOptions();
int enumIndex = AbstractEnumerated.getIndexForValue (getAllAppProcessOptions (), value);
return all[enumIndex];
}
public static java.util.Enumeration getAll ()
{
return AbstractEnumerated.getAll (getAllAppProcessOptions());
}
public static AppProcessOption[] getAppProcessOptionArray ()
{
return (AppProcessOption[])getAllAppProcessOptions().clone ();
}
public static void defineAdditionalData ()
{
}
static class AppProcessOptionFactory implements EnumeratedFactory
{
public AbstractEnumerated getForName (String name)
{
return AppProcessOption.forName (name);
}
public AbstractEnumerated getForValue (String name)
{
return AppProcessOption.forValue (name);
}
public Enumeration getAll ()
{
return AppProcessOption.getAll ();
}
}
public Map getAdditionalAttributes ()
{
Map attribs = new HashMap ();
return attribs;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<CONSTANT package="performa.orm.types" name="AppProcessOption">
<VALUE name="TO_SHORTLIST" value="TO_SHORTLIST" description="To Shortlist"/>
<VALUE name="REMOVE_FROM_SHORTLIST" value="REMOVE_FROM_SHORTLIST" description="Remove From Shortlist"/>
</CONSTANT>
</ROOT>
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
<FORM name="*.loadJobFromTemplate" factory="Participant" class="performa.form.LoadJobFromTemplateFP"/> <FORM name="*.loadJobFromTemplate" factory="Participant" class="performa.form.LoadJobFromTemplateFP"/>
<FORM name="*.loadRequirementsFromTemplate" factory="Participant" class="performa.form.LoadRequirementsFromTemplateFP"/> <FORM name="*.loadRequirementsFromTemplate" factory="Participant" class="performa.form.LoadRequirementsFromTemplateFP"/>
<FORM name="*.loadCultureFromTemplate" factory="Participant" class="performa.form.LoadCultureFromTemplateFP"/> <FORM name="*.loadCultureFromTemplate" factory="Participant" class="performa.form.LoadCultureFromTemplateFP"/>
<FORM name="*.changeApplicationStatus" factory="Participant" class="performa.form.ChangeApplicationStatusFP"/>
</NODE> </NODE>
<NODE name="job_assessment_criteria_add_jsp" factory="Participant"> <NODE name="job_assessment_criteria_add_jsp" factory="Participant">
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
String culture = FormatUtils.stringify(jobApplication.getCulturePercentage(), "PercentageWholeNumber", "0"); String culture = FormatUtils.stringify(jobApplication.getCulturePercentage(), "PercentageWholeNumber", "0");
String criteria = FormatUtils.stringify(jobApplication.getCriteriaPercentage(), "PercentageWholeNumber", "0"); String criteria = FormatUtils.stringify(jobApplication.getCriteriaPercentage(), "PercentageWholeNumber", "0");
%> %>
<div class="appli-row"> <div class="appli-row" id="<%= jobApplication.getID() %>">
<div class="appli-checkbox appli-l eq-second-height"> <div class="appli-checkbox appli-l eq-second-height">
<div class="checkbox-list"> <div class="checkbox-list">
<oneit:ormInput obj="<%= jobApplication %>" id="<%= jobApplication.getID().toString()%>" attributeName="IsSelected" type="checkbox"/> <oneit:ormInput obj="<%= jobApplication %>" id="<%= jobApplication.getID().toString()%>" attributeName="IsSelected" type="checkbox"/>
...@@ -62,7 +62,9 @@ ...@@ -62,7 +62,9 @@
</div> </div>
<div class="appli-list-name appli-l eq-second-height"> <div class="appli-list-name appli-l eq-second-height">
<oneit:toString value="<%= jobApplication.getCandidate() %>" mode="EscapeHTML" /> <oneit:toString value="<%= jobApplication.getCandidate() %>" mode="EscapeHTML" />
<div class="appli-int-status">Shortlisted</div> <div class="appli-int-status">
<oneit:toString value="<%= jobApplication.getApplicantStatusStr() %>" mode="EscapeHTML" />
</div>
</div> </div>
<div class="appli-jcs appli-l eq-second-height"> <div class="appli-jcs appli-l eq-second-height">
<span class="appli-view-bar"> <span class="appli-view-bar">
...@@ -100,11 +102,16 @@ ...@@ -100,11 +102,16 @@
<oneit:toString value="<%= jobApplication.getOverallSuitability() %>" mode="Integer" /> <oneit:toString value="<%= jobApplication.getOverallSuitability() %>" mode="Integer" />
</div> </div>
<div class="appli-list-drop"> <div class="appli-list-drop">
<select class="form-control"> <oneit:ormEnum obj="<%= jobApplication %>" attributeName="AppProcessOption" cssClass="form-control app-process"
<option>Interview</option> enums="<%= jobApplication.getValidProcessOptions() %>"/>
</select>
</div> </div>
</div> </div>
<oneit:button name="changeApplicationStatus" value=" " cssClass="<%= "save-application" + jobApplication.getID().toString() + " hidden"%>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", currentPage)
.mapEntry ("restartProcess", Boolean.TRUE)
.mapEntry ("attribNamesToRestore", Collections.singleton("Job"))
.mapEntry("JobApplication", jobApplication)
.toMap() %>" />
</div> </div>
<% <%
j++; j++;
......
...@@ -65,10 +65,6 @@ ...@@ -65,10 +65,6 @@
<% <%
for (JobStatus status : JobStatus.getJobStatusArray()) for (JobStatus status : JobStatus.getJobStatusArray())
{ {
if(status == JobStatus.FILLED)
{
continue;
}
%> %>
<li class="<%= (jobStatus != null && jobStatus == status ? "active" : "" )%>"> <li class="<%= (jobStatus != null && jobStatus == status ? "active" : "" )%>">
<oneit:button value="<%= status.getDescription() %>" name="gotoPage" skin="link" <oneit:button value="<%= status.getDescription() %>" name="gotoPage" skin="link"
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<oneit:dynIncluded> <oneit:dynIncluded>
<% <%
Job job = (Job) process.getAttribute("Job"); Job job = (Job) process.getAttribute("Job");
if(job==null && request.getParameter("JobID")!=null) if(job==null && request.getParameter("JobID")!=null)
{ {
...@@ -54,6 +54,12 @@ ...@@ -54,6 +54,12 @@
$(document).ready(function() $(document).ready(function()
{ {
recalcFunction = setupRecalc ($("form"), {'recalcOnError':true}); recalcFunction = setupRecalc ($("form"), {'recalcOnError':true});
$(".app-process").change(function()
{
var id = $(this).closest('.appli-row').attr('id');
$('.save-application' + id).click();
});
}); });
function gotoEditApplication (id) { function gotoEditApplication (id) {
......
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