Commit ea648583 by Nilu

HT001 - Dashboard - Replace 'Open Jobs' with 'Recent Jobs'

parent a101556e
......@@ -24,6 +24,7 @@
<column name="state" type="String" nullable="true" length="200"/>
<column name="country" type="String" nullable="true" length="200"/>
<column name="manually_closed" type="Boolean" nullable="true"/>
<column name="last_edited" type="Date" nullable="true"/>
<column name="level_id" type="Long" length="11" nullable="true"/>
<column name="client_id" type="Long" length="11" nullable="true"/>
<column name="company_user_id" type="Long" length="11" nullable="true"/>
......
......@@ -24,6 +24,7 @@ CREATE TABLE tl_job (
state varchar(200) NULL,
country varchar(200) NULL,
manually_closed char(1) NULL,
last_edited datetime NULL,
level_id numeric(12) NULL,
client_id numeric(12) NULL,
company_user_id numeric(12) NULL,
......
......@@ -25,6 +25,7 @@ CREATE TABLE tl_job (
state varchar2(200) NULL,
country varchar2(200) NULL,
manually_closed char(1) NULL,
last_edited date NULL,
level_id number(12) NULL,
client_id number(12) NULL,
company_user_id number(12) NULL,
......
......@@ -25,6 +25,7 @@ CREATE TABLE tl_job (
state varchar(200) NULL,
country varchar(200) NULL,
manually_closed char(1) NULL,
last_edited timestamp NULL,
level_id numeric(12) NULL,
client_id numeric(12) NULL,
company_user_id numeric(12) NULL,
......
......@@ -71,6 +71,8 @@ public class SaveJobFP extends SaveFP
job.setIsManuallyClosed(Boolean.TRUE);
}
job.setLastEdited(new Date());
// restarting process as custom attributes needs to be updated to intercom
completeProcessRestartAndRestoreAttribs(process, request);
......
......@@ -60,6 +60,7 @@ public abstract class BaseJob extends BaseBusinessClass
public static final String FIELD_State = "State";
public static final String FIELD_Country = "Country";
public static final String FIELD_IsManuallyClosed = "IsManuallyClosed";
public static final String FIELD_LastEdited = "LastEdited";
public static final String FIELD_Email = "Email";
public static final String FIELD_Password = "Password";
public static final String FIELD_ConfirmPassword = "ConfirmPassword";
......@@ -111,6 +112,7 @@ public abstract class BaseJob extends BaseBusinessClass
private static final EnumeratedAttributeHelper<Job, State> HELPER_State = new EnumeratedAttributeHelper<Job, State> (State.FACTORY_State);
private static final EnumeratedAttributeHelper<Job, Countries> HELPER_Country = new EnumeratedAttributeHelper<Job, Countries> (Countries.FACTORY_Countries);
private static final DefaultAttributeHelper<Job> HELPER_IsManuallyClosed = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<Job> HELPER_LastEdited = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<Job> HELPER_Email = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<Job> HELPER_Password = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<Job> HELPER_ConfirmPassword = DefaultAttributeHelper.INSTANCE;
......@@ -143,6 +145,7 @@ public abstract class BaseJob extends BaseBusinessClass
private State _State;
private Countries _Country;
private Boolean _IsManuallyClosed;
private Date _LastEdited;
private String _Email;
private String _Password;
private String _ConfirmPassword;
......@@ -207,6 +210,7 @@ public abstract class BaseJob extends BaseBusinessClass
private static final AttributeValidator[] FIELD_State_Validators;
private static final AttributeValidator[] FIELD_Country_Validators;
private static final AttributeValidator[] FIELD_IsManuallyClosed_Validators;
private static final AttributeValidator[] FIELD_LastEdited_Validators;
// Arrays of behaviour decorators
......@@ -263,6 +267,7 @@ public abstract class BaseJob extends BaseBusinessClass
FIELD_State_Validators = (AttributeValidator[])setupAttribMetaData_State(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_Country_Validators = (AttributeValidator[])setupAttribMetaData_Country(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_IsManuallyClosed_Validators = (AttributeValidator[])setupAttribMetaData_IsManuallyClosed(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_LastEdited_Validators = (AttributeValidator[])setupAttribMetaData_LastEdited(validatorMapping).toArray (new AttributeValidator[0]);
REFERENCE_Job.initialiseReference ();
......@@ -955,6 +960,24 @@ public abstract class BaseJob extends BaseBusinessClass
return validators;
}
// Meta Info setup
private static List setupAttribMetaData_LastEdited(Map validatorMapping)
{
Map metaInfo = new HashMap ();
metaInfo.put ("dbcol", "last_edited");
metaInfo.put ("name", "LastEdited");
metaInfo.put ("type", "Date");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for Job.LastEdited:", metaInfo);
ATTRIBUTES_METADATA_Job.put (FIELD_LastEdited, Collections.unmodifiableMap (metaInfo));
List validators = BaseBusinessClass.getAttribValidators(Job.class, "LastEdited", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for Job.LastEdited:", validators);
return validators;
}
// END OF STATIC METADATA DEFINITION
......@@ -998,6 +1021,7 @@ public abstract class BaseJob extends BaseBusinessClass
_State = (State)(State.WA);
_Country = (Countries)(Countries.AU);
_IsManuallyClosed = (Boolean)(Boolean.FALSE);
_LastEdited = (Date)(HELPER_LastEdited.initialise (_LastEdited));
_Email = (String)(HELPER_Email.initialise (_Email));
_Password = (String)(HELPER_Password.initialise (_Password));
_ConfirmPassword = (String)(HELPER_ConfirmPassword.initialise (_ConfirmPassword));
......@@ -2630,6 +2654,104 @@ public abstract class BaseJob extends BaseBusinessClass
}
/**
* Get the attribute LastEdited
*/
public Date getLastEdited ()
{
assertValid();
Date valToReturn = _LastEdited;
for (JobBehaviourDecorator bhd : Job_BehaviourDecorators)
{
valToReturn = bhd.getLastEdited ((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 preLastEditedChange (Date newLastEdited) 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 postLastEditedChange () throws FieldException
{
}
public FieldWriteability getWriteability_LastEdited ()
{
return getFieldWritabilityUtil (FieldWriteability.TRUE);
}
/**
* Set the attribute LastEdited. Checks to ensure a new value
* has been supplied. If so, marks the field as altered and sets the attribute.
*/
public void setLastEdited (Date newLastEdited) throws FieldException
{
boolean oldAndNewIdentical = HELPER_LastEdited.compare (_LastEdited, newLastEdited);
try
{
for (JobBehaviourDecorator bhd : Job_BehaviourDecorators)
{
newLastEdited = bhd.setLastEdited ((Job)this, newLastEdited);
oldAndNewIdentical = HELPER_LastEdited.compare (_LastEdited, newLastEdited);
}
if (FIELD_LastEdited_Validators.length > 0)
{
Object newLastEditedObj = HELPER_LastEdited.toObject (newLastEdited);
if (newLastEditedObj != null)
{
int loopMax = FIELD_LastEdited_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_Job.get (FIELD_LastEdited);
for (int v = 0 ; v < loopMax ; ++v)
{
FIELD_LastEdited_Validators[v].checkAttribute (this, FIELD_LastEdited, metadata, newLastEditedObj);
}
}
}
}
catch (FieldException e)
{
if (!oldAndNewIdentical)
{
e.setWouldModify ();
}
throw e;
}
if (!oldAndNewIdentical)
{
assertValid();
Debug.assertion (getWriteability_LastEdited () != FieldWriteability.FALSE, "Field LastEdited is not writeable");
preLastEditedChange (newLastEdited);
markFieldChange (FIELD_LastEdited);
_LastEdited = newLastEdited;
postFieldChange (FIELD_LastEdited);
postLastEditedChange ();
}
}
/**
* Get the attribute Email
*/
public String getEmail ()
......@@ -5359,6 +5481,7 @@ public abstract class BaseJob extends BaseBusinessClass
tl_jobPSet.setAttrib (FIELD_State, HELPER_State.toObject (_State)); //
tl_jobPSet.setAttrib (FIELD_Country, HELPER_Country.toObject (_Country)); //
tl_jobPSet.setAttrib (FIELD_IsManuallyClosed, HELPER_IsManuallyClosed.toObject (_IsManuallyClosed)); //
tl_jobPSet.setAttrib (FIELD_LastEdited, HELPER_LastEdited.toObject (_LastEdited)); //
_Level.getPersistentSets (allSets);
_Client.getPersistentSets (allSets);
_CompanyUser.getPersistentSets (allSets);
......@@ -5393,6 +5516,7 @@ public abstract class BaseJob extends BaseBusinessClass
_State = (State)(HELPER_State.fromObject (_State, tl_jobPSet.getAttrib (FIELD_State))); //
_Country = (Countries)(HELPER_Country.fromObject (_Country, tl_jobPSet.getAttrib (FIELD_Country))); //
_IsManuallyClosed = (Boolean)(HELPER_IsManuallyClosed.fromObject (_IsManuallyClosed, tl_jobPSet.getAttrib (FIELD_IsManuallyClosed))); //
_LastEdited = (Date)(HELPER_LastEdited.fromObject (_LastEdited, tl_jobPSet.getAttrib (FIELD_LastEdited))); //
_Level.setFromPersistentSets (objectID, allSets);
_Client.setFromPersistentSets (objectID, allSets);
_CompanyUser.setFromPersistentSets (objectID, allSets);
......@@ -5556,6 +5680,15 @@ public abstract class BaseJob extends BaseBusinessClass
e.addException (ex);
}
try
{
setLastEdited (otherJob.getLastEdited ());
}
catch (FieldException ex)
{
e.addException (ex);
}
}
}
......@@ -5587,6 +5720,7 @@ public abstract class BaseJob extends BaseBusinessClass
_State = sourceJob._State;
_Country = sourceJob._Country;
_IsManuallyClosed = sourceJob._IsManuallyClosed;
_LastEdited = sourceJob._LastEdited;
_Email = sourceJob._Email;
_Password = sourceJob._Password;
_ConfirmPassword = sourceJob._ConfirmPassword;
......@@ -5678,6 +5812,7 @@ public abstract class BaseJob extends BaseBusinessClass
_State = (State)(HELPER_State.readExternal (_State, vals.get(FIELD_State))); //
_Country = (Countries)(HELPER_Country.readExternal (_Country, vals.get(FIELD_Country))); //
_IsManuallyClosed = (Boolean)(HELPER_IsManuallyClosed.readExternal (_IsManuallyClosed, vals.get(FIELD_IsManuallyClosed))); //
_LastEdited = (Date)(HELPER_LastEdited.readExternal (_LastEdited, vals.get(FIELD_LastEdited))); //
_Email = (String)(HELPER_Email.readExternal (_Email, vals.get(FIELD_Email))); //
_Password = (String)(HELPER_Password.readExternal (_Password, vals.get(FIELD_Password))); //
_ConfirmPassword = (String)(HELPER_ConfirmPassword.readExternal (_ConfirmPassword, vals.get(FIELD_ConfirmPassword))); //
......@@ -5728,6 +5863,7 @@ public abstract class BaseJob extends BaseBusinessClass
vals.put (FIELD_State, HELPER_State.writeExternal (_State));
vals.put (FIELD_Country, HELPER_Country.writeExternal (_Country));
vals.put (FIELD_IsManuallyClosed, HELPER_IsManuallyClosed.writeExternal (_IsManuallyClosed));
vals.put (FIELD_LastEdited, HELPER_LastEdited.writeExternal (_LastEdited));
vals.put (FIELD_Email, HELPER_Email.writeExternal (_Email));
vals.put (FIELD_Password, HELPER_Password.writeExternal (_Password));
vals.put (FIELD_ConfirmPassword, HELPER_ConfirmPassword.writeExternal (_ConfirmPassword));
......@@ -5828,6 +5964,10 @@ public abstract class BaseJob extends BaseBusinessClass
{
listener.notifyFieldChange(this, other, FIELD_IsManuallyClosed, HELPER_IsManuallyClosed.toObject(this._IsManuallyClosed), HELPER_IsManuallyClosed.toObject(otherJob._IsManuallyClosed));
}
if (!HELPER_LastEdited.compare(this._LastEdited, otherJob._LastEdited))
{
listener.notifyFieldChange(this, other, FIELD_LastEdited, HELPER_LastEdited.toObject(this._LastEdited), HELPER_LastEdited.toObject(otherJob._LastEdited));
}
// Compare single assocs
_AssessmentTemplate.compare (otherJob._AssessmentTemplate, listener);
......@@ -5889,6 +6029,7 @@ public abstract class BaseJob extends BaseBusinessClass
visitor.visitField(this, FIELD_State, HELPER_State.toObject(getState()));
visitor.visitField(this, FIELD_Country, HELPER_Country.toObject(getCountry()));
visitor.visitField(this, FIELD_IsManuallyClosed, HELPER_IsManuallyClosed.toObject(getIsManuallyClosed()));
visitor.visitField(this, FIELD_LastEdited, HELPER_LastEdited.toObject(getLastEdited()));
visitor.visitAssociation (_AssessmentTemplate);
visitor.visitAssociation (_CultureTemplate);
visitor.visitAssociation (_JobTemplate);
......@@ -6036,6 +6177,10 @@ public abstract class BaseJob extends BaseBusinessClass
{
return filter.matches (getIsManuallyClosed ());
}
else if (attribName.equals (FIELD_LastEdited))
{
return filter.matches (getLastEdited ());
}
else if (attribName.equals (SINGLEREFERENCE_Level))
{
return filter.matches (getLevel ());
......@@ -6179,6 +6324,12 @@ public abstract class BaseJob extends BaseBusinessClass
return this;
}
public SearchAll andLastEdited (QueryFilter<Date> filter)
{
filter.addFilter (context, "tl_job.last_edited", "LastEdited");
return this;
}
public SearchAll andLevel (QueryFilter<Level> filter)
{
filter.addFilter (context, "tl_job.level_id", "Level");
......@@ -6362,6 +6513,12 @@ public abstract class BaseJob extends BaseBusinessClass
return this;
}
public SearchJobKey andLastEdited (QueryFilter<Date> filter)
{
filter.addFilter (context, "tl_job.last_edited", "LastEdited");
return this;
}
public SearchJobKey andLevel (QueryFilter<Level> filter)
{
filter.addFilter (context, "tl_job.level_id", "Level");
......@@ -6539,6 +6696,12 @@ public abstract class BaseJob extends BaseBusinessClass
return this;
}
public SearchCompany andLastEdited (QueryFilter<Date> filter)
{
filter.addFilter (context, "tl_job.last_edited", "LastEdited");
return this;
}
public SearchCompany andLevel (QueryFilter<Level> filter)
{
filter.addFilter (context, "tl_job.level_id", "Level");
......@@ -6663,6 +6826,10 @@ public abstract class BaseJob extends BaseBusinessClass
{
return HELPER_IsManuallyClosed.toObject (getIsManuallyClosed ());
}
else if (attribName.equals (FIELD_LastEdited))
{
return HELPER_LastEdited.toObject (getLastEdited ());
}
else if (attribName.equals (FIELD_Email))
{
return HELPER_Email.toObject (getEmail ());
......@@ -6792,6 +6959,10 @@ public abstract class BaseJob extends BaseBusinessClass
{
return HELPER_IsManuallyClosed;
}
else if (attribName.equals (FIELD_LastEdited))
{
return HELPER_LastEdited;
}
else if (attribName.equals (FIELD_Email))
{
return HELPER_Email;
......@@ -6921,6 +7092,10 @@ public abstract class BaseJob extends BaseBusinessClass
{
setIsManuallyClosed ((Boolean)(HELPER_IsManuallyClosed.fromObject (_IsManuallyClosed, attribValue)));
}
else if (attribName.equals (FIELD_LastEdited))
{
setLastEdited ((Date)(HELPER_LastEdited.fromObject (_LastEdited, attribValue)));
}
else if (attribName.equals (FIELD_Email))
{
setEmail ((String)(HELPER_Email.fromObject (_Email, attribValue)));
......@@ -7057,6 +7232,10 @@ public abstract class BaseJob extends BaseBusinessClass
{
return getWriteability_IsManuallyClosed ();
}
else if (fieldName.equals (FIELD_LastEdited))
{
return getWriteability_LastEdited ();
}
else if (fieldName.equals (MULTIPLEREFERENCE_JobApplications))
{
return getWriteability_JobApplications ();
......@@ -7239,6 +7418,11 @@ public abstract class BaseJob extends BaseBusinessClass
fields.add (FIELD_IsManuallyClosed);
}
if (getWriteability_LastEdited () != FieldWriteability.TRUE)
{
fields.add (FIELD_LastEdited);
}
if (getWriteability_Email () != FieldWriteability.TRUE)
{
fields.add (FIELD_Email);
......@@ -7329,6 +7513,7 @@ public abstract class BaseJob extends BaseBusinessClass
result.add(HELPER_State.getAttribObject (getClass (), _State, false, FIELD_State));
result.add(HELPER_Country.getAttribObject (getClass (), _Country, false, FIELD_Country));
result.add(HELPER_IsManuallyClosed.getAttribObject (getClass (), _IsManuallyClosed, false, FIELD_IsManuallyClosed));
result.add(HELPER_LastEdited.getAttribObject (getClass (), _LastEdited, false, FIELD_LastEdited));
result.add(HELPER_Email.getAttribObject (getClass (), _Email, false, FIELD_Email));
result.add(HELPER_Password.getAttribObject (getClass (), _Password, false, FIELD_Password));
result.add(HELPER_ConfirmPassword.getAttribObject (getClass (), _ConfirmPassword, false, FIELD_ConfirmPassword));
......@@ -7681,6 +7866,24 @@ public abstract class BaseJob extends BaseBusinessClass
}
/**
* Get the attribute LastEdited
*/
public Date getLastEdited (Job obj, Date original)
{
return original;
}
/**
* Change the value set for attribute LastEdited.
* May modify the field beforehand
* Occurs before validation.
*/
public Date setLastEdited (Job obj, Date newLastEdited) throws FieldException
{
return newLastEdited;
}
/**
* Get the attribute Email
*/
public String getEmail (Job obj, String original)
......@@ -8106,6 +8309,10 @@ public abstract class BaseJob extends BaseBusinessClass
{
return toIsManuallyClosed ();
}
if (name.equals ("LastEdited"))
{
return toLastEdited ();
}
if (name.equals ("Level"))
{
return toLevel ();
......@@ -8185,6 +8392,8 @@ public abstract class BaseJob extends BaseBusinessClass
public PipeLine<From, Countries> toCountry () { return pipe(new ORMAttributePipe<Me, Countries>(FIELD_Country)); }
public PipeLine<From, Boolean> toIsManuallyClosed () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_IsManuallyClosed)); }
public PipeLine<From, Date> toLastEdited () { return pipe(new ORMAttributePipe<Me, Date>(FIELD_LastEdited)); }
public AssessmentCriteriaTemplate.AssessmentCriteriaTemplatePipeLineFactory<From, AssessmentCriteriaTemplate> toAssessmentTemplate () { return toAssessmentTemplate (Filter.ALL); }
public AssessmentCriteriaTemplate.AssessmentCriteriaTemplatePipeLineFactory<From, AssessmentCriteriaTemplate> toAssessmentTemplate (Filter<AssessmentCriteriaTemplate> filter)
......
......@@ -47,6 +47,7 @@
<ATTRIB name="State" type="State" dbcol="state" defaultValue="State.WA" attribHelper="EnumeratedAttributeHelper"/>
<ATTRIB name="Country" type="Countries" dbcol="country" defaultValue="Countries.AU" attribHelper="EnumeratedAttributeHelper"/>
<ATTRIB name="IsManuallyClosed" type="Boolean" dbcol="manually_closed" defaultValue="Boolean.FALSE"/>
<ATTRIB name="LastEdited" type="Date" dbcol="last_edited" />
<SINGLEREFERENCE name="Level" type="Level" dbcol="level_id" mandatory="false"/>
<SINGLEREFERENCE name="Client" type="Client" dbcol="client_id" backreferenceName="Jobs"/>
......
......@@ -45,6 +45,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
private State dummyState;
private Countries dummyCountry;
private Boolean dummyIsManuallyClosed;
private Date dummyLastEdited;
// Static constants corresponding to attribute helpers
......@@ -64,6 +65,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
private static final EnumeratedAttributeHelper HELPER_State = new EnumeratedAttributeHelper (State.FACTORY_State);
private static final EnumeratedAttributeHelper HELPER_Country = new EnumeratedAttributeHelper (Countries.FACTORY_Countries);
private static final DefaultAttributeHelper HELPER_IsManuallyClosed = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_LastEdited = DefaultAttributeHelper.INSTANCE;
......@@ -86,10 +88,11 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
dummyState = (State)(HELPER_State.initialise (dummyState));
dummyCountry = (Countries)(HELPER_Country.initialise (dummyCountry));
dummyIsManuallyClosed = (Boolean)(HELPER_IsManuallyClosed.initialise (dummyIsManuallyClosed));
dummyLastEdited = (Date)(HELPER_LastEdited.initialise (dummyLastEdited));
}
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.state, {PREFIX}tl_job.country, {PREFIX}tl_job.manually_closed, {PREFIX}tl_job.level_id, {PREFIX}tl_job.client_id, {PREFIX}tl_job.company_user_id, {PREFIX}tl_job.shortened_url_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.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.state, {PREFIX}tl_job.country, {PREFIX}tl_job.manually_closed, {PREFIX}tl_job.last_edited, {PREFIX}tl_job.level_id, {PREFIX}tl_job.client_id, {PREFIX}tl_job.company_user_id, {PREFIX}tl_job.shortened_url_id, 1 AS commasafe ";
private String SELECT_JOINS = "";
public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
......@@ -156,6 +159,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
!tl_jobPSet.containsAttrib(Job.FIELD_State)||
!tl_jobPSet.containsAttrib(Job.FIELD_Country)||
!tl_jobPSet.containsAttrib(Job.FIELD_IsManuallyClosed)||
!tl_jobPSet.containsAttrib(Job.FIELD_LastEdited)||
!tl_jobPSet.containsAttrib(Job.SINGLEREFERENCE_Level)||
!tl_jobPSet.containsAttrib(Job.SINGLEREFERENCE_Client)||
!tl_jobPSet.containsAttrib(Job.SINGLEREFERENCE_CompanyUser)||
......@@ -239,10 +243,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 = ?, state = ?, country = ?, manually_closed = ?, level_id = ? , client_id = ? , company_user_id = ? , shortened_url_id = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " +
"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 = ?, state = ?, country = ?, manually_closed = ?, last_edited = ?, level_id = ? , client_id = ? , company_user_id = ? , shortened_url_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_State.getForSQL(dummyState, tl_jobPSet.getAttrib (Job.FIELD_State))).listEntry (HELPER_Country.getForSQL(dummyCountry, tl_jobPSet.getAttrib (Job.FIELD_Country))).listEntry (HELPER_IsManuallyClosed.getForSQL(dummyIsManuallyClosed, tl_jobPSet.getAttrib (Job.FIELD_IsManuallyClosed))).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_CompanyUser)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_ShortenedURL)))).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_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_State.getForSQL(dummyState, tl_jobPSet.getAttrib (Job.FIELD_State))).listEntry (HELPER_Country.getForSQL(dummyCountry, tl_jobPSet.getAttrib (Job.FIELD_Country))).listEntry (HELPER_IsManuallyClosed.getForSQL(dummyIsManuallyClosed, tl_jobPSet.getAttrib (Job.FIELD_IsManuallyClosed))).listEntry (HELPER_LastEdited.getForSQL(dummyLastEdited, tl_jobPSet.getAttrib (Job.FIELD_LastEdited))).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_CompanyUser)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_ShortenedURL)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray());
if (rowsUpdated != 1)
{
......@@ -624,6 +628,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
tl_jobPSet.setAttrib(Job.FIELD_State, HELPER_State.getFromRS(dummyState, r, "state"));
tl_jobPSet.setAttrib(Job.FIELD_Country, HELPER_Country.getFromRS(dummyCountry, r, "country"));
tl_jobPSet.setAttrib(Job.FIELD_IsManuallyClosed, HELPER_IsManuallyClosed.getFromRS(dummyIsManuallyClosed, r, "manually_closed"));
tl_jobPSet.setAttrib(Job.FIELD_LastEdited, HELPER_LastEdited.getFromRS(dummyLastEdited, r, "last_edited"));
tl_jobPSet.setAttrib(Job.SINGLEREFERENCE_Level, r.getObject ("level_id"));
tl_jobPSet.setAttrib(Job.SINGLEREFERENCE_Client, r.getObject ("client_id"));
......@@ -645,10 +650,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, state, country, manually_closed, level_id, client_id, company_user_id, shortened_url_id, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " +
" (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, state, country, manually_closed, last_edited, level_id, client_id, company_user_id, shortened_url_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_State.getForSQL(dummyState, tl_jobPSet.getAttrib (Job.FIELD_State))).listEntry (HELPER_Country.getForSQL(dummyCountry, tl_jobPSet.getAttrib (Job.FIELD_Country))).listEntry (HELPER_IsManuallyClosed.getForSQL(dummyIsManuallyClosed, tl_jobPSet.getAttrib (Job.FIELD_IsManuallyClosed))) .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_CompanyUser)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_ShortenedURL)))) .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_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_State.getForSQL(dummyState, tl_jobPSet.getAttrib (Job.FIELD_State))).listEntry (HELPER_Country.getForSQL(dummyCountry, tl_jobPSet.getAttrib (Job.FIELD_Country))).listEntry (HELPER_IsManuallyClosed.getForSQL(dummyIsManuallyClosed, tl_jobPSet.getAttrib (Job.FIELD_IsManuallyClosed))).listEntry (HELPER_LastEdited.getForSQL(dummyLastEdited, tl_jobPSet.getAttrib (Job.FIELD_LastEdited))) .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_CompanyUser)))).listEntry (SQLManager.CheckNull((Long)(tl_jobPSet.getAttrib (Job.SINGLEREFERENCE_ShortenedURL)))) .listEntry (objectID.longID ()).toList().toArray());
tl_jobPSet.setStatus (PersistentSetStatus.PROCESSED);
}
......
......@@ -51,10 +51,12 @@
Job[] allJobs = Job.SearchByCompany()
.byCompany(secUser.getExtension(CompanyUser.REFERENCE_CompanyUser).getCompany())
.search(transaction);
List<Job> recentJobs = ObjstoreUtils.sort(Arrays.asList(allJobs),
new ObjectTransform[]{ Job.pipesJob().toObjectLastModified() },
new Comparator[]{ CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR) });
new ObjectTransform[]{ Job.pipesJob().toLastEdited() ,
Job.pipesJob().toObjectLastModified()},
new Comparator[]{ CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR), CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR), CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR) });
Article jobsArticle = WebUtils.getArticleByShortCut(transaction, WebUtils.JOBS);
String nextPage = jobsArticle.getLink(request, CollectionUtils.mapEntry("cms.rm", WebUtils.VIEW_APPLICANTS).toMap());
......
<?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="last_edited" type="Date" nullable="true"/>
</NODE>
</NODE>
</OBJECTS>
\ No newline at end of file
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