Commit 1bd22d83 by Harsh Shah

Finish Hotfix-20190514

parents c5958847 8193fd80
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
<column name="last_plan_amount" type="Double" nullable="true"/> <column name="last_plan_amount" type="Double" nullable="true"/>
<column name="google_address_text" type="String" nullable="true" length="300"/> <column name="google_address_text" type="String" nullable="true" length="300"/>
<column name="plan_cancelled" type="Boolean" nullable="true"/> <column name="plan_cancelled" type="Boolean" nullable="true"/>
<column name="message_id" type="Long" nullable="true"/>
<column name="company_id" type="Long" length="11" nullable="false"/> <column name="company_id" type="Long" length="11" nullable="false"/>
<column name="billing_team_id" type="Long" length="11" nullable="true"/> <column name="billing_team_id" type="Long" length="11" nullable="true"/>
<column name="added_by_user_id" type="Long" length="11" nullable="false"/> <column name="added_by_user_id" type="Long" length="11" nullable="false"/>
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
<column name="google_address_text" type="String" nullable="true" length="300"/> <column name="google_address_text" type="String" nullable="true" length="300"/>
<column name="prefer_remote" type="Boolean" nullable="true"/> <column name="prefer_remote" type="Boolean" nullable="true"/>
<column name="happy_to_relocate" type="Boolean" nullable="true"/> <column name="happy_to_relocate" type="Boolean" nullable="true"/>
<column name="is_email_ingest" type="Boolean" nullable="true"/>
<column name="candidate_id" type="Long" length="11" nullable="false"/> <column name="candidate_id" type="Long" length="11" nullable="false"/>
<column name="job_id" type="Long" length="11" nullable="false"/> <column name="job_id" type="Long" length="11" nullable="false"/>
</NODE> </NODE>
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
<column name="object_id" type="Long" nullable="false" length="11"/> <column name="object_id" type="Long" nullable="false" length="11"/>
<column name="object_last_updated_date" type="Date" nullable="false" length="22"/> <column name="object_last_updated_date" type="Date" nullable="false" length="22"/>
<column name="object_created_date" type="Date" nullable="false" length="22"/> <column name="object_created_date" type="Date" nullable="false" length="22"/>
<column name="message_id" type="Long" nullable="false"/>
<column name="template_name" type="String" nullable="false" length="200"/> <column name="template_name" type="String" nullable="false" length="200"/>
<column name="subject" type="String" nullable="false" length="200"/> <column name="subject" type="String" nullable="false" length="200"/>
<column name="application_status" type="String" nullable="false" length="200"/> <column name="application_status" type="String" nullable="false" length="200"/>
......
...@@ -36,6 +36,7 @@ CREATE TABLE tl_hiring_team ( ...@@ -36,6 +36,7 @@ CREATE TABLE tl_hiring_team (
last_plan_amount numeric(20,5) NULL, last_plan_amount numeric(20,5) NULL,
google_address_text varchar(300) NULL, google_address_text varchar(300) NULL,
plan_cancelled char(1) NULL, plan_cancelled char(1) NULL,
message_id numeric(12) NULL,
company_id numeric(12) NOT NULL, company_id numeric(12) NOT NULL,
billing_team_id numeric(12) NULL, billing_team_id numeric(12) NULL,
added_by_user_id numeric(12) NOT NULL, added_by_user_id numeric(12) NOT NULL,
......
...@@ -15,6 +15,7 @@ CREATE TABLE tl_job_application ( ...@@ -15,6 +15,7 @@ CREATE TABLE tl_job_application (
google_address_text varchar(300) NULL, google_address_text varchar(300) NULL,
prefer_remote char(1) NULL, prefer_remote char(1) NULL,
happy_to_relocate char(1) NULL, happy_to_relocate char(1) NULL,
is_email_ingest char(1) NULL,
candidate_id numeric(12) NOT NULL, candidate_id numeric(12) NOT NULL,
job_id numeric(12) NOT NULL job_id numeric(12) NOT NULL
); );
......
...@@ -8,6 +8,7 @@ CREATE TABLE tl_message_template ( ...@@ -8,6 +8,7 @@ CREATE TABLE tl_message_template (
object_last_updated_date datetime DEFAULT getdate() NOT NULL , object_last_updated_date datetime DEFAULT getdate() NOT NULL ,
object_created_date datetime DEFAULT getdate() NOT NULL object_created_date datetime DEFAULT getdate() NOT NULL
, ,
message_id numeric(12) NOT NULL,
template_name varchar(200) NOT NULL, template_name varchar(200) NOT NULL,
subject varchar(200) NOT NULL, subject varchar(200) NOT NULL,
application_status varchar(200) NOT NULL, application_status varchar(200) NOT NULL,
......
...@@ -37,6 +37,7 @@ CREATE TABLE tl_hiring_team ( ...@@ -37,6 +37,7 @@ CREATE TABLE tl_hiring_team (
last_plan_amount number(20,5) NULL, last_plan_amount number(20,5) NULL,
google_address_text varchar2(300) NULL, google_address_text varchar2(300) NULL,
plan_cancelled char(1) NULL, plan_cancelled char(1) NULL,
message_id number(12) NULL,
company_id number(12) NOT NULL, company_id number(12) NOT NULL,
billing_team_id number(12) NULL, billing_team_id number(12) NULL,
added_by_user_id number(12) NOT NULL, added_by_user_id number(12) NOT NULL,
......
...@@ -16,6 +16,7 @@ CREATE TABLE tl_job_application ( ...@@ -16,6 +16,7 @@ CREATE TABLE tl_job_application (
google_address_text varchar2(300) NULL, google_address_text varchar2(300) NULL,
prefer_remote char(1) NULL, prefer_remote char(1) NULL,
happy_to_relocate char(1) NULL, happy_to_relocate char(1) NULL,
is_email_ingest char(1) NULL,
candidate_id number(12) NOT NULL, candidate_id number(12) NOT NULL,
job_id number(12) NOT NULL job_id number(12) NOT NULL
); );
......
...@@ -9,6 +9,7 @@ CREATE TABLE tl_message_template ( ...@@ -9,6 +9,7 @@ CREATE TABLE tl_message_template (
object_last_updated_date date DEFAULT SYSDATE NOT NULL , object_last_updated_date date DEFAULT SYSDATE NOT NULL ,
object_created_date date DEFAULT SYSDATE NOT NULL object_created_date date DEFAULT SYSDATE NOT NULL
, ,
message_id number(12) NOT NULL,
template_name varchar2(200) NOT NULL, template_name varchar2(200) NOT NULL,
subject varchar2(200) NOT NULL, subject varchar2(200) NOT NULL,
application_status varchar2(200) NOT NULL, application_status varchar2(200) NOT NULL,
......
...@@ -37,6 +37,7 @@ CREATE TABLE tl_hiring_team ( ...@@ -37,6 +37,7 @@ CREATE TABLE tl_hiring_team (
last_plan_amount numeric(20,5) NULL, last_plan_amount numeric(20,5) NULL,
google_address_text varchar(300) NULL, google_address_text varchar(300) NULL,
plan_cancelled char(1) NULL, plan_cancelled char(1) NULL,
message_id numeric(12) NULL,
company_id numeric(12) NOT NULL, company_id numeric(12) NOT NULL,
billing_team_id numeric(12) NULL, billing_team_id numeric(12) NULL,
added_by_user_id numeric(12) NOT NULL, added_by_user_id numeric(12) NOT NULL,
......
...@@ -16,6 +16,7 @@ CREATE TABLE tl_job_application ( ...@@ -16,6 +16,7 @@ CREATE TABLE tl_job_application (
google_address_text varchar(300) NULL, google_address_text varchar(300) NULL,
prefer_remote char(1) NULL, prefer_remote char(1) NULL,
happy_to_relocate char(1) NULL, happy_to_relocate char(1) NULL,
is_email_ingest char(1) NULL,
candidate_id numeric(12) NOT NULL, candidate_id numeric(12) NOT NULL,
job_id numeric(12) NOT NULL job_id numeric(12) NOT NULL
); );
......
...@@ -9,6 +9,7 @@ CREATE TABLE tl_message_template ( ...@@ -9,6 +9,7 @@ CREATE TABLE tl_message_template (
object_last_updated_date timestamp DEFAULT NOW() NOT NULL , object_last_updated_date timestamp DEFAULT NOW() NOT NULL ,
object_created_date timestamp DEFAULT NOW() NOT NULL object_created_date timestamp DEFAULT NOW() NOT NULL
, ,
message_id numeric(12) NOT NULL,
template_name varchar(200) NOT NULL, template_name varchar(200) NOT NULL,
subject varchar(200) NOT NULL, subject varchar(200) NOT NULL,
application_status varchar(200) NOT NULL, application_status varchar(200) NOT NULL,
......
package performa.form;
import java.util.Map;
import oneit.objstore.ObjectTransaction;
import oneit.objstore.StorageException;
import oneit.objstore.parser.BusinessObjectParser;
import oneit.security.SecUser;
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 oneit.utils.CollectionUtils;
import oneit.utils.Debug;
import oneit.utils.MultiException;
import oneit.utils.RandomStringGen;
import oneit.utils.StringUtils;
import performa.orm.Candidate;
import performa.orm.Job;
import performa.orm.JobApplication;
import performa.utils.Utils;
import javax.servlet.http.HttpServletRequest;
import oneit.logging.LogLevel;
import oneit.logging.LogMgr;
import oneit.logging.LoggingArea;
import oneit.servlets.security.SessionSecUserDecorator;
public class IdentifyMaskedUserFP extends SaveFP
{
private static final LoggingArea LOG = LoggingArea.createLoggingArea("IdentifyMaskedUserFP");
@Override
public void validate(ORMProcessState process, SubmissionDetails submission, MultiException exceptions, Map params) throws StorageException
{
HttpServletRequest request = submission.getRequest();
Job job = (Job) request.getAttribute("Job");
Debug.assertion(job != null, "BO not avaialble");
Candidate candidate = (Candidate) request.getAttribute("Candidate");
SecUser secUser = candidate.getUser();
BusinessObjectParser.assertFieldCondition(secUser.getEmail() != null , job, Job.FIELD_Email, "mandatory", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(StringUtils.isEmailAddress(secUser.getEmail()), job, Job.FIELD_Email, "invalid", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(secUser.getFirstName() != null, secUser, SecUser.FIELD_FirstName, "mandatory", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(secUser.getLastName() != null, secUser, SecUser.FIELD_LastName, "mandatory", exceptions, true, request);
if(candidate.isEmailFound())
{
String password = (String) request.getParameter("password");
BusinessObjectParser.assertFieldCondition(password != null, secUser, SecUser.FIELD_Password, "mandatory", exceptions, true, request);
}
super.validate(process, submission, exceptions, params);
}
@Override
public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException
{
HttpServletRequest request = submission.getRequest();
ObjectTransaction objTran = process.getTransaction();
Candidate candidate = (Candidate) request.getAttribute("Candidate");
JobApplication jobApplication = (JobApplication) request.getAttribute("JobApplication");
String password = (String) request.getParameter("password");
Job job = (Job) request.getAttribute("Job");
LogMgr.log(LOG, LogLevel.PROCESSING1, "Started IdentifyMaskedUserFP", candidate);
if(candidate.isTrue(candidate.getIsEmailIngest()) && candidate.isTrue(candidate.getIsMaskedEmail()))
{
SecUser old = (SecUser) candidate.getUser().getEarliestBackup();
String userEmail = candidate.getUser().getEmail();
if(CollectionUtils.equals(old.getEmail(), candidate.getUser().getEmail()))
{
throw new BusinessException("Please enter a valid email address");
}
if(Utils.emailExists(objTran, userEmail))
{
LogMgr.log(LOG, LogLevel.PROCESSING1, "User account already exists with the entered email", candidate, "email: " , userEmail);
if(Utils.isCompanyUserEmailFound(objTran, userEmail))
{
throw new BusinessException("This email address is already in use by a Hiring Team account.");
}
SecUser newUser = candidate.getUser();
SecUser existingUser = SecUser.searchNAME(objTran, userEmail);
Candidate existingCandidate = existingUser.getExtension(Candidate.REFERENCE_Candidate);
if(!existingUser.checkPassword(password))
{
throw new BusinessException("Invalid Password. Please try again");
}
try
{
//Ideally should be managed with uniqueGroup, but uniqueGroup doesnt work without atleast 1 attribute
JobApplication.searchCandidateJob(process.getTransaction(), candidate, job); //It will throw RuntimeException when more than 1 record found.
}
catch(RuntimeException ex)
{
throw new BusinessException("You have already applied for this job.");
}
for(JobApplication application : candidate.getJobApplicationsSet())
{
application.setCandidate(existingCandidate);
}
existingUser.setFirstName(newUser.getFirstName());
existingUser.setLastName(newUser.getLastName());
existingCandidate.setKnownAsAlias(old.getEmail());
candidate.delete();
newUser.delete();
request.getSession().setAttribute (SecUser.SEC_USER_ID, existingUser);
request.getSession().setAttribute (SessionSecUserDecorator.REFRESH_SECURITY, Boolean.TRUE);
}
else
{
//set new verification key as email changed
candidate.setVerificationKey(new RandomStringGen().generateAlphaNum(6));
candidate.getUser().setUserName(candidate.getUser().getEmail());
candidate.setIsMaskedEmail(false);
candidate.setKnownAsAlias(old.getEmail());
}
}
LogMgr.log(LOG, LogLevel.PROCESSING1, "Finish IdentifyMaskedUserFP");
return super.processForm(process, submission, params);
}
}
...@@ -60,7 +60,6 @@ public class SendVerificationMailFP extends SaveFP ...@@ -60,7 +60,6 @@ public class SendVerificationMailFP extends SaveFP
if(job.getRequireCV()) if(job.getRequireCV())
{ {
BusinessObjectParser.assertFieldCondition(jobApplication.getCV() != null , jobApplication, JobApplication.FIELD_CV, "uploadCV", exceptions, true, request); BusinessObjectParser.assertFieldCondition(jobApplication.getCV() != null , jobApplication, JobApplication.FIELD_CV, "uploadCV", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(jobApplication.getCoverLetter() != null , jobApplication, JobApplication.FIELD_CoverLetter, "uploadCover", exceptions, true, request);
} }
BusinessObjectParser.assertFieldCondition(candidate.getGoogleAddressText() != null, candidate, Candidate.FIELD_GoogleAddressText, "mandatory", exceptions, true, request); BusinessObjectParser.assertFieldCondition(candidate.getGoogleAddressText() != null, candidate, Candidate.FIELD_GoogleAddressText, "mandatory", exceptions, true, request);
...@@ -130,25 +129,9 @@ public class SendVerificationMailFP extends SaveFP ...@@ -130,25 +129,9 @@ public class SendVerificationMailFP extends SaveFP
} }
else else
{ {
if(candidate.isTrue(candidate.getIsEmailIngest())) if(candidate.isTrue(candidate.getIsEmailIngest()) || jobApplication.getApplicationStatus() == ApplicationStatus.POST_INGEST)
{ {
if(candidate.isTrue(candidate.getIsMaskedEmail())) if(candidate.isFalse(candidate.getIsMaskedEmail()))
{
SecUser old = (SecUser) candidate.getUser().getEarliestBackup();
if(CollectionUtils.equals(old.getEmail(), candidate.getUser().getEmail()))
{
throw new BusinessException("Please enter a valid email address");
}
//set new verification key as email changed
candidate.setVerificationKey(new RandomStringGen().generateAlphaNum(6));
candidate.getUser().setUserName(candidate.getUser().getEmail());
candidate.setIsMaskedEmail(false);
candidate.setKnownAsAlias(old.getEmail());
}
else
{ {
candidate.setIsAccountVerified(true); candidate.setIsAccountVerified(true);
} }
......
...@@ -22,7 +22,7 @@ public class VerifyIdentityFP extends SaveFP ...@@ -22,7 +22,7 @@ public class VerifyIdentityFP extends SaveFP
HttpServletRequest request = submission.getRequest(); HttpServletRequest request = submission.getRequest();
Candidate candidate = (Candidate) request.getAttribute("Candidate"); Candidate candidate = (Candidate) request.getAttribute("Candidate");
if(candidate.isTrue(candidate.getIsEmailIngest()) && candidate.getKnownAsAlias() == null && !candidate.isTrue(candidate.getIsPasswordChanged())) if(candidate.isTrue(candidate.getIsEmailIngest()) && !candidate.isTrue(candidate.getIsPasswordChanged()))
{ {
request.getSession().setAttribute (SecUser.SEC_USER_ID, candidate.getUser()); request.getSession().setAttribute (SecUser.SEC_USER_ID, candidate.getUser());
request.getSession().setAttribute (SessionSecUserDecorator.REFRESH_SECURITY, Boolean.TRUE); request.getSession().setAttribute (SessionSecUserDecorator.REFRESH_SECURITY, Boolean.TRUE);
......
...@@ -70,6 +70,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -70,6 +70,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
public static final String FIELD_LastPlanAmount = "LastPlanAmount"; public static final String FIELD_LastPlanAmount = "LastPlanAmount";
public static final String FIELD_GoogleAddressText = "GoogleAddressText"; public static final String FIELD_GoogleAddressText = "GoogleAddressText";
public static final String FIELD_PlanCancelled = "PlanCancelled"; public static final String FIELD_PlanCancelled = "PlanCancelled";
public static final String FIELD_MessageID = "MessageID";
public static final String FIELD_IsLogoDeleted = "IsLogoDeleted"; public static final String FIELD_IsLogoDeleted = "IsLogoDeleted";
public static final String FIELD_CouponCode = "CouponCode"; public static final String FIELD_CouponCode = "CouponCode";
public static final String FIELD_StripeBrand = "StripeBrand"; public static final String FIELD_StripeBrand = "StripeBrand";
...@@ -122,6 +123,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -122,6 +123,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
private static final DefaultAttributeHelper<HiringTeam> HELPER_LastPlanAmount = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<HiringTeam> HELPER_LastPlanAmount = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<HiringTeam> HELPER_GoogleAddressText = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<HiringTeam> HELPER_GoogleAddressText = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<HiringTeam> HELPER_PlanCancelled = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<HiringTeam> HELPER_PlanCancelled = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<HiringTeam> HELPER_MessageID = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<HiringTeam> HELPER_IsLogoDeleted = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<HiringTeam> HELPER_IsLogoDeleted = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<HiringTeam> HELPER_CouponCode = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<HiringTeam> HELPER_CouponCode = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<HiringTeam> HELPER_StripeBrand = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<HiringTeam> HELPER_StripeBrand = DefaultAttributeHelper.INSTANCE;
...@@ -157,6 +159,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -157,6 +159,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
private Double _LastPlanAmount; private Double _LastPlanAmount;
private String _GoogleAddressText; private String _GoogleAddressText;
private Boolean _PlanCancelled; private Boolean _PlanCancelled;
private Integer _MessageID;
private Boolean _IsLogoDeleted; private Boolean _IsLogoDeleted;
private String _CouponCode; private String _CouponCode;
private String _StripeBrand; private String _StripeBrand;
...@@ -213,6 +216,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -213,6 +216,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
private static final AttributeValidator[] FIELD_LastPlanAmount_Validators; private static final AttributeValidator[] FIELD_LastPlanAmount_Validators;
private static final AttributeValidator[] FIELD_GoogleAddressText_Validators; private static final AttributeValidator[] FIELD_GoogleAddressText_Validators;
private static final AttributeValidator[] FIELD_PlanCancelled_Validators; private static final AttributeValidator[] FIELD_PlanCancelled_Validators;
private static final AttributeValidator[] FIELD_MessageID_Validators;
// Arrays of behaviour decorators // Arrays of behaviour decorators
...@@ -271,6 +275,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -271,6 +275,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
FIELD_LastPlanAmount_Validators = (AttributeValidator[])setupAttribMetaData_LastPlanAmount(validatorMapping).toArray (new AttributeValidator[0]); FIELD_LastPlanAmount_Validators = (AttributeValidator[])setupAttribMetaData_LastPlanAmount(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_GoogleAddressText_Validators = (AttributeValidator[])setupAttribMetaData_GoogleAddressText(validatorMapping).toArray (new AttributeValidator[0]); FIELD_GoogleAddressText_Validators = (AttributeValidator[])setupAttribMetaData_GoogleAddressText(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_PlanCancelled_Validators = (AttributeValidator[])setupAttribMetaData_PlanCancelled(validatorMapping).toArray (new AttributeValidator[0]); FIELD_PlanCancelled_Validators = (AttributeValidator[])setupAttribMetaData_PlanCancelled(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_MessageID_Validators = (AttributeValidator[])setupAttribMetaData_MessageID(validatorMapping).toArray (new AttributeValidator[0]);
REFERENCE_HiringTeam.initialiseReference (); REFERENCE_HiringTeam.initialiseReference ();
...@@ -1014,6 +1019,24 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -1014,6 +1019,24 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
return validators; return validators;
} }
// Meta Info setup
private static List setupAttribMetaData_MessageID(Map validatorMapping)
{
Map metaInfo = new HashMap ();
metaInfo.put ("dbcol", "message_id");
metaInfo.put ("name", "MessageID");
metaInfo.put ("type", "Integer");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for HiringTeam.MessageID:", metaInfo);
ATTRIBUTES_METADATA_HiringTeam.put (FIELD_MessageID, Collections.unmodifiableMap (metaInfo));
List validators = BaseBusinessClass.getAttribValidators(HiringTeam.class, "MessageID", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for HiringTeam.MessageID:", validators);
return validators;
}
// END OF STATIC METADATA DEFINITION // END OF STATIC METADATA DEFINITION
...@@ -1069,6 +1092,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -1069,6 +1092,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
_LastPlanAmount = (Double)(HELPER_LastPlanAmount.initialise (_LastPlanAmount)); _LastPlanAmount = (Double)(HELPER_LastPlanAmount.initialise (_LastPlanAmount));
_GoogleAddressText = (String)(HELPER_GoogleAddressText.initialise (_GoogleAddressText)); _GoogleAddressText = (String)(HELPER_GoogleAddressText.initialise (_GoogleAddressText));
_PlanCancelled = (Boolean)(Boolean.FALSE); _PlanCancelled = (Boolean)(Boolean.FALSE);
_MessageID = (Integer)(HELPER_MessageID.initialise (_MessageID));
_IsLogoDeleted = (Boolean)(Boolean.FALSE); _IsLogoDeleted = (Boolean)(Boolean.FALSE);
_CouponCode = (String)(HELPER_CouponCode.initialise (_CouponCode)); _CouponCode = (String)(HELPER_CouponCode.initialise (_CouponCode));
_StripeBrand = (String)(HELPER_StripeBrand.initialise (_StripeBrand)); _StripeBrand = (String)(HELPER_StripeBrand.initialise (_StripeBrand));
...@@ -3859,6 +3883,104 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -3859,6 +3883,104 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
} }
/** /**
* Get the attribute MessageID
*/
public Integer getMessageID ()
{
assertValid();
Integer valToReturn = _MessageID;
for (HiringTeamBehaviourDecorator bhd : HiringTeam_BehaviourDecorators)
{
valToReturn = bhd.getMessageID ((HiringTeam)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 preMessageIDChange (Integer newMessageID) 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 postMessageIDChange () throws FieldException
{
}
public FieldWriteability getWriteability_MessageID ()
{
return getFieldWritabilityUtil (FieldWriteability.TRUE);
}
/**
* Set the attribute MessageID. Checks to ensure a new value
* has been supplied. If so, marks the field as altered and sets the attribute.
*/
public void setMessageID (Integer newMessageID) throws FieldException
{
boolean oldAndNewIdentical = HELPER_MessageID.compare (_MessageID, newMessageID);
try
{
for (HiringTeamBehaviourDecorator bhd : HiringTeam_BehaviourDecorators)
{
newMessageID = bhd.setMessageID ((HiringTeam)this, newMessageID);
oldAndNewIdentical = HELPER_MessageID.compare (_MessageID, newMessageID);
}
if (FIELD_MessageID_Validators.length > 0)
{
Object newMessageIDObj = HELPER_MessageID.toObject (newMessageID);
if (newMessageIDObj != null)
{
int loopMax = FIELD_MessageID_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_HiringTeam.get (FIELD_MessageID);
for (int v = 0 ; v < loopMax ; ++v)
{
FIELD_MessageID_Validators[v].checkAttribute (this, FIELD_MessageID, metadata, newMessageIDObj);
}
}
}
}
catch (FieldException e)
{
if (!oldAndNewIdentical)
{
e.setWouldModify ();
}
throw e;
}
if (!oldAndNewIdentical)
{
assertValid();
Debug.assertion (getWriteability_MessageID () != FieldWriteability.FALSE, "Field MessageID is not writeable");
preMessageIDChange (newMessageID);
markFieldChange (FIELD_MessageID);
_MessageID = newMessageID;
postFieldChange (FIELD_MessageID);
postMessageIDChange ();
}
}
/**
* Get the attribute IsLogoDeleted * Get the attribute IsLogoDeleted
*/ */
public Boolean getIsLogoDeleted () public Boolean getIsLogoDeleted ()
...@@ -5528,6 +5650,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -5528,6 +5650,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
tl_hiring_teamPSet.setAttrib (FIELD_LastPlanAmount, HELPER_LastPlanAmount.toObject (_LastPlanAmount)); // tl_hiring_teamPSet.setAttrib (FIELD_LastPlanAmount, HELPER_LastPlanAmount.toObject (_LastPlanAmount)); //
tl_hiring_teamPSet.setAttrib (FIELD_GoogleAddressText, HELPER_GoogleAddressText.toObject (_GoogleAddressText)); // tl_hiring_teamPSet.setAttrib (FIELD_GoogleAddressText, HELPER_GoogleAddressText.toObject (_GoogleAddressText)); //
tl_hiring_teamPSet.setAttrib (FIELD_PlanCancelled, HELPER_PlanCancelled.toObject (_PlanCancelled)); // tl_hiring_teamPSet.setAttrib (FIELD_PlanCancelled, HELPER_PlanCancelled.toObject (_PlanCancelled)); //
tl_hiring_teamPSet.setAttrib (FIELD_MessageID, HELPER_MessageID.toObject (_MessageID)); //
_Company.getPersistentSets (allSets); _Company.getPersistentSets (allSets);
_BilledByTeam.getPersistentSets (allSets); _BilledByTeam.getPersistentSets (allSets);
_AddedByUser.getPersistentSets (allSets); _AddedByUser.getPersistentSets (allSets);
...@@ -5575,6 +5698,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -5575,6 +5698,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
_LastPlanAmount = (Double)(HELPER_LastPlanAmount.fromObject (_LastPlanAmount, tl_hiring_teamPSet.getAttrib (FIELD_LastPlanAmount))); // _LastPlanAmount = (Double)(HELPER_LastPlanAmount.fromObject (_LastPlanAmount, tl_hiring_teamPSet.getAttrib (FIELD_LastPlanAmount))); //
_GoogleAddressText = (String)(HELPER_GoogleAddressText.fromObject (_GoogleAddressText, tl_hiring_teamPSet.getAttrib (FIELD_GoogleAddressText))); // _GoogleAddressText = (String)(HELPER_GoogleAddressText.fromObject (_GoogleAddressText, tl_hiring_teamPSet.getAttrib (FIELD_GoogleAddressText))); //
_PlanCancelled = (Boolean)(HELPER_PlanCancelled.fromObject (_PlanCancelled, tl_hiring_teamPSet.getAttrib (FIELD_PlanCancelled))); // _PlanCancelled = (Boolean)(HELPER_PlanCancelled.fromObject (_PlanCancelled, tl_hiring_teamPSet.getAttrib (FIELD_PlanCancelled))); //
_MessageID = (Integer)(HELPER_MessageID.fromObject (_MessageID, tl_hiring_teamPSet.getAttrib (FIELD_MessageID))); //
_Company.setFromPersistentSets (objectID, allSets); _Company.setFromPersistentSets (objectID, allSets);
_BilledByTeam.setFromPersistentSets (objectID, allSets); _BilledByTeam.setFromPersistentSets (objectID, allSets);
_AddedByUser.setFromPersistentSets (objectID, allSets); _AddedByUser.setFromPersistentSets (objectID, allSets);
...@@ -5847,6 +5971,15 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -5847,6 +5971,15 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
e.addException (ex); e.addException (ex);
} }
try
{
setMessageID (otherHiringTeam.getMessageID ());
}
catch (FieldException ex)
{
e.addException (ex);
}
} }
} }
...@@ -5890,6 +6023,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -5890,6 +6023,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
_LastPlanAmount = sourceHiringTeam._LastPlanAmount; _LastPlanAmount = sourceHiringTeam._LastPlanAmount;
_GoogleAddressText = sourceHiringTeam._GoogleAddressText; _GoogleAddressText = sourceHiringTeam._GoogleAddressText;
_PlanCancelled = sourceHiringTeam._PlanCancelled; _PlanCancelled = sourceHiringTeam._PlanCancelled;
_MessageID = sourceHiringTeam._MessageID;
_IsLogoDeleted = sourceHiringTeam._IsLogoDeleted; _IsLogoDeleted = sourceHiringTeam._IsLogoDeleted;
_CouponCode = sourceHiringTeam._CouponCode; _CouponCode = sourceHiringTeam._CouponCode;
_StripeBrand = sourceHiringTeam._StripeBrand; _StripeBrand = sourceHiringTeam._StripeBrand;
...@@ -5986,6 +6120,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -5986,6 +6120,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
_LastPlanAmount = (Double)(HELPER_LastPlanAmount.readExternal (_LastPlanAmount, vals.get(FIELD_LastPlanAmount))); // _LastPlanAmount = (Double)(HELPER_LastPlanAmount.readExternal (_LastPlanAmount, vals.get(FIELD_LastPlanAmount))); //
_GoogleAddressText = (String)(HELPER_GoogleAddressText.readExternal (_GoogleAddressText, vals.get(FIELD_GoogleAddressText))); // _GoogleAddressText = (String)(HELPER_GoogleAddressText.readExternal (_GoogleAddressText, vals.get(FIELD_GoogleAddressText))); //
_PlanCancelled = (Boolean)(HELPER_PlanCancelled.readExternal (_PlanCancelled, vals.get(FIELD_PlanCancelled))); // _PlanCancelled = (Boolean)(HELPER_PlanCancelled.readExternal (_PlanCancelled, vals.get(FIELD_PlanCancelled))); //
_MessageID = (Integer)(HELPER_MessageID.readExternal (_MessageID, vals.get(FIELD_MessageID))); //
_IsLogoDeleted = (Boolean)(HELPER_IsLogoDeleted.readExternal (_IsLogoDeleted, vals.get(FIELD_IsLogoDeleted))); // _IsLogoDeleted = (Boolean)(HELPER_IsLogoDeleted.readExternal (_IsLogoDeleted, vals.get(FIELD_IsLogoDeleted))); //
_CouponCode = (String)(HELPER_CouponCode.readExternal (_CouponCode, vals.get(FIELD_CouponCode))); // _CouponCode = (String)(HELPER_CouponCode.readExternal (_CouponCode, vals.get(FIELD_CouponCode))); //
_StripeBrand = (String)(HELPER_StripeBrand.readExternal (_StripeBrand, vals.get(FIELD_StripeBrand))); // _StripeBrand = (String)(HELPER_StripeBrand.readExternal (_StripeBrand, vals.get(FIELD_StripeBrand))); //
...@@ -6037,6 +6172,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -6037,6 +6172,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
vals.put (FIELD_LastPlanAmount, HELPER_LastPlanAmount.writeExternal (_LastPlanAmount)); vals.put (FIELD_LastPlanAmount, HELPER_LastPlanAmount.writeExternal (_LastPlanAmount));
vals.put (FIELD_GoogleAddressText, HELPER_GoogleAddressText.writeExternal (_GoogleAddressText)); vals.put (FIELD_GoogleAddressText, HELPER_GoogleAddressText.writeExternal (_GoogleAddressText));
vals.put (FIELD_PlanCancelled, HELPER_PlanCancelled.writeExternal (_PlanCancelled)); vals.put (FIELD_PlanCancelled, HELPER_PlanCancelled.writeExternal (_PlanCancelled));
vals.put (FIELD_MessageID, HELPER_MessageID.writeExternal (_MessageID));
vals.put (FIELD_IsLogoDeleted, HELPER_IsLogoDeleted.writeExternal (_IsLogoDeleted)); vals.put (FIELD_IsLogoDeleted, HELPER_IsLogoDeleted.writeExternal (_IsLogoDeleted));
vals.put (FIELD_CouponCode, HELPER_CouponCode.writeExternal (_CouponCode)); vals.put (FIELD_CouponCode, HELPER_CouponCode.writeExternal (_CouponCode));
vals.put (FIELD_StripeBrand, HELPER_StripeBrand.writeExternal (_StripeBrand)); vals.put (FIELD_StripeBrand, HELPER_StripeBrand.writeExternal (_StripeBrand));
...@@ -6174,6 +6310,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -6174,6 +6310,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
{ {
listener.notifyFieldChange(this, other, FIELD_PlanCancelled, HELPER_PlanCancelled.toObject(this._PlanCancelled), HELPER_PlanCancelled.toObject(otherHiringTeam._PlanCancelled)); listener.notifyFieldChange(this, other, FIELD_PlanCancelled, HELPER_PlanCancelled.toObject(this._PlanCancelled), HELPER_PlanCancelled.toObject(otherHiringTeam._PlanCancelled));
} }
if (!HELPER_MessageID.compare(this._MessageID, otherHiringTeam._MessageID))
{
listener.notifyFieldChange(this, other, FIELD_MessageID, HELPER_MessageID.toObject(this._MessageID), HELPER_MessageID.toObject(otherHiringTeam._MessageID));
}
// Compare single assocs // Compare single assocs
_Company.compare (otherHiringTeam._Company, listener); _Company.compare (otherHiringTeam._Company, listener);
...@@ -6236,6 +6376,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -6236,6 +6376,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
visitor.visitField(this, FIELD_LastPlanAmount, HELPER_LastPlanAmount.toObject(getLastPlanAmount())); visitor.visitField(this, FIELD_LastPlanAmount, HELPER_LastPlanAmount.toObject(getLastPlanAmount()));
visitor.visitField(this, FIELD_GoogleAddressText, HELPER_GoogleAddressText.toObject(getGoogleAddressText())); visitor.visitField(this, FIELD_GoogleAddressText, HELPER_GoogleAddressText.toObject(getGoogleAddressText()));
visitor.visitField(this, FIELD_PlanCancelled, HELPER_PlanCancelled.toObject(getPlanCancelled())); visitor.visitField(this, FIELD_PlanCancelled, HELPER_PlanCancelled.toObject(getPlanCancelled()));
visitor.visitField(this, FIELD_MessageID, HELPER_MessageID.toObject(getMessageID()));
visitor.visitAssociation (_Company); visitor.visitAssociation (_Company);
visitor.visitAssociation (_BilledByTeam); visitor.visitAssociation (_BilledByTeam);
visitor.visitAssociation (_AddedByUser); visitor.visitAssociation (_AddedByUser);
...@@ -6421,6 +6562,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -6421,6 +6562,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
{ {
return filter.matches (getPlanCancelled ()); return filter.matches (getPlanCancelled ());
} }
else if (attribName.equals (FIELD_MessageID))
{
return filter.matches (getMessageID ());
}
else if (attribName.equals (SINGLEREFERENCE_Company)) else if (attribName.equals (SINGLEREFERENCE_Company))
{ {
return filter.matches (getCompany ()); return filter.matches (getCompany ());
...@@ -6640,6 +6785,12 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -6640,6 +6785,12 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
return this; return this;
} }
public SearchAll andMessageID (QueryFilter<Integer> filter)
{
filter.addFilter (context, "tl_hiring_team.message_id", "MessageID");
return this;
}
public SearchAll andCompany (QueryFilter<Company> filter) public SearchAll andCompany (QueryFilter<Company> filter)
{ {
filter.addFilter (context, "tl_hiring_team.company_id", "Company"); filter.addFilter (context, "tl_hiring_team.company_id", "Company");
...@@ -6889,6 +7040,12 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -6889,6 +7040,12 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
return this; return this;
} }
public SearchBillingTeams andMessageID (QueryFilter<Integer> filter)
{
filter.addFilter (context, "tl_hiring_team.message_id", "MessageID");
return this;
}
public SearchBillingTeams andCompany (QueryFilter<Company> filter) public SearchBillingTeams andCompany (QueryFilter<Company> filter)
{ {
filter.addFilter (context, "tl_hiring_team.company_id", "Company"); filter.addFilter (context, "tl_hiring_team.company_id", "Company");
...@@ -7066,6 +7223,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -7066,6 +7223,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
{ {
return HELPER_PlanCancelled.toObject (getPlanCancelled ()); return HELPER_PlanCancelled.toObject (getPlanCancelled ());
} }
else if (attribName.equals (FIELD_MessageID))
{
return HELPER_MessageID.toObject (getMessageID ());
}
else if (attribName.equals (FIELD_IsLogoDeleted)) else if (attribName.equals (FIELD_IsLogoDeleted))
{ {
return HELPER_IsLogoDeleted.toObject (getIsLogoDeleted ()); return HELPER_IsLogoDeleted.toObject (getIsLogoDeleted ());
...@@ -7207,6 +7368,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -7207,6 +7368,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
{ {
return HELPER_PlanCancelled; return HELPER_PlanCancelled;
} }
else if (attribName.equals (FIELD_MessageID))
{
return HELPER_MessageID;
}
else if (attribName.equals (FIELD_IsLogoDeleted)) else if (attribName.equals (FIELD_IsLogoDeleted))
{ {
return HELPER_IsLogoDeleted; return HELPER_IsLogoDeleted;
...@@ -7348,6 +7513,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -7348,6 +7513,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
{ {
setPlanCancelled ((Boolean)(HELPER_PlanCancelled.fromObject (_PlanCancelled, attribValue))); setPlanCancelled ((Boolean)(HELPER_PlanCancelled.fromObject (_PlanCancelled, attribValue)));
} }
else if (attribName.equals (FIELD_MessageID))
{
setMessageID ((Integer)(HELPER_MessageID.fromObject (_MessageID, attribValue)));
}
else if (attribName.equals (FIELD_IsLogoDeleted)) else if (attribName.equals (FIELD_IsLogoDeleted))
{ {
setIsLogoDeleted ((Boolean)(HELPER_IsLogoDeleted.fromObject (_IsLogoDeleted, attribValue))); setIsLogoDeleted ((Boolean)(HELPER_IsLogoDeleted.fromObject (_IsLogoDeleted, attribValue)));
...@@ -7496,6 +7665,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -7496,6 +7665,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
{ {
return getWriteability_PlanCancelled (); return getWriteability_PlanCancelled ();
} }
else if (fieldName.equals (FIELD_MessageID))
{
return getWriteability_MessageID ();
}
else if (fieldName.equals (MULTIPLEREFERENCE_Users)) else if (fieldName.equals (MULTIPLEREFERENCE_Users))
{ {
return getWriteability_Users (); return getWriteability_Users ();
...@@ -7694,6 +7867,11 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -7694,6 +7867,11 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
fields.add (FIELD_PlanCancelled); fields.add (FIELD_PlanCancelled);
} }
if (getWriteability_MessageID () != FieldWriteability.TRUE)
{
fields.add (FIELD_MessageID);
}
if (getWriteability_IsLogoDeleted () != FieldWriteability.TRUE) if (getWriteability_IsLogoDeleted () != FieldWriteability.TRUE)
{ {
fields.add (FIELD_IsLogoDeleted); fields.add (FIELD_IsLogoDeleted);
...@@ -7751,6 +7929,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -7751,6 +7929,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
result.add(HELPER_LastPlanAmount.getAttribObject (getClass (), _LastPlanAmount, false, FIELD_LastPlanAmount)); result.add(HELPER_LastPlanAmount.getAttribObject (getClass (), _LastPlanAmount, false, FIELD_LastPlanAmount));
result.add(HELPER_GoogleAddressText.getAttribObject (getClass (), _GoogleAddressText, false, FIELD_GoogleAddressText)); result.add(HELPER_GoogleAddressText.getAttribObject (getClass (), _GoogleAddressText, false, FIELD_GoogleAddressText));
result.add(HELPER_PlanCancelled.getAttribObject (getClass (), _PlanCancelled, false, FIELD_PlanCancelled)); result.add(HELPER_PlanCancelled.getAttribObject (getClass (), _PlanCancelled, false, FIELD_PlanCancelled));
result.add(HELPER_MessageID.getAttribObject (getClass (), _MessageID, false, FIELD_MessageID));
result.add(HELPER_IsLogoDeleted.getAttribObject (getClass (), _IsLogoDeleted, false, FIELD_IsLogoDeleted)); result.add(HELPER_IsLogoDeleted.getAttribObject (getClass (), _IsLogoDeleted, false, FIELD_IsLogoDeleted));
result.add(HELPER_CouponCode.getAttribObject (getClass (), _CouponCode, false, FIELD_CouponCode)); result.add(HELPER_CouponCode.getAttribObject (getClass (), _CouponCode, false, FIELD_CouponCode));
result.add(HELPER_StripeBrand.getAttribObject (getClass (), _StripeBrand, false, FIELD_StripeBrand)); result.add(HELPER_StripeBrand.getAttribObject (getClass (), _StripeBrand, false, FIELD_StripeBrand));
...@@ -8328,6 +8507,24 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -8328,6 +8507,24 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
} }
/** /**
* Get the attribute MessageID
*/
public Integer getMessageID (HiringTeam obj, Integer original)
{
return original;
}
/**
* Change the value set for attribute MessageID.
* May modify the field beforehand
* Occurs before validation.
*/
public Integer setMessageID (HiringTeam obj, Integer newMessageID) throws FieldException
{
return newMessageID;
}
/**
* Get the attribute IsLogoDeleted * Get the attribute IsLogoDeleted
*/ */
public Boolean getIsLogoDeleted (HiringTeam obj, Boolean original) public Boolean getIsLogoDeleted (HiringTeam obj, Boolean original)
...@@ -8591,6 +8788,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -8591,6 +8788,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
{ {
return toPlanCancelled (); return toPlanCancelled ();
} }
if (name.equals ("MessageID"))
{
return toMessageID ();
}
if (name.equals ("Company")) if (name.equals ("Company"))
{ {
return toCompany (); return toCompany ();
...@@ -8680,6 +8881,8 @@ public abstract class BaseHiringTeam extends BaseBusinessClass ...@@ -8680,6 +8881,8 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
public PipeLine<From, String> toGoogleAddressText () { return pipe(new ORMAttributePipe<Me, String>(FIELD_GoogleAddressText)); } public PipeLine<From, String> toGoogleAddressText () { return pipe(new ORMAttributePipe<Me, String>(FIELD_GoogleAddressText)); }
public PipeLine<From, Boolean> toPlanCancelled () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_PlanCancelled)); } public PipeLine<From, Boolean> toPlanCancelled () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_PlanCancelled)); }
public PipeLine<From, Integer> toMessageID () { return pipe(new ORMAttributePipe<Me, Integer>(FIELD_MessageID)); }
public Company.CompanyPipeLineFactory<From, Company> toCompany () { return toCompany (Filter.ALL); } public Company.CompanyPipeLineFactory<From, Company> toCompany () { return toCompany (Filter.ALL); }
public Company.CompanyPipeLineFactory<From, Company> toCompany (Filter<Company> filter) public Company.CompanyPipeLineFactory<From, Company> toCompany (Filter<Company> filter)
......
...@@ -47,6 +47,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -47,6 +47,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
public static final String FIELD_GoogleAddressText = "GoogleAddressText"; public static final String FIELD_GoogleAddressText = "GoogleAddressText";
public static final String FIELD_PreferRemote = "PreferRemote"; public static final String FIELD_PreferRemote = "PreferRemote";
public static final String FIELD_HappyToRelocate = "HappyToRelocate"; public static final String FIELD_HappyToRelocate = "HappyToRelocate";
public static final String FIELD_IsEmailIngest = "IsEmailIngest";
public static final String FIELD_AppProcessOption = "AppProcessOption"; public static final String FIELD_AppProcessOption = "AppProcessOption";
public static final String FIELD_OverallRank = "OverallRank"; public static final String FIELD_OverallRank = "OverallRank";
public static final String FIELD_RoleFit = "RoleFit"; public static final String FIELD_RoleFit = "RoleFit";
...@@ -82,6 +83,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -82,6 +83,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
private static final DefaultAttributeHelper<JobApplication> HELPER_GoogleAddressText = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<JobApplication> HELPER_GoogleAddressText = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<JobApplication> HELPER_PreferRemote = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<JobApplication> HELPER_PreferRemote = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<JobApplication> HELPER_HappyToRelocate = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<JobApplication> HELPER_HappyToRelocate = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<JobApplication> HELPER_IsEmailIngest = DefaultAttributeHelper.INSTANCE;
private static final EnumeratedAttributeHelper<JobApplication, AppProcessOption> HELPER_AppProcessOption = new EnumeratedAttributeHelper<JobApplication, AppProcessOption> (AppProcessOption.FACTORY_AppProcessOption); private static final EnumeratedAttributeHelper<JobApplication, AppProcessOption> HELPER_AppProcessOption = new EnumeratedAttributeHelper<JobApplication, AppProcessOption> (AppProcessOption.FACTORY_AppProcessOption);
private static final DefaultAttributeHelper<JobApplication> HELPER_OverallRank = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<JobApplication> HELPER_OverallRank = DefaultAttributeHelper.INSTANCE;
private static final BLOBAttributeHelper HELPER_RoleFit = BLOBAttributeHelper.INSTANCE; private static final BLOBAttributeHelper HELPER_RoleFit = BLOBAttributeHelper.INSTANCE;
...@@ -99,6 +101,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -99,6 +101,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
private String _GoogleAddressText; private String _GoogleAddressText;
private Boolean _PreferRemote; private Boolean _PreferRemote;
private Boolean _HappyToRelocate; private Boolean _HappyToRelocate;
private Boolean _IsEmailIngest;
private AppProcessOption _AppProcessOption; private AppProcessOption _AppProcessOption;
private Integer _OverallRank; private Integer _OverallRank;
private Map _RoleFit; private Map _RoleFit;
...@@ -139,6 +142,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -139,6 +142,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
private static final AttributeValidator[] FIELD_GoogleAddressText_Validators; private static final AttributeValidator[] FIELD_GoogleAddressText_Validators;
private static final AttributeValidator[] FIELD_PreferRemote_Validators; private static final AttributeValidator[] FIELD_PreferRemote_Validators;
private static final AttributeValidator[] FIELD_HappyToRelocate_Validators; private static final AttributeValidator[] FIELD_HappyToRelocate_Validators;
private static final AttributeValidator[] FIELD_IsEmailIngest_Validators;
// Arrays of behaviour decorators // Arrays of behaviour decorators
...@@ -179,6 +183,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -179,6 +183,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
FIELD_GoogleAddressText_Validators = (AttributeValidator[])setupAttribMetaData_GoogleAddressText(validatorMapping).toArray (new AttributeValidator[0]); FIELD_GoogleAddressText_Validators = (AttributeValidator[])setupAttribMetaData_GoogleAddressText(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_PreferRemote_Validators = (AttributeValidator[])setupAttribMetaData_PreferRemote(validatorMapping).toArray (new AttributeValidator[0]); FIELD_PreferRemote_Validators = (AttributeValidator[])setupAttribMetaData_PreferRemote(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_HappyToRelocate_Validators = (AttributeValidator[])setupAttribMetaData_HappyToRelocate(validatorMapping).toArray (new AttributeValidator[0]); FIELD_HappyToRelocate_Validators = (AttributeValidator[])setupAttribMetaData_HappyToRelocate(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_IsEmailIngest_Validators = (AttributeValidator[])setupAttribMetaData_IsEmailIngest(validatorMapping).toArray (new AttributeValidator[0]);
REFERENCE_JobApplication.initialiseReference (); REFERENCE_JobApplication.initialiseReference ();
...@@ -561,6 +566,25 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -561,6 +566,25 @@ public abstract class BaseJobApplication extends BaseBusinessClass
return validators; return validators;
} }
// Meta Info setup
private static List setupAttribMetaData_IsEmailIngest(Map validatorMapping)
{
Map metaInfo = new HashMap ();
metaInfo.put ("dbcol", "is_email_ingest");
metaInfo.put ("defaultValue", "Boolean.FALSE");
metaInfo.put ("name", "IsEmailIngest");
metaInfo.put ("type", "Boolean");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for JobApplication.IsEmailIngest:", metaInfo);
ATTRIBUTES_METADATA_JobApplication.put (FIELD_IsEmailIngest, Collections.unmodifiableMap (metaInfo));
List validators = BaseBusinessClass.getAttribValidators(JobApplication.class, "IsEmailIngest", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for JobApplication.IsEmailIngest:", validators);
return validators;
}
// END OF STATIC METADATA DEFINITION // END OF STATIC METADATA DEFINITION
...@@ -595,6 +619,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -595,6 +619,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
_GoogleAddressText = (String)(HELPER_GoogleAddressText.initialise (_GoogleAddressText)); _GoogleAddressText = (String)(HELPER_GoogleAddressText.initialise (_GoogleAddressText));
_PreferRemote = (Boolean)(Boolean.FALSE); _PreferRemote = (Boolean)(Boolean.FALSE);
_HappyToRelocate = (Boolean)(HELPER_HappyToRelocate.initialise (_HappyToRelocate)); _HappyToRelocate = (Boolean)(HELPER_HappyToRelocate.initialise (_HappyToRelocate));
_IsEmailIngest = (Boolean)(Boolean.FALSE);
_AppProcessOption = (AppProcessOption)(HELPER_AppProcessOption.initialise (_AppProcessOption)); _AppProcessOption = (AppProcessOption)(HELPER_AppProcessOption.initialise (_AppProcessOption));
_OverallRank = (Integer)(HELPER_OverallRank.initialise (_OverallRank)); _OverallRank = (Integer)(HELPER_OverallRank.initialise (_OverallRank));
_RoleFit = (Map)(HELPER_RoleFit.initialise (_RoleFit)); _RoleFit = (Map)(HELPER_RoleFit.initialise (_RoleFit));
...@@ -1328,6 +1353,104 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -1328,6 +1353,104 @@ public abstract class BaseJobApplication extends BaseBusinessClass
} }
/** /**
* Get the attribute IsEmailIngest
*/
public Boolean getIsEmailIngest ()
{
assertValid();
Boolean valToReturn = _IsEmailIngest;
for (JobApplicationBehaviourDecorator bhd : JobApplication_BehaviourDecorators)
{
valToReturn = bhd.getIsEmailIngest ((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 preIsEmailIngestChange (Boolean newIsEmailIngest) 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 postIsEmailIngestChange () throws FieldException
{
}
public FieldWriteability getWriteability_IsEmailIngest ()
{
return getFieldWritabilityUtil (FieldWriteability.TRUE);
}
/**
* Set the attribute IsEmailIngest. Checks to ensure a new value
* has been supplied. If so, marks the field as altered and sets the attribute.
*/
public void setIsEmailIngest (Boolean newIsEmailIngest) throws FieldException
{
boolean oldAndNewIdentical = HELPER_IsEmailIngest.compare (_IsEmailIngest, newIsEmailIngest);
try
{
for (JobApplicationBehaviourDecorator bhd : JobApplication_BehaviourDecorators)
{
newIsEmailIngest = bhd.setIsEmailIngest ((JobApplication)this, newIsEmailIngest);
oldAndNewIdentical = HELPER_IsEmailIngest.compare (_IsEmailIngest, newIsEmailIngest);
}
if (FIELD_IsEmailIngest_Validators.length > 0)
{
Object newIsEmailIngestObj = HELPER_IsEmailIngest.toObject (newIsEmailIngest);
if (newIsEmailIngestObj != null)
{
int loopMax = FIELD_IsEmailIngest_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_JobApplication.get (FIELD_IsEmailIngest);
for (int v = 0 ; v < loopMax ; ++v)
{
FIELD_IsEmailIngest_Validators[v].checkAttribute (this, FIELD_IsEmailIngest, metadata, newIsEmailIngestObj);
}
}
}
}
catch (FieldException e)
{
if (!oldAndNewIdentical)
{
e.setWouldModify ();
}
throw e;
}
if (!oldAndNewIdentical)
{
assertValid();
Debug.assertion (getWriteability_IsEmailIngest () != FieldWriteability.FALSE, "Field IsEmailIngest is not writeable");
preIsEmailIngestChange (newIsEmailIngest);
markFieldChange (FIELD_IsEmailIngest);
_IsEmailIngest = newIsEmailIngest;
postFieldChange (FIELD_IsEmailIngest);
postIsEmailIngestChange ();
}
}
/**
* Get the attribute AppProcessOption * Get the attribute AppProcessOption
*/ */
public AppProcessOption getAppProcessOption () public AppProcessOption getAppProcessOption ()
...@@ -3161,6 +3284,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -3161,6 +3284,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
tl_job_applicationPSet.setAttrib (FIELD_GoogleAddressText, HELPER_GoogleAddressText.toObject (_GoogleAddressText)); // tl_job_applicationPSet.setAttrib (FIELD_GoogleAddressText, HELPER_GoogleAddressText.toObject (_GoogleAddressText)); //
tl_job_applicationPSet.setAttrib (FIELD_PreferRemote, HELPER_PreferRemote.toObject (_PreferRemote)); // tl_job_applicationPSet.setAttrib (FIELD_PreferRemote, HELPER_PreferRemote.toObject (_PreferRemote)); //
tl_job_applicationPSet.setAttrib (FIELD_HappyToRelocate, HELPER_HappyToRelocate.toObject (_HappyToRelocate)); // tl_job_applicationPSet.setAttrib (FIELD_HappyToRelocate, HELPER_HappyToRelocate.toObject (_HappyToRelocate)); //
tl_job_applicationPSet.setAttrib (FIELD_IsEmailIngest, HELPER_IsEmailIngest.toObject (_IsEmailIngest)); //
_Candidate.getPersistentSets (allSets); _Candidate.getPersistentSets (allSets);
_Job.getPersistentSets (allSets); _Job.getPersistentSets (allSets);
...@@ -3184,6 +3308,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -3184,6 +3308,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
_GoogleAddressText = (String)(HELPER_GoogleAddressText.fromObject (_GoogleAddressText, tl_job_applicationPSet.getAttrib (FIELD_GoogleAddressText))); // _GoogleAddressText = (String)(HELPER_GoogleAddressText.fromObject (_GoogleAddressText, tl_job_applicationPSet.getAttrib (FIELD_GoogleAddressText))); //
_PreferRemote = (Boolean)(HELPER_PreferRemote.fromObject (_PreferRemote, tl_job_applicationPSet.getAttrib (FIELD_PreferRemote))); // _PreferRemote = (Boolean)(HELPER_PreferRemote.fromObject (_PreferRemote, tl_job_applicationPSet.getAttrib (FIELD_PreferRemote))); //
_HappyToRelocate = (Boolean)(HELPER_HappyToRelocate.fromObject (_HappyToRelocate, tl_job_applicationPSet.getAttrib (FIELD_HappyToRelocate))); // _HappyToRelocate = (Boolean)(HELPER_HappyToRelocate.fromObject (_HappyToRelocate, tl_job_applicationPSet.getAttrib (FIELD_HappyToRelocate))); //
_IsEmailIngest = (Boolean)(HELPER_IsEmailIngest.fromObject (_IsEmailIngest, tl_job_applicationPSet.getAttrib (FIELD_IsEmailIngest))); //
_Candidate.setFromPersistentSets (objectID, allSets); _Candidate.setFromPersistentSets (objectID, allSets);
_Job.setFromPersistentSets (objectID, allSets); _Job.setFromPersistentSets (objectID, allSets);
...@@ -3264,6 +3389,15 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -3264,6 +3389,15 @@ public abstract class BaseJobApplication extends BaseBusinessClass
e.addException (ex); e.addException (ex);
} }
try
{
setIsEmailIngest (otherJobApplication.getIsEmailIngest ());
}
catch (FieldException ex)
{
e.addException (ex);
}
} }
} }
...@@ -3286,6 +3420,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -3286,6 +3420,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
_GoogleAddressText = sourceJobApplication._GoogleAddressText; _GoogleAddressText = sourceJobApplication._GoogleAddressText;
_PreferRemote = sourceJobApplication._PreferRemote; _PreferRemote = sourceJobApplication._PreferRemote;
_HappyToRelocate = sourceJobApplication._HappyToRelocate; _HappyToRelocate = sourceJobApplication._HappyToRelocate;
_IsEmailIngest = sourceJobApplication._IsEmailIngest;
_AppProcessOption = sourceJobApplication._AppProcessOption; _AppProcessOption = sourceJobApplication._AppProcessOption;
_OverallRank = sourceJobApplication._OverallRank; _OverallRank = sourceJobApplication._OverallRank;
_RoleFit = sourceJobApplication._RoleFit; _RoleFit = sourceJobApplication._RoleFit;
...@@ -3363,6 +3498,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -3363,6 +3498,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
_GoogleAddressText = (String)(HELPER_GoogleAddressText.readExternal (_GoogleAddressText, vals.get(FIELD_GoogleAddressText))); // _GoogleAddressText = (String)(HELPER_GoogleAddressText.readExternal (_GoogleAddressText, vals.get(FIELD_GoogleAddressText))); //
_PreferRemote = (Boolean)(HELPER_PreferRemote.readExternal (_PreferRemote, vals.get(FIELD_PreferRemote))); // _PreferRemote = (Boolean)(HELPER_PreferRemote.readExternal (_PreferRemote, vals.get(FIELD_PreferRemote))); //
_HappyToRelocate = (Boolean)(HELPER_HappyToRelocate.readExternal (_HappyToRelocate, vals.get(FIELD_HappyToRelocate))); // _HappyToRelocate = (Boolean)(HELPER_HappyToRelocate.readExternal (_HappyToRelocate, vals.get(FIELD_HappyToRelocate))); //
_IsEmailIngest = (Boolean)(HELPER_IsEmailIngest.readExternal (_IsEmailIngest, vals.get(FIELD_IsEmailIngest))); //
_AppProcessOption = (AppProcessOption)(HELPER_AppProcessOption.readExternal (_AppProcessOption, vals.get(FIELD_AppProcessOption))); // _AppProcessOption = (AppProcessOption)(HELPER_AppProcessOption.readExternal (_AppProcessOption, vals.get(FIELD_AppProcessOption))); //
_OverallRank = (Integer)(HELPER_OverallRank.readExternal (_OverallRank, vals.get(FIELD_OverallRank))); // _OverallRank = (Integer)(HELPER_OverallRank.readExternal (_OverallRank, vals.get(FIELD_OverallRank))); //
_RoleFit = (Map)(HELPER_RoleFit.readExternal (_RoleFit, vals.get(FIELD_RoleFit))); // _RoleFit = (Map)(HELPER_RoleFit.readExternal (_RoleFit, vals.get(FIELD_RoleFit))); //
...@@ -3395,6 +3531,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -3395,6 +3531,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
vals.put (FIELD_GoogleAddressText, HELPER_GoogleAddressText.writeExternal (_GoogleAddressText)); vals.put (FIELD_GoogleAddressText, HELPER_GoogleAddressText.writeExternal (_GoogleAddressText));
vals.put (FIELD_PreferRemote, HELPER_PreferRemote.writeExternal (_PreferRemote)); vals.put (FIELD_PreferRemote, HELPER_PreferRemote.writeExternal (_PreferRemote));
vals.put (FIELD_HappyToRelocate, HELPER_HappyToRelocate.writeExternal (_HappyToRelocate)); vals.put (FIELD_HappyToRelocate, HELPER_HappyToRelocate.writeExternal (_HappyToRelocate));
vals.put (FIELD_IsEmailIngest, HELPER_IsEmailIngest.writeExternal (_IsEmailIngest));
vals.put (FIELD_AppProcessOption, HELPER_AppProcessOption.writeExternal (_AppProcessOption)); vals.put (FIELD_AppProcessOption, HELPER_AppProcessOption.writeExternal (_AppProcessOption));
vals.put (FIELD_OverallRank, HELPER_OverallRank.writeExternal (_OverallRank)); vals.put (FIELD_OverallRank, HELPER_OverallRank.writeExternal (_OverallRank));
vals.put (FIELD_RoleFit, HELPER_RoleFit.writeExternal (_RoleFit)); vals.put (FIELD_RoleFit, HELPER_RoleFit.writeExternal (_RoleFit));
...@@ -3450,6 +3587,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -3450,6 +3587,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{ {
listener.notifyFieldChange(this, other, FIELD_HappyToRelocate, HELPER_HappyToRelocate.toObject(this._HappyToRelocate), HELPER_HappyToRelocate.toObject(otherJobApplication._HappyToRelocate)); listener.notifyFieldChange(this, other, FIELD_HappyToRelocate, HELPER_HappyToRelocate.toObject(this._HappyToRelocate), HELPER_HappyToRelocate.toObject(otherJobApplication._HappyToRelocate));
} }
if (!HELPER_IsEmailIngest.compare(this._IsEmailIngest, otherJobApplication._IsEmailIngest))
{
listener.notifyFieldChange(this, other, FIELD_IsEmailIngest, HELPER_IsEmailIngest.toObject(this._IsEmailIngest), HELPER_IsEmailIngest.toObject(otherJobApplication._IsEmailIngest));
}
// Compare single assocs // Compare single assocs
_WorkFlow.compare (otherJobApplication._WorkFlow, listener); _WorkFlow.compare (otherJobApplication._WorkFlow, listener);
...@@ -3493,6 +3634,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -3493,6 +3634,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
visitor.visitField(this, FIELD_GoogleAddressText, HELPER_GoogleAddressText.toObject(getGoogleAddressText())); visitor.visitField(this, FIELD_GoogleAddressText, HELPER_GoogleAddressText.toObject(getGoogleAddressText()));
visitor.visitField(this, FIELD_PreferRemote, HELPER_PreferRemote.toObject(getPreferRemote())); visitor.visitField(this, FIELD_PreferRemote, HELPER_PreferRemote.toObject(getPreferRemote()));
visitor.visitField(this, FIELD_HappyToRelocate, HELPER_HappyToRelocate.toObject(getHappyToRelocate())); visitor.visitField(this, FIELD_HappyToRelocate, HELPER_HappyToRelocate.toObject(getHappyToRelocate()));
visitor.visitField(this, FIELD_IsEmailIngest, HELPER_IsEmailIngest.toObject(getIsEmailIngest()));
visitor.visitAssociation (_WorkFlow); visitor.visitAssociation (_WorkFlow);
visitor.visitAssociation (_Candidate); visitor.visitAssociation (_Candidate);
visitor.visitAssociation (_Job); visitor.visitAssociation (_Job);
...@@ -3589,6 +3731,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -3589,6 +3731,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{ {
return filter.matches (getHappyToRelocate ()); return filter.matches (getHappyToRelocate ());
} }
else if (attribName.equals (FIELD_IsEmailIngest))
{
return filter.matches (getIsEmailIngest ());
}
else if (attribName.equals (SINGLEREFERENCE_Candidate)) else if (attribName.equals (SINGLEREFERENCE_Candidate))
{ {
return filter.matches (getCandidate ()); return filter.matches (getCandidate ());
...@@ -3670,6 +3816,12 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -3670,6 +3816,12 @@ public abstract class BaseJobApplication extends BaseBusinessClass
return this; return this;
} }
public SearchAll andIsEmailIngest (QueryFilter<Boolean> filter)
{
filter.addFilter (context, "tl_job_application.is_email_ingest", "IsEmailIngest");
return this;
}
public SearchAll andCandidate (QueryFilter<Candidate> filter) public SearchAll andCandidate (QueryFilter<Candidate> filter)
{ {
filter.addFilter (context, "tl_job_application.candidate_id", "Candidate"); filter.addFilter (context, "tl_job_application.candidate_id", "Candidate");
...@@ -3789,6 +3941,12 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -3789,6 +3941,12 @@ public abstract class BaseJobApplication extends BaseBusinessClass
return this; return this;
} }
public SearchCandidateJob andIsEmailIngest (QueryFilter<Boolean> filter)
{
filter.addFilter (context, "tl_job_application.is_email_ingest", "IsEmailIngest");
return this;
}
public SearchCandidateJob andCandidate (QueryFilter<Candidate> filter) public SearchCandidateJob andCandidate (QueryFilter<Candidate> filter)
{ {
filter.addFilter (context, "tl_job_application.candidate_id", "Candidate"); filter.addFilter (context, "tl_job_application.candidate_id", "Candidate");
...@@ -3924,6 +4082,12 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -3924,6 +4082,12 @@ public abstract class BaseJobApplication extends BaseBusinessClass
return this; return this;
} }
public SearchDetails andIsEmailIngest (QueryFilter<Boolean> filter)
{
filter.addFilter (context, "tl_job_application.is_email_ingest", "IsEmailIngest");
return this;
}
public SearchDetails andCandidate (QueryFilter<Candidate> filter) public SearchDetails andCandidate (QueryFilter<Candidate> filter)
{ {
filter.addFilter (context, "tl_job_application.candidate_id", "Candidate"); filter.addFilter (context, "tl_job_application.candidate_id", "Candidate");
...@@ -4000,6 +4164,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -4000,6 +4164,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{ {
return HELPER_HappyToRelocate.toObject (getHappyToRelocate ()); return HELPER_HappyToRelocate.toObject (getHappyToRelocate ());
} }
else if (attribName.equals (FIELD_IsEmailIngest))
{
return HELPER_IsEmailIngest.toObject (getIsEmailIngest ());
}
else if (attribName.equals (FIELD_AppProcessOption)) else if (attribName.equals (FIELD_AppProcessOption))
{ {
return HELPER_AppProcessOption.toObject (getAppProcessOption ()); return HELPER_AppProcessOption.toObject (getAppProcessOption ());
...@@ -4069,6 +4237,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -4069,6 +4237,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{ {
return HELPER_HappyToRelocate; return HELPER_HappyToRelocate;
} }
else if (attribName.equals (FIELD_IsEmailIngest))
{
return HELPER_IsEmailIngest;
}
else if (attribName.equals (FIELD_AppProcessOption)) else if (attribName.equals (FIELD_AppProcessOption))
{ {
return HELPER_AppProcessOption; return HELPER_AppProcessOption;
...@@ -4138,6 +4310,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -4138,6 +4310,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{ {
setHappyToRelocate ((Boolean)(HELPER_HappyToRelocate.fromObject (_HappyToRelocate, attribValue))); setHappyToRelocate ((Boolean)(HELPER_HappyToRelocate.fromObject (_HappyToRelocate, attribValue)));
} }
else if (attribName.equals (FIELD_IsEmailIngest))
{
setIsEmailIngest ((Boolean)(HELPER_IsEmailIngest.fromObject (_IsEmailIngest, attribValue)));
}
else if (attribName.equals (FIELD_AppProcessOption)) else if (attribName.equals (FIELD_AppProcessOption))
{ {
setAppProcessOption ((AppProcessOption)(HELPER_AppProcessOption.fromObject (_AppProcessOption, attribValue))); setAppProcessOption ((AppProcessOption)(HELPER_AppProcessOption.fromObject (_AppProcessOption, attribValue)));
...@@ -4214,6 +4390,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -4214,6 +4390,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{ {
return getWriteability_HappyToRelocate (); return getWriteability_HappyToRelocate ();
} }
else if (fieldName.equals (FIELD_IsEmailIngest))
{
return getWriteability_IsEmailIngest ();
}
else if (fieldName.equals (MULTIPLEREFERENCE_AssessmentCriteriaAnswers)) else if (fieldName.equals (MULTIPLEREFERENCE_AssessmentCriteriaAnswers))
{ {
return getWriteability_AssessmentCriteriaAnswers (); return getWriteability_AssessmentCriteriaAnswers ();
...@@ -4315,6 +4495,11 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -4315,6 +4495,11 @@ public abstract class BaseJobApplication extends BaseBusinessClass
fields.add (FIELD_HappyToRelocate); fields.add (FIELD_HappyToRelocate);
} }
if (getWriteability_IsEmailIngest () != FieldWriteability.TRUE)
{
fields.add (FIELD_IsEmailIngest);
}
if (getWriteability_AppProcessOption () != FieldWriteability.TRUE) if (getWriteability_AppProcessOption () != FieldWriteability.TRUE)
{ {
fields.add (FIELD_AppProcessOption); fields.add (FIELD_AppProcessOption);
...@@ -4366,6 +4551,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -4366,6 +4551,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
result.add(HELPER_GoogleAddressText.getAttribObject (getClass (), _GoogleAddressText, false, FIELD_GoogleAddressText)); result.add(HELPER_GoogleAddressText.getAttribObject (getClass (), _GoogleAddressText, false, FIELD_GoogleAddressText));
result.add(HELPER_PreferRemote.getAttribObject (getClass (), _PreferRemote, false, FIELD_PreferRemote)); result.add(HELPER_PreferRemote.getAttribObject (getClass (), _PreferRemote, false, FIELD_PreferRemote));
result.add(HELPER_HappyToRelocate.getAttribObject (getClass (), _HappyToRelocate, false, FIELD_HappyToRelocate)); result.add(HELPER_HappyToRelocate.getAttribObject (getClass (), _HappyToRelocate, false, FIELD_HappyToRelocate));
result.add(HELPER_IsEmailIngest.getAttribObject (getClass (), _IsEmailIngest, false, FIELD_IsEmailIngest));
result.add(HELPER_AppProcessOption.getAttribObject (getClass (), _AppProcessOption, false, FIELD_AppProcessOption)); result.add(HELPER_AppProcessOption.getAttribObject (getClass (), _AppProcessOption, false, FIELD_AppProcessOption));
result.add(HELPER_OverallRank.getAttribObject (getClass (), _OverallRank, false, FIELD_OverallRank)); result.add(HELPER_OverallRank.getAttribObject (getClass (), _OverallRank, false, FIELD_OverallRank));
result.add(HELPER_RoleFit.getAttribObject (getClass (), _RoleFit, false, FIELD_RoleFit)); result.add(HELPER_RoleFit.getAttribObject (getClass (), _RoleFit, false, FIELD_RoleFit));
...@@ -4586,6 +4772,24 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -4586,6 +4772,24 @@ public abstract class BaseJobApplication extends BaseBusinessClass
} }
/** /**
* Get the attribute IsEmailIngest
*/
public Boolean getIsEmailIngest (JobApplication obj, Boolean original)
{
return original;
}
/**
* Change the value set for attribute IsEmailIngest.
* May modify the field beforehand
* Occurs before validation.
*/
public Boolean setIsEmailIngest (JobApplication obj, Boolean newIsEmailIngest) throws FieldException
{
return newIsEmailIngest;
}
/**
* Get the attribute AppProcessOption * Get the attribute AppProcessOption
*/ */
public AppProcessOption getAppProcessOption (JobApplication obj, AppProcessOption original) public AppProcessOption getAppProcessOption (JobApplication obj, AppProcessOption original)
...@@ -4839,6 +5043,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -4839,6 +5043,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{ {
return toHappyToRelocate (); return toHappyToRelocate ();
} }
if (name.equals ("IsEmailIngest"))
{
return toIsEmailIngest ();
}
if (name.equals ("Candidate")) if (name.equals ("Candidate"))
{ {
return toCandidate (); return toCandidate ();
...@@ -4880,6 +5088,8 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -4880,6 +5088,8 @@ public abstract class BaseJobApplication extends BaseBusinessClass
public PipeLine<From, Boolean> toPreferRemote () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_PreferRemote)); } public PipeLine<From, Boolean> toPreferRemote () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_PreferRemote)); }
public PipeLine<From, Boolean> toHappyToRelocate () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_HappyToRelocate)); } public PipeLine<From, Boolean> toHappyToRelocate () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_HappyToRelocate)); }
public PipeLine<From, Boolean> toIsEmailIngest () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_IsEmailIngest)); }
public WorkFlow.WorkFlowPipeLineFactory<From, WorkFlow> toWorkFlow () { return toWorkFlow (Filter.ALL); } public WorkFlow.WorkFlowPipeLineFactory<From, WorkFlow> toWorkFlow () { return toWorkFlow (Filter.ALL); }
public WorkFlow.WorkFlowPipeLineFactory<From, WorkFlow> toWorkFlow (Filter<WorkFlow> filter) public WorkFlow.WorkFlowPipeLineFactory<From, WorkFlow> toWorkFlow (Filter<WorkFlow> filter)
......
...@@ -41,6 +41,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -41,6 +41,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
// Static constants corresponding to field names // Static constants corresponding to field names
public static final String FIELD_MessageID = "MessageID";
public static final String FIELD_TemplateName = "TemplateName"; public static final String FIELD_TemplateName = "TemplateName";
public static final String FIELD_Subject = "Subject"; public static final String FIELD_Subject = "Subject";
public static final String FIELD_ApplicationStatus = "ApplicationStatus"; public static final String FIELD_ApplicationStatus = "ApplicationStatus";
...@@ -55,6 +56,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -55,6 +56,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
// Static constants corresponding to attribute helpers // Static constants corresponding to attribute helpers
private static final DefaultAttributeHelper<MessageTemplate> HELPER_MessageID = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<MessageTemplate> HELPER_TemplateName = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<MessageTemplate> HELPER_TemplateName = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<MessageTemplate> HELPER_Subject = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<MessageTemplate> HELPER_Subject = DefaultAttributeHelper.INSTANCE;
private static final EnumeratedAttributeHelper<MessageTemplate, ApplicationStatus> HELPER_ApplicationStatus = new EnumeratedAttributeHelper<MessageTemplate, ApplicationStatus> (ApplicationStatus.FACTORY_ApplicationStatus); private static final EnumeratedAttributeHelper<MessageTemplate, ApplicationStatus> HELPER_ApplicationStatus = new EnumeratedAttributeHelper<MessageTemplate, ApplicationStatus> (ApplicationStatus.FACTORY_ApplicationStatus);
...@@ -66,6 +68,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -66,6 +68,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
// Private attributes corresponding to business object data // Private attributes corresponding to business object data
private Integer _MessageID;
private String _TemplateName; private String _TemplateName;
private String _Subject; private String _Subject;
private ApplicationStatus _ApplicationStatus; private ApplicationStatus _ApplicationStatus;
...@@ -86,6 +89,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -86,6 +89,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
private static final Map ATTRIBUTES_METADATA_MessageTemplate = new HashMap (); private static final Map ATTRIBUTES_METADATA_MessageTemplate = new HashMap ();
// Arrays of validators for each attribute // Arrays of validators for each attribute
private static final AttributeValidator[] FIELD_MessageID_Validators;
private static final AttributeValidator[] FIELD_TemplateName_Validators; private static final AttributeValidator[] FIELD_TemplateName_Validators;
private static final AttributeValidator[] FIELD_Subject_Validators; private static final AttributeValidator[] FIELD_Subject_Validators;
private static final AttributeValidator[] FIELD_ApplicationStatus_Validators; private static final AttributeValidator[] FIELD_ApplicationStatus_Validators;
...@@ -107,6 +111,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -107,6 +111,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
Map validatorMapping = ((Map)ConfigMgr.getConfigObject ("CONFIG.ORMVALIDATOR", "ValidatorMapping")); Map validatorMapping = ((Map)ConfigMgr.getConfigObject ("CONFIG.ORMVALIDATOR", "ValidatorMapping"));
FIELD_MessageID_Validators = (AttributeValidator[])setupAttribMetaData_MessageID(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_Subject_Validators = (AttributeValidator[])setupAttribMetaData_Subject(validatorMapping).toArray (new AttributeValidator[0]); FIELD_Subject_Validators = (AttributeValidator[])setupAttribMetaData_Subject(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]);
...@@ -130,6 +135,26 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -130,6 +135,26 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
// Meta Info setup // Meta Info setup
private static List setupAttribMetaData_MessageID(Map validatorMapping)
{
Map metaInfo = new HashMap ();
metaInfo.put ("dbcol", "message_id");
metaInfo.put ("defaultValue", "1");
metaInfo.put ("mandatory", "true");
metaInfo.put ("name", "MessageID");
metaInfo.put ("type", "Integer");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for MessageTemplate.MessageID:", metaInfo);
ATTRIBUTES_METADATA_MessageTemplate.put (FIELD_MessageID, Collections.unmodifiableMap (metaInfo));
List validators = BaseBusinessClass.getAttribValidators(MessageTemplate.class, "MessageID", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for MessageTemplate.MessageID:", 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 ();
...@@ -316,6 +341,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -316,6 +341,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
super._initialiseNewObjAttributes (transaction); super._initialiseNewObjAttributes (transaction);
_MessageID = (Integer)(1);
_TemplateName = (String)(HELPER_TemplateName.initialise (_TemplateName)); _TemplateName = (String)(HELPER_TemplateName.initialise (_TemplateName));
_Subject = (String)(HELPER_Subject.initialise (_Subject)); _Subject = (String)(HELPER_Subject.initialise (_Subject));
_ApplicationStatus = (ApplicationStatus)(ApplicationStatus.DRAFT); _ApplicationStatus = (ApplicationStatus)(ApplicationStatus.DRAFT);
...@@ -349,6 +375,105 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -349,6 +375,105 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
/** /**
* Get the attribute MessageID
*/
public Integer getMessageID ()
{
assertValid();
Integer valToReturn = _MessageID;
for (MessageTemplateBehaviourDecorator bhd : MessageTemplate_BehaviourDecorators)
{
valToReturn = bhd.getMessageID ((MessageTemplate)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 preMessageIDChange (Integer newMessageID) 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 postMessageIDChange () throws FieldException
{
}
public FieldWriteability getWriteability_MessageID ()
{
return getFieldWritabilityUtil (FieldWriteability.TRUE);
}
/**
* Set the attribute MessageID. Checks to ensure a new value
* has been supplied. If so, marks the field as altered and sets the attribute.
*/
public void setMessageID (Integer newMessageID) throws FieldException
{
boolean oldAndNewIdentical = HELPER_MessageID.compare (_MessageID, newMessageID);
try
{
for (MessageTemplateBehaviourDecorator bhd : MessageTemplate_BehaviourDecorators)
{
newMessageID = bhd.setMessageID ((MessageTemplate)this, newMessageID);
oldAndNewIdentical = HELPER_MessageID.compare (_MessageID, newMessageID);
}
BusinessObjectParser.assertFieldCondition (newMessageID != null, this, FIELD_MessageID, "mandatory");
if (FIELD_MessageID_Validators.length > 0)
{
Object newMessageIDObj = HELPER_MessageID.toObject (newMessageID);
if (newMessageIDObj != null)
{
int loopMax = FIELD_MessageID_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_MessageTemplate.get (FIELD_MessageID);
for (int v = 0 ; v < loopMax ; ++v)
{
FIELD_MessageID_Validators[v].checkAttribute (this, FIELD_MessageID, metadata, newMessageIDObj);
}
}
}
}
catch (FieldException e)
{
if (!oldAndNewIdentical)
{
e.setWouldModify ();
}
throw e;
}
if (!oldAndNewIdentical)
{
assertValid();
Debug.assertion (getWriteability_MessageID () != FieldWriteability.FALSE, "Field MessageID is not writeable");
preMessageIDChange (newMessageID);
markFieldChange (FIELD_MessageID);
_MessageID = newMessageID;
postFieldChange (FIELD_MessageID);
postMessageIDChange ();
}
}
/**
* Get the attribute TemplateName * Get the attribute TemplateName
*/ */
public String getTemplateName () public String getTemplateName ()
...@@ -1394,6 +1519,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -1394,6 +1519,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
PersistentSet tl_message_templatePSet = allSets.getPersistentSet (myID, "tl_message_template", myPSetStatus); PersistentSet tl_message_templatePSet = allSets.getPersistentSet (myID, "tl_message_template", myPSetStatus);
tl_message_templatePSet.setAttrib (FIELD_ObjectID, myID); tl_message_templatePSet.setAttrib (FIELD_ObjectID, myID);
tl_message_templatePSet.setAttrib (FIELD_MessageID, HELPER_MessageID.toObject (_MessageID)); //
tl_message_templatePSet.setAttrib (FIELD_TemplateName, HELPER_TemplateName.toObject (_TemplateName)); // tl_message_templatePSet.setAttrib (FIELD_TemplateName, HELPER_TemplateName.toObject (_TemplateName)); //
tl_message_templatePSet.setAttrib (FIELD_Subject, HELPER_Subject.toObject (_Subject)); // tl_message_templatePSet.setAttrib (FIELD_Subject, HELPER_Subject.toObject (_Subject)); //
tl_message_templatePSet.setAttrib (FIELD_ApplicationStatus, HELPER_ApplicationStatus.toObject (_ApplicationStatus)); // tl_message_templatePSet.setAttrib (FIELD_ApplicationStatus, HELPER_ApplicationStatus.toObject (_ApplicationStatus)); //
...@@ -1416,6 +1542,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -1416,6 +1542,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
PersistentSet tl_message_templatePSet = allSets.getPersistentSet (objectID, "tl_message_template"); PersistentSet tl_message_templatePSet = allSets.getPersistentSet (objectID, "tl_message_template");
_MessageID = (Integer)(HELPER_MessageID.fromObject (_MessageID, tl_message_templatePSet.getAttrib (FIELD_MessageID))); //
_TemplateName = (String)(HELPER_TemplateName.fromObject (_TemplateName, tl_message_templatePSet.getAttrib (FIELD_TemplateName))); // _TemplateName = (String)(HELPER_TemplateName.fromObject (_TemplateName, tl_message_templatePSet.getAttrib (FIELD_TemplateName))); //
_Subject = (String)(HELPER_Subject.fromObject (_Subject, tl_message_templatePSet.getAttrib (FIELD_Subject))); // _Subject = (String)(HELPER_Subject.fromObject (_Subject, tl_message_templatePSet.getAttrib (FIELD_Subject))); //
_ApplicationStatus = (ApplicationStatus)(HELPER_ApplicationStatus.fromObject (_ApplicationStatus, tl_message_templatePSet.getAttrib (FIELD_ApplicationStatus))); // _ApplicationStatus = (ApplicationStatus)(HELPER_ApplicationStatus.fromObject (_ApplicationStatus, tl_message_templatePSet.getAttrib (FIELD_ApplicationStatus))); //
...@@ -1441,6 +1568,15 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -1441,6 +1568,15 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
try try
{ {
setMessageID (otherMessageTemplate.getMessageID ());
}
catch (FieldException ex)
{
e.addException (ex);
}
try
{
setTemplateName (otherMessageTemplate.getTemplateName ()); setTemplateName (otherMessageTemplate.getTemplateName ());
} }
catch (FieldException ex) catch (FieldException ex)
...@@ -1526,6 +1662,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -1526,6 +1662,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
{ {
BaseMessageTemplate sourceMessageTemplate = (BaseMessageTemplate)(source); BaseMessageTemplate sourceMessageTemplate = (BaseMessageTemplate)(source);
_MessageID = sourceMessageTemplate._MessageID;
_TemplateName = sourceMessageTemplate._TemplateName; _TemplateName = sourceMessageTemplate._TemplateName;
_Subject = sourceMessageTemplate._Subject; _Subject = sourceMessageTemplate._Subject;
_ApplicationStatus = sourceMessageTemplate._ApplicationStatus; _ApplicationStatus = sourceMessageTemplate._ApplicationStatus;
...@@ -1586,6 +1723,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -1586,6 +1723,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
{ {
super.readExternalData(vals); super.readExternalData(vals);
_MessageID = (Integer)(HELPER_MessageID.readExternal (_MessageID, vals.get(FIELD_MessageID))); //
_TemplateName = (String)(HELPER_TemplateName.readExternal (_TemplateName, vals.get(FIELD_TemplateName))); // _TemplateName = (String)(HELPER_TemplateName.readExternal (_TemplateName, vals.get(FIELD_TemplateName))); //
_Subject = (String)(HELPER_Subject.readExternal (_Subject, vals.get(FIELD_Subject))); // _Subject = (String)(HELPER_Subject.readExternal (_Subject, vals.get(FIELD_Subject))); //
_ApplicationStatus = (ApplicationStatus)(HELPER_ApplicationStatus.readExternal (_ApplicationStatus, vals.get(FIELD_ApplicationStatus))); // _ApplicationStatus = (ApplicationStatus)(HELPER_ApplicationStatus.readExternal (_ApplicationStatus, vals.get(FIELD_ApplicationStatus))); //
...@@ -1605,6 +1743,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -1605,6 +1743,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
{ {
super.writeExternalData(vals); super.writeExternalData(vals);
vals.put (FIELD_MessageID, HELPER_MessageID.writeExternal (_MessageID));
vals.put (FIELD_TemplateName, HELPER_TemplateName.writeExternal (_TemplateName)); vals.put (FIELD_TemplateName, HELPER_TemplateName.writeExternal (_TemplateName));
vals.put (FIELD_Subject, HELPER_Subject.writeExternal (_Subject)); vals.put (FIELD_Subject, HELPER_Subject.writeExternal (_Subject));
vals.put (FIELD_ApplicationStatus, HELPER_ApplicationStatus.writeExternal (_ApplicationStatus)); vals.put (FIELD_ApplicationStatus, HELPER_ApplicationStatus.writeExternal (_ApplicationStatus));
...@@ -1626,6 +1765,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -1626,6 +1765,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
BaseMessageTemplate otherMessageTemplate = (BaseMessageTemplate)(other); BaseMessageTemplate otherMessageTemplate = (BaseMessageTemplate)(other);
if (!HELPER_MessageID.compare(this._MessageID, otherMessageTemplate._MessageID))
{
listener.notifyFieldChange(this, other, FIELD_MessageID, HELPER_MessageID.toObject(this._MessageID), HELPER_MessageID.toObject(otherMessageTemplate._MessageID));
}
if (!HELPER_TemplateName.compare(this._TemplateName, otherMessageTemplate._TemplateName)) if (!HELPER_TemplateName.compare(this._TemplateName, otherMessageTemplate._TemplateName))
{ {
listener.notifyFieldChange(this, other, FIELD_TemplateName, HELPER_TemplateName.toObject(this._TemplateName), HELPER_TemplateName.toObject(otherMessageTemplate._TemplateName)); listener.notifyFieldChange(this, other, FIELD_TemplateName, HELPER_TemplateName.toObject(this._TemplateName), HELPER_TemplateName.toObject(otherMessageTemplate._TemplateName));
...@@ -1680,6 +1823,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -1680,6 +1823,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
{ {
super.visitAttributes (visitor); super.visitAttributes (visitor);
visitor.visitField(this, FIELD_MessageID, HELPER_MessageID.toObject(getMessageID()));
visitor.visitField(this, FIELD_TemplateName, HELPER_TemplateName.toObject(getTemplateName())); visitor.visitField(this, FIELD_TemplateName, HELPER_TemplateName.toObject(getTemplateName()));
visitor.visitField(this, FIELD_Subject, HELPER_Subject.toObject(getSubject())); visitor.visitField(this, FIELD_Subject, HELPER_Subject.toObject(getSubject()));
visitor.visitField(this, FIELD_ApplicationStatus, HELPER_ApplicationStatus.toObject(getApplicationStatus())); visitor.visitField(this, FIELD_ApplicationStatus, HELPER_ApplicationStatus.toObject(getApplicationStatus()));
...@@ -1721,6 +1865,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -1721,6 +1865,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
{ {
throw new RuntimeException ("Game over man!!"); throw new RuntimeException ("Game over man!!");
} }
else if (attribName.equals (FIELD_MessageID))
{
return filter.matches (getMessageID ());
}
else if (attribName.equals (FIELD_TemplateName)) else if (attribName.equals (FIELD_TemplateName))
{ {
return filter.matches (getTemplateName ()); return filter.matches (getTemplateName ());
...@@ -1784,6 +1932,12 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -1784,6 +1932,12 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
} }
public SearchAll andMessageID (QueryFilter<Integer> filter)
{
filter.addFilter (context, "tl_message_template.message_id", "MessageID");
return this;
}
public SearchAll andTemplateName (QueryFilter<String> filter) public SearchAll andTemplateName (QueryFilter<String> filter)
{ {
filter.addFilter (context, "tl_message_template.template_name", "TemplateName"); filter.addFilter (context, "tl_message_template.template_name", "TemplateName");
...@@ -1867,6 +2021,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -1867,6 +2021,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
{ {
throw new RuntimeException ("Game over man!!"); throw new RuntimeException ("Game over man!!");
} }
else if (attribName.equals (FIELD_MessageID))
{
return HELPER_MessageID.toObject (getMessageID ());
}
else if (attribName.equals (FIELD_TemplateName)) else if (attribName.equals (FIELD_TemplateName))
{ {
return HELPER_TemplateName.toObject (getTemplateName ()); return HELPER_TemplateName.toObject (getTemplateName ());
...@@ -1912,6 +2070,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -1912,6 +2070,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
{ {
throw new RuntimeException ("Game over man!!"); throw new RuntimeException ("Game over man!!");
} }
else if (attribName.equals (FIELD_MessageID))
{
return HELPER_MessageID;
}
else if (attribName.equals (FIELD_TemplateName)) else if (attribName.equals (FIELD_TemplateName))
{ {
return HELPER_TemplateName; return HELPER_TemplateName;
...@@ -1957,6 +2119,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -1957,6 +2119,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
{ {
throw new RuntimeException ("Game over man!!"); throw new RuntimeException ("Game over man!!");
} }
else if (attribName.equals (FIELD_MessageID))
{
setMessageID ((Integer)(HELPER_MessageID.fromObject (_MessageID, attribValue)));
}
else if (attribName.equals (FIELD_TemplateName)) else if (attribName.equals (FIELD_TemplateName))
{ {
setTemplateName ((String)(HELPER_TemplateName.fromObject (_TemplateName, attribValue))); setTemplateName ((String)(HELPER_TemplateName.fromObject (_TemplateName, attribValue)));
...@@ -2009,6 +2175,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -2009,6 +2175,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
{ {
throw new RuntimeException ("Game over man!!"); throw new RuntimeException ("Game over man!!");
} }
else if (fieldName.equals (FIELD_MessageID))
{
return getWriteability_MessageID ();
}
else if (fieldName.equals (FIELD_TemplateName)) else if (fieldName.equals (FIELD_TemplateName))
{ {
return getWriteability_TemplateName (); return getWriteability_TemplateName ();
...@@ -2051,6 +2221,11 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -2051,6 +2221,11 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
public void putUnwriteable (Set<String> fields) public void putUnwriteable (Set<String> fields)
{ {
if (getWriteability_MessageID () != FieldWriteability.TRUE)
{
fields.add (FIELD_MessageID);
}
if (getWriteability_TemplateName () != FieldWriteability.TRUE) if (getWriteability_TemplateName () != FieldWriteability.TRUE)
{ {
fields.add (FIELD_TemplateName); fields.add (FIELD_TemplateName);
...@@ -2100,6 +2275,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -2100,6 +2275,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
List result = super.getAttributes (); List result = super.getAttributes ();
result.add(HELPER_MessageID.getAttribObject (getClass (), _MessageID, true, FIELD_MessageID));
result.add(HELPER_TemplateName.getAttribObject (getClass (), _TemplateName, true, FIELD_TemplateName)); result.add(HELPER_TemplateName.getAttribObject (getClass (), _TemplateName, true, FIELD_TemplateName));
result.add(HELPER_Subject.getAttribObject (getClass (), _Subject, true, FIELD_Subject)); result.add(HELPER_Subject.getAttribObject (getClass (), _Subject, true, FIELD_Subject));
result.add(HELPER_ApplicationStatus.getAttribObject (getClass (), _ApplicationStatus, true, FIELD_ApplicationStatus)); result.add(HELPER_ApplicationStatus.getAttribObject (getClass (), _ApplicationStatus, true, FIELD_ApplicationStatus));
...@@ -2159,6 +2335,24 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -2159,6 +2335,24 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
{ {
/** /**
* Get the attribute MessageID
*/
public Integer getMessageID (MessageTemplate obj, Integer original)
{
return original;
}
/**
* Change the value set for attribute MessageID.
* May modify the field beforehand
* Occurs before validation.
*/
public Integer setMessageID (MessageTemplate obj, Integer newMessageID) throws FieldException
{
return newMessageID;
}
/**
* Get the attribute TemplateName * Get the attribute TemplateName
*/ */
public String getTemplateName (MessageTemplate obj, String original) public String getTemplateName (MessageTemplate obj, String original)
...@@ -2354,6 +2548,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -2354,6 +2548,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
public PipeLine<From, ? extends Object> to(String name) public PipeLine<From, ? extends Object> to(String name)
{ {
if (name.equals ("MessageID"))
{
return toMessageID ();
}
if (name.equals ("TemplateName")) if (name.equals ("TemplateName"))
{ {
return toTemplateName (); return toTemplateName ();
...@@ -2392,6 +2590,8 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass ...@@ -2392,6 +2590,8 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
} }
public PipeLine<From, Integer> toMessageID () { return pipe(new ORMAttributePipe<Me, Integer>(FIELD_MessageID)); }
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> toSubject () { return pipe(new ORMAttributePipe<Me, String>(FIELD_Subject)); } public PipeLine<From, String> toSubject () { return pipe(new ORMAttributePipe<Me, String>(FIELD_Subject)); }
......
...@@ -13,6 +13,7 @@ import oneit.objstore.ObjectTransaction; ...@@ -13,6 +13,7 @@ import oneit.objstore.ObjectTransaction;
import oneit.objstore.rdbms.filters.EqualsFilter; import oneit.objstore.rdbms.filters.EqualsFilter;
import oneit.objstore.rdbms.filters.IsNotNullFilter; import oneit.objstore.rdbms.filters.IsNotNullFilter;
import oneit.objstore.utils.ObjstoreUtils; import oneit.objstore.utils.ObjstoreUtils;
import oneit.security.SecUser;
import oneit.servlets.objstore.MessageSourceDecorator; import oneit.servlets.objstore.MessageSourceDecorator;
import oneit.servlets.process.ORMProcessState; import oneit.servlets.process.ORMProcessState;
import oneit.utils.BusinessException; import oneit.utils.BusinessException;
...@@ -200,4 +201,19 @@ public class Candidate extends BaseCandidate ...@@ -200,4 +201,19 @@ public class Candidate extends BaseCandidate
{ {
return !isTrue(getIsAccountVerified()) && isTrue(getIsEmailIngest()); return !isTrue(getIsAccountVerified()) && isTrue(getIsEmailIngest());
} }
public Boolean isEmailFound()
{
if(getUser() != null && getUser().getEmail() != null)
{
SecUser user = SecUser.searchNAME(getTransaction(), getUser().getEmail().toLowerCase());
if(user != null && user.getExtension(Candidate.REFERENCE_Candidate) != null && user.getExtension(Candidate.REFERENCE_Candidate).getIsAccountVerified())
{
return Boolean.TRUE;
}
}
return Boolean.FALSE;
}
} }
\ No newline at end of file
...@@ -46,6 +46,7 @@ ...@@ -46,6 +46,7 @@
<ATTRIB name="LastPlanAmount" type="Double" dbcol="last_plan_amount" /> <ATTRIB name="LastPlanAmount" type="Double" dbcol="last_plan_amount" />
<ATTRIB name="GoogleAddressText" type="String" dbcol="google_address_text" length="300" /> <ATTRIB name="GoogleAddressText" type="String" dbcol="google_address_text" length="300" />
<ATTRIB name="PlanCancelled" type="Boolean" dbcol="plan_cancelled" defaultValue="Boolean.FALSE"/> <ATTRIB name="PlanCancelled" type="Boolean" dbcol="plan_cancelled" defaultValue="Boolean.FALSE"/>
<ATTRIB name="MessageID" type="Integer" dbcol="message_id" />
<SINGLEREFERENCE name="Company" type="Company" dbcol="company_id" mandatory="true" backreferenceName="HiringTeams" /> <SINGLEREFERENCE name="Company" type="Company" dbcol="company_id" mandatory="true" backreferenceName="HiringTeams" />
<SINGLEREFERENCE name="BilledByTeam" type="HiringTeam" dbcol="billing_team_id" mandatory="false" backreferenceName="BillingTeams" /> <SINGLEREFERENCE name="BilledByTeam" type="HiringTeam" dbcol="billing_team_id" mandatory="false" backreferenceName="BillingTeams" />
......
...@@ -56,6 +56,7 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr ...@@ -56,6 +56,7 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr
private Double dummyLastPlanAmount; private Double dummyLastPlanAmount;
private String dummyGoogleAddressText; private String dummyGoogleAddressText;
private Boolean dummyPlanCancelled; private Boolean dummyPlanCancelled;
private Integer dummyMessageID;
// Static constants corresponding to attribute helpers // Static constants corresponding to attribute helpers
...@@ -87,6 +88,7 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr ...@@ -87,6 +88,7 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr
private static final DefaultAttributeHelper HELPER_LastPlanAmount = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper HELPER_LastPlanAmount = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_GoogleAddressText = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper HELPER_GoogleAddressText = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_PlanCancelled = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper HELPER_PlanCancelled = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_MessageID = DefaultAttributeHelper.INSTANCE;
...@@ -121,10 +123,11 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr ...@@ -121,10 +123,11 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr
dummyLastPlanAmount = (Double)(HELPER_LastPlanAmount.initialise (dummyLastPlanAmount)); dummyLastPlanAmount = (Double)(HELPER_LastPlanAmount.initialise (dummyLastPlanAmount));
dummyGoogleAddressText = (String)(HELPER_GoogleAddressText.initialise (dummyGoogleAddressText)); dummyGoogleAddressText = (String)(HELPER_GoogleAddressText.initialise (dummyGoogleAddressText));
dummyPlanCancelled = (Boolean)(HELPER_PlanCancelled.initialise (dummyPlanCancelled)); dummyPlanCancelled = (Boolean)(HELPER_PlanCancelled.initialise (dummyPlanCancelled));
dummyMessageID = (Integer)(HELPER_MessageID.initialise (dummyMessageID));
} }
private String SELECT_COLUMNS = "{PREFIX}tl_hiring_team.object_id as id, {PREFIX}tl_hiring_team.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}tl_hiring_team.object_CREATED_DATE as CREATED_DATE, {PREFIX}tl_hiring_team.hiring_team_name, {PREFIX}tl_hiring_team.hiring_team_logo, {PREFIX}tl_hiring_team.hiring_team_type, {PREFIX}tl_hiring_team.industry, {PREFIX}tl_hiring_team.time_zone, {PREFIX}tl_hiring_team.state, {PREFIX}tl_hiring_team.country, {PREFIX}tl_hiring_team.post_code, {PREFIX}tl_hiring_team.city, {PREFIX}tl_hiring_team.has_client_support, {PREFIX}tl_hiring_team.manage_own_billing, {PREFIX}tl_hiring_team.stripe_reference, {PREFIX}tl_hiring_team.stripe_subscription, {PREFIX}tl_hiring_team.stripe_fixed_sub_item, {PREFIX}tl_hiring_team.stripe_metered_sub_item, {PREFIX}tl_hiring_team.name_on_card, {PREFIX}tl_hiring_team.card_post_code, {PREFIX}tl_hiring_team.card_id, {PREFIX}tl_hiring_team.plan_renewed_on, {PREFIX}tl_hiring_team.used_credits, {PREFIX}tl_hiring_team.available_credits, {PREFIX}tl_hiring_team.is_ppj, {PREFIX}tl_hiring_team.has_cap, {PREFIX}tl_hiring_team.max_cap, {PREFIX}tl_hiring_team.coupon_expiry_date, {PREFIX}tl_hiring_team.last_plan_amount, {PREFIX}tl_hiring_team.google_address_text, {PREFIX}tl_hiring_team.plan_cancelled, {PREFIX}tl_hiring_team.company_id, {PREFIX}tl_hiring_team.billing_team_id, {PREFIX}tl_hiring_team.added_by_user_id, {PREFIX}tl_hiring_team.payment_plan_id, {PREFIX}tl_hiring_team.coupon_id, 1 AS commasafe "; private String SELECT_COLUMNS = "{PREFIX}tl_hiring_team.object_id as id, {PREFIX}tl_hiring_team.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}tl_hiring_team.object_CREATED_DATE as CREATED_DATE, {PREFIX}tl_hiring_team.hiring_team_name, {PREFIX}tl_hiring_team.hiring_team_logo, {PREFIX}tl_hiring_team.hiring_team_type, {PREFIX}tl_hiring_team.industry, {PREFIX}tl_hiring_team.time_zone, {PREFIX}tl_hiring_team.state, {PREFIX}tl_hiring_team.country, {PREFIX}tl_hiring_team.post_code, {PREFIX}tl_hiring_team.city, {PREFIX}tl_hiring_team.has_client_support, {PREFIX}tl_hiring_team.manage_own_billing, {PREFIX}tl_hiring_team.stripe_reference, {PREFIX}tl_hiring_team.stripe_subscription, {PREFIX}tl_hiring_team.stripe_fixed_sub_item, {PREFIX}tl_hiring_team.stripe_metered_sub_item, {PREFIX}tl_hiring_team.name_on_card, {PREFIX}tl_hiring_team.card_post_code, {PREFIX}tl_hiring_team.card_id, {PREFIX}tl_hiring_team.plan_renewed_on, {PREFIX}tl_hiring_team.used_credits, {PREFIX}tl_hiring_team.available_credits, {PREFIX}tl_hiring_team.is_ppj, {PREFIX}tl_hiring_team.has_cap, {PREFIX}tl_hiring_team.max_cap, {PREFIX}tl_hiring_team.coupon_expiry_date, {PREFIX}tl_hiring_team.last_plan_amount, {PREFIX}tl_hiring_team.google_address_text, {PREFIX}tl_hiring_team.plan_cancelled, {PREFIX}tl_hiring_team.message_id, {PREFIX}tl_hiring_team.company_id, {PREFIX}tl_hiring_team.billing_team_id, {PREFIX}tl_hiring_team.added_by_user_id, {PREFIX}tl_hiring_team.payment_plan_id, {PREFIX}tl_hiring_team.coupon_id, 1 AS commasafe ";
private String SELECT_JOINS = ""; private String SELECT_JOINS = "";
public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
...@@ -203,6 +206,7 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr ...@@ -203,6 +206,7 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr
!tl_hiring_teamPSet.containsAttrib(HiringTeam.FIELD_LastPlanAmount)|| !tl_hiring_teamPSet.containsAttrib(HiringTeam.FIELD_LastPlanAmount)||
!tl_hiring_teamPSet.containsAttrib(HiringTeam.FIELD_GoogleAddressText)|| !tl_hiring_teamPSet.containsAttrib(HiringTeam.FIELD_GoogleAddressText)||
!tl_hiring_teamPSet.containsAttrib(HiringTeam.FIELD_PlanCancelled)|| !tl_hiring_teamPSet.containsAttrib(HiringTeam.FIELD_PlanCancelled)||
!tl_hiring_teamPSet.containsAttrib(HiringTeam.FIELD_MessageID)||
!tl_hiring_teamPSet.containsAttrib(HiringTeam.SINGLEREFERENCE_Company)|| !tl_hiring_teamPSet.containsAttrib(HiringTeam.SINGLEREFERENCE_Company)||
!tl_hiring_teamPSet.containsAttrib(HiringTeam.SINGLEREFERENCE_BilledByTeam)|| !tl_hiring_teamPSet.containsAttrib(HiringTeam.SINGLEREFERENCE_BilledByTeam)||
!tl_hiring_teamPSet.containsAttrib(HiringTeam.SINGLEREFERENCE_AddedByUser)|| !tl_hiring_teamPSet.containsAttrib(HiringTeam.SINGLEREFERENCE_AddedByUser)||
...@@ -297,10 +301,10 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr ...@@ -297,10 +301,10 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr
{ {
int rowsUpdated = executeStatement (sqlMgr, int rowsUpdated = executeStatement (sqlMgr,
"UPDATE {PREFIX}tl_hiring_team " + "UPDATE {PREFIX}tl_hiring_team " +
"SET hiring_team_name = ?, hiring_team_logo = ?, hiring_team_type = ?, industry = ?, time_zone = ?, state = ?, country = ?, post_code = ?, city = ?, has_client_support = ?, manage_own_billing = ?, stripe_reference = ?, stripe_subscription = ?, stripe_fixed_sub_item = ?, stripe_metered_sub_item = ?, name_on_card = ?, card_post_code = ?, card_id = ?, plan_renewed_on = ?, used_credits = ?, available_credits = ?, is_ppj = ?, has_cap = ?, max_cap = ?, coupon_expiry_date = ?, last_plan_amount = ?, google_address_text = ?, plan_cancelled = ?, company_id = ? , billing_team_id = ? , added_by_user_id = ? , payment_plan_id = ? , coupon_id = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " + "SET hiring_team_name = ?, hiring_team_logo = ?, hiring_team_type = ?, industry = ?, time_zone = ?, state = ?, country = ?, post_code = ?, city = ?, has_client_support = ?, manage_own_billing = ?, stripe_reference = ?, stripe_subscription = ?, stripe_fixed_sub_item = ?, stripe_metered_sub_item = ?, name_on_card = ?, card_post_code = ?, card_id = ?, plan_renewed_on = ?, used_credits = ?, available_credits = ?, is_ppj = ?, has_cap = ?, max_cap = ?, coupon_expiry_date = ?, last_plan_amount = ?, google_address_text = ?, plan_cancelled = ?, message_id = ?, company_id = ? , billing_team_id = ? , added_by_user_id = ? , payment_plan_id = ? , coupon_id = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " +
"WHERE tl_hiring_team.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ", "WHERE tl_hiring_team.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ",
CollectionUtils.listEntry (HELPER_HiringTeamName.getForSQL(dummyHiringTeamName, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HiringTeamName))).listEntry (HELPER_HiringTeamLogo.getForSQL(dummyHiringTeamLogo, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HiringTeamLogo))).listEntry (HELPER_HiringTeamType.getForSQL(dummyHiringTeamType, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HiringTeamType))).listEntry (HELPER_Industry.getForSQL(dummyIndustry, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_Industry))).listEntry (HELPER_TimeZone.getForSQL(dummyTimeZone, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_TimeZone))).listEntry (HELPER_State.getForSQL(dummyState, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_State))).listEntry (HELPER_Country.getForSQL(dummyCountry, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_Country))).listEntry (HELPER_PostCode.getForSQL(dummyPostCode, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_PostCode))).listEntry (HELPER_City.getForSQL(dummyCity, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_City))).listEntry (HELPER_HasClientSupport.getForSQL(dummyHasClientSupport, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HasClientSupport))).listEntry (HELPER_ManageOwnBilling.getForSQL(dummyManageOwnBilling, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_ManageOwnBilling))).listEntry (HELPER_StripeReference.getForSQL(dummyStripeReference, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_StripeReference))).listEntry (HELPER_StripeSubscription.getForSQL(dummyStripeSubscription, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_StripeSubscription))).listEntry (HELPER_StripeFixedSubItem.getForSQL(dummyStripeFixedSubItem, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_StripeFixedSubItem))).listEntry (HELPER_StripeMeteredSubItem.getForSQL(dummyStripeMeteredSubItem, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_StripeMeteredSubItem))).listEntry (HELPER_NameOnCard.getForSQL(dummyNameOnCard, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_NameOnCard))).listEntry (HELPER_CardPostCode.getForSQL(dummyCardPostCode, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_CardPostCode))).listEntry (HELPER_CardID.getForSQL(dummyCardID, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_CardID))).listEntry (HELPER_PlanRenewedOn.getForSQL(dummyPlanRenewedOn, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_PlanRenewedOn))).listEntry (HELPER_UsedCredits.getForSQL(dummyUsedCredits, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_UsedCredits))).listEntry (HELPER_AvailableCredits.getForSQL(dummyAvailableCredits, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_AvailableCredits))).listEntry (HELPER_IsPPJ.getForSQL(dummyIsPPJ, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_IsPPJ))).listEntry (HELPER_HasCap.getForSQL(dummyHasCap, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HasCap))).listEntry (HELPER_MaxCap.getForSQL(dummyMaxCap, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_MaxCap))).listEntry (HELPER_CouponExpiryDate.getForSQL(dummyCouponExpiryDate, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_CouponExpiryDate))).listEntry (HELPER_LastPlanAmount.getForSQL(dummyLastPlanAmount, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_LastPlanAmount))).listEntry (HELPER_GoogleAddressText.getForSQL(dummyGoogleAddressText, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_GoogleAddressText))).listEntry (HELPER_PlanCancelled.getForSQL(dummyPlanCancelled, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_PlanCancelled))).listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_Company)))).listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_BilledByTeam)))).listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_AddedByUser)))).listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_PaymentPlan)))).listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_Coupon)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray()); CollectionUtils.listEntry (HELPER_HiringTeamName.getForSQL(dummyHiringTeamName, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HiringTeamName))).listEntry (HELPER_HiringTeamLogo.getForSQL(dummyHiringTeamLogo, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HiringTeamLogo))).listEntry (HELPER_HiringTeamType.getForSQL(dummyHiringTeamType, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HiringTeamType))).listEntry (HELPER_Industry.getForSQL(dummyIndustry, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_Industry))).listEntry (HELPER_TimeZone.getForSQL(dummyTimeZone, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_TimeZone))).listEntry (HELPER_State.getForSQL(dummyState, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_State))).listEntry (HELPER_Country.getForSQL(dummyCountry, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_Country))).listEntry (HELPER_PostCode.getForSQL(dummyPostCode, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_PostCode))).listEntry (HELPER_City.getForSQL(dummyCity, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_City))).listEntry (HELPER_HasClientSupport.getForSQL(dummyHasClientSupport, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HasClientSupport))).listEntry (HELPER_ManageOwnBilling.getForSQL(dummyManageOwnBilling, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_ManageOwnBilling))).listEntry (HELPER_StripeReference.getForSQL(dummyStripeReference, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_StripeReference))).listEntry (HELPER_StripeSubscription.getForSQL(dummyStripeSubscription, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_StripeSubscription))).listEntry (HELPER_StripeFixedSubItem.getForSQL(dummyStripeFixedSubItem, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_StripeFixedSubItem))).listEntry (HELPER_StripeMeteredSubItem.getForSQL(dummyStripeMeteredSubItem, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_StripeMeteredSubItem))).listEntry (HELPER_NameOnCard.getForSQL(dummyNameOnCard, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_NameOnCard))).listEntry (HELPER_CardPostCode.getForSQL(dummyCardPostCode, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_CardPostCode))).listEntry (HELPER_CardID.getForSQL(dummyCardID, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_CardID))).listEntry (HELPER_PlanRenewedOn.getForSQL(dummyPlanRenewedOn, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_PlanRenewedOn))).listEntry (HELPER_UsedCredits.getForSQL(dummyUsedCredits, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_UsedCredits))).listEntry (HELPER_AvailableCredits.getForSQL(dummyAvailableCredits, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_AvailableCredits))).listEntry (HELPER_IsPPJ.getForSQL(dummyIsPPJ, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_IsPPJ))).listEntry (HELPER_HasCap.getForSQL(dummyHasCap, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HasCap))).listEntry (HELPER_MaxCap.getForSQL(dummyMaxCap, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_MaxCap))).listEntry (HELPER_CouponExpiryDate.getForSQL(dummyCouponExpiryDate, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_CouponExpiryDate))).listEntry (HELPER_LastPlanAmount.getForSQL(dummyLastPlanAmount, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_LastPlanAmount))).listEntry (HELPER_GoogleAddressText.getForSQL(dummyGoogleAddressText, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_GoogleAddressText))).listEntry (HELPER_PlanCancelled.getForSQL(dummyPlanCancelled, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_PlanCancelled))).listEntry (HELPER_MessageID.getForSQL(dummyMessageID, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_MessageID))).listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_Company)))).listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_BilledByTeam)))).listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_AddedByUser)))).listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_PaymentPlan)))).listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_Coupon)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray());
if (rowsUpdated != 1) if (rowsUpdated != 1)
{ {
...@@ -626,6 +630,7 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr ...@@ -626,6 +630,7 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr
tl_hiring_teamPSet.setAttrib(HiringTeam.FIELD_LastPlanAmount, HELPER_LastPlanAmount.getFromRS(dummyLastPlanAmount, r, "last_plan_amount")); tl_hiring_teamPSet.setAttrib(HiringTeam.FIELD_LastPlanAmount, HELPER_LastPlanAmount.getFromRS(dummyLastPlanAmount, r, "last_plan_amount"));
tl_hiring_teamPSet.setAttrib(HiringTeam.FIELD_GoogleAddressText, HELPER_GoogleAddressText.getFromRS(dummyGoogleAddressText, r, "google_address_text")); tl_hiring_teamPSet.setAttrib(HiringTeam.FIELD_GoogleAddressText, HELPER_GoogleAddressText.getFromRS(dummyGoogleAddressText, r, "google_address_text"));
tl_hiring_teamPSet.setAttrib(HiringTeam.FIELD_PlanCancelled, HELPER_PlanCancelled.getFromRS(dummyPlanCancelled, r, "plan_cancelled")); tl_hiring_teamPSet.setAttrib(HiringTeam.FIELD_PlanCancelled, HELPER_PlanCancelled.getFromRS(dummyPlanCancelled, r, "plan_cancelled"));
tl_hiring_teamPSet.setAttrib(HiringTeam.FIELD_MessageID, HELPER_MessageID.getFromRS(dummyMessageID, r, "message_id"));
tl_hiring_teamPSet.setAttrib(HiringTeam.SINGLEREFERENCE_Company, r.getObject ("company_id")); tl_hiring_teamPSet.setAttrib(HiringTeam.SINGLEREFERENCE_Company, r.getObject ("company_id"));
tl_hiring_teamPSet.setAttrib(HiringTeam.SINGLEREFERENCE_BilledByTeam, r.getObject ("billing_team_id")); tl_hiring_teamPSet.setAttrib(HiringTeam.SINGLEREFERENCE_BilledByTeam, r.getObject ("billing_team_id"));
...@@ -648,10 +653,10 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr ...@@ -648,10 +653,10 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr
{ {
executeStatement (sqlMgr, executeStatement (sqlMgr,
"INSERT INTO {PREFIX}tl_hiring_team " + "INSERT INTO {PREFIX}tl_hiring_team " +
" (hiring_team_name, hiring_team_logo, hiring_team_type, industry, time_zone, state, country, post_code, city, has_client_support, manage_own_billing, stripe_reference, stripe_subscription, stripe_fixed_sub_item, stripe_metered_sub_item, name_on_card, card_post_code, card_id, plan_renewed_on, used_credits, available_credits, is_ppj, has_cap, max_cap, coupon_expiry_date, last_plan_amount, google_address_text, plan_cancelled, company_id, billing_team_id, added_by_user_id, payment_plan_id, coupon_id, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " + " (hiring_team_name, hiring_team_logo, hiring_team_type, industry, time_zone, state, country, post_code, city, has_client_support, manage_own_billing, stripe_reference, stripe_subscription, stripe_fixed_sub_item, stripe_metered_sub_item, name_on_card, card_post_code, card_id, plan_renewed_on, used_credits, available_credits, is_ppj, has_cap, max_cap, coupon_expiry_date, last_plan_amount, google_address_text, plan_cancelled, message_id, company_id, billing_team_id, added_by_user_id, payment_plan_id, coupon_id, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " +
"VALUES " + "VALUES " +
" (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")", " (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")",
CollectionUtils.listEntry (HELPER_HiringTeamName.getForSQL(dummyHiringTeamName, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HiringTeamName))).listEntry (HELPER_HiringTeamLogo.getForSQL(dummyHiringTeamLogo, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HiringTeamLogo))).listEntry (HELPER_HiringTeamType.getForSQL(dummyHiringTeamType, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HiringTeamType))).listEntry (HELPER_Industry.getForSQL(dummyIndustry, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_Industry))).listEntry (HELPER_TimeZone.getForSQL(dummyTimeZone, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_TimeZone))).listEntry (HELPER_State.getForSQL(dummyState, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_State))).listEntry (HELPER_Country.getForSQL(dummyCountry, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_Country))).listEntry (HELPER_PostCode.getForSQL(dummyPostCode, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_PostCode))).listEntry (HELPER_City.getForSQL(dummyCity, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_City))).listEntry (HELPER_HasClientSupport.getForSQL(dummyHasClientSupport, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HasClientSupport))).listEntry (HELPER_ManageOwnBilling.getForSQL(dummyManageOwnBilling, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_ManageOwnBilling))).listEntry (HELPER_StripeReference.getForSQL(dummyStripeReference, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_StripeReference))).listEntry (HELPER_StripeSubscription.getForSQL(dummyStripeSubscription, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_StripeSubscription))).listEntry (HELPER_StripeFixedSubItem.getForSQL(dummyStripeFixedSubItem, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_StripeFixedSubItem))).listEntry (HELPER_StripeMeteredSubItem.getForSQL(dummyStripeMeteredSubItem, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_StripeMeteredSubItem))).listEntry (HELPER_NameOnCard.getForSQL(dummyNameOnCard, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_NameOnCard))).listEntry (HELPER_CardPostCode.getForSQL(dummyCardPostCode, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_CardPostCode))).listEntry (HELPER_CardID.getForSQL(dummyCardID, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_CardID))).listEntry (HELPER_PlanRenewedOn.getForSQL(dummyPlanRenewedOn, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_PlanRenewedOn))).listEntry (HELPER_UsedCredits.getForSQL(dummyUsedCredits, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_UsedCredits))).listEntry (HELPER_AvailableCredits.getForSQL(dummyAvailableCredits, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_AvailableCredits))).listEntry (HELPER_IsPPJ.getForSQL(dummyIsPPJ, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_IsPPJ))).listEntry (HELPER_HasCap.getForSQL(dummyHasCap, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HasCap))).listEntry (HELPER_MaxCap.getForSQL(dummyMaxCap, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_MaxCap))).listEntry (HELPER_CouponExpiryDate.getForSQL(dummyCouponExpiryDate, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_CouponExpiryDate))).listEntry (HELPER_LastPlanAmount.getForSQL(dummyLastPlanAmount, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_LastPlanAmount))).listEntry (HELPER_GoogleAddressText.getForSQL(dummyGoogleAddressText, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_GoogleAddressText))).listEntry (HELPER_PlanCancelled.getForSQL(dummyPlanCancelled, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_PlanCancelled))) .listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_Company)))).listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_BilledByTeam)))).listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_AddedByUser)))).listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_PaymentPlan)))).listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_Coupon)))) .listEntry (objectID.longID ()).toList().toArray()); CollectionUtils.listEntry (HELPER_HiringTeamName.getForSQL(dummyHiringTeamName, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HiringTeamName))).listEntry (HELPER_HiringTeamLogo.getForSQL(dummyHiringTeamLogo, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HiringTeamLogo))).listEntry (HELPER_HiringTeamType.getForSQL(dummyHiringTeamType, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HiringTeamType))).listEntry (HELPER_Industry.getForSQL(dummyIndustry, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_Industry))).listEntry (HELPER_TimeZone.getForSQL(dummyTimeZone, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_TimeZone))).listEntry (HELPER_State.getForSQL(dummyState, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_State))).listEntry (HELPER_Country.getForSQL(dummyCountry, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_Country))).listEntry (HELPER_PostCode.getForSQL(dummyPostCode, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_PostCode))).listEntry (HELPER_City.getForSQL(dummyCity, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_City))).listEntry (HELPER_HasClientSupport.getForSQL(dummyHasClientSupport, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HasClientSupport))).listEntry (HELPER_ManageOwnBilling.getForSQL(dummyManageOwnBilling, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_ManageOwnBilling))).listEntry (HELPER_StripeReference.getForSQL(dummyStripeReference, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_StripeReference))).listEntry (HELPER_StripeSubscription.getForSQL(dummyStripeSubscription, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_StripeSubscription))).listEntry (HELPER_StripeFixedSubItem.getForSQL(dummyStripeFixedSubItem, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_StripeFixedSubItem))).listEntry (HELPER_StripeMeteredSubItem.getForSQL(dummyStripeMeteredSubItem, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_StripeMeteredSubItem))).listEntry (HELPER_NameOnCard.getForSQL(dummyNameOnCard, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_NameOnCard))).listEntry (HELPER_CardPostCode.getForSQL(dummyCardPostCode, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_CardPostCode))).listEntry (HELPER_CardID.getForSQL(dummyCardID, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_CardID))).listEntry (HELPER_PlanRenewedOn.getForSQL(dummyPlanRenewedOn, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_PlanRenewedOn))).listEntry (HELPER_UsedCredits.getForSQL(dummyUsedCredits, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_UsedCredits))).listEntry (HELPER_AvailableCredits.getForSQL(dummyAvailableCredits, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_AvailableCredits))).listEntry (HELPER_IsPPJ.getForSQL(dummyIsPPJ, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_IsPPJ))).listEntry (HELPER_HasCap.getForSQL(dummyHasCap, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_HasCap))).listEntry (HELPER_MaxCap.getForSQL(dummyMaxCap, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_MaxCap))).listEntry (HELPER_CouponExpiryDate.getForSQL(dummyCouponExpiryDate, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_CouponExpiryDate))).listEntry (HELPER_LastPlanAmount.getForSQL(dummyLastPlanAmount, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_LastPlanAmount))).listEntry (HELPER_GoogleAddressText.getForSQL(dummyGoogleAddressText, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_GoogleAddressText))).listEntry (HELPER_PlanCancelled.getForSQL(dummyPlanCancelled, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_PlanCancelled))).listEntry (HELPER_MessageID.getForSQL(dummyMessageID, tl_hiring_teamPSet.getAttrib (HiringTeam.FIELD_MessageID))) .listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_Company)))).listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_BilledByTeam)))).listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_AddedByUser)))).listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_PaymentPlan)))).listEntry (SQLManager.CheckNull((Long)(tl_hiring_teamPSet.getAttrib (HiringTeam.SINGLEREFERENCE_Coupon)))) .listEntry (objectID.longID ()).toList().toArray());
tl_hiring_teamPSet.setStatus (PersistentSetStatus.PROCESSED); tl_hiring_teamPSet.setStatus (PersistentSetStatus.PROCESSED);
} }
......
...@@ -52,7 +52,11 @@ public class JobApplication extends BaseJobApplication ...@@ -52,7 +52,11 @@ public class JobApplication extends BaseJobApplication
}); });
// create scheduled emails for new application status // create scheduled emails for new application status
MessageTemplate[] templates = MessageTemplate.SearchByAll().andApplicationStatus(new EqualsFilter<>(getApplicationStatus())).search(getTransaction()); int messageID = getJob().getHiringTeam().getMessageID() != null ? getJob().getHiringTeam().getMessageID() : 1;
MessageTemplate[] templates = MessageTemplate.SearchByAll()
.andApplicationStatus(new EqualsFilter<>(getApplicationStatus()))
.andMessageID(new EqualsFilter<>(messageID))
.search(getTransaction());
for(MessageTemplate template : templates) for(MessageTemplate template : templates)
......
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
<ATTRIB name="GoogleAddressText" type="String" dbcol="google_address_text" length="300"/> <ATTRIB name="GoogleAddressText" type="String" dbcol="google_address_text" length="300"/>
<ATTRIB name="PreferRemote" type="Boolean" dbcol="prefer_remote" defaultValue="Boolean.FALSE"/> <ATTRIB name="PreferRemote" type="Boolean" dbcol="prefer_remote" defaultValue="Boolean.FALSE"/>
<ATTRIB name="HappyToRelocate" type="Boolean" dbcol="happy_to_relocate"/> <ATTRIB name="HappyToRelocate" type="Boolean" dbcol="happy_to_relocate"/>
<ATTRIB name="IsEmailIngest" type="Boolean" dbcol="is_email_ingest" defaultValue="Boolean.FALSE"/>
<SINGLEREFERENCE name="Candidate" type="Candidate" dbcol="candidate_id" backreferenceName="JobApplications" mandatory="true"/> <SINGLEREFERENCE name="Candidate" type="Candidate" dbcol="candidate_id" backreferenceName="JobApplications" mandatory="true"/>
<SINGLEREFERENCE name="Job" type="Job" dbcol="job_id" backreferenceName="JobApplications" mandatory="true"/> <SINGLEREFERENCE name="Job" type="Job" dbcol="job_id" backreferenceName="JobApplications" mandatory="true"/>
......
...@@ -34,6 +34,7 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr ...@@ -34,6 +34,7 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr
private String dummyGoogleAddressText; private String dummyGoogleAddressText;
private Boolean dummyPreferRemote; private Boolean dummyPreferRemote;
private Boolean dummyHappyToRelocate; private Boolean dummyHappyToRelocate;
private Boolean dummyIsEmailIngest;
// Static constants corresponding to attribute helpers // Static constants corresponding to attribute helpers
...@@ -44,6 +45,7 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr ...@@ -44,6 +45,7 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr
private static final DefaultAttributeHelper HELPER_GoogleAddressText = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper HELPER_GoogleAddressText = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_PreferRemote = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper HELPER_PreferRemote = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_HappyToRelocate = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper HELPER_HappyToRelocate = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_IsEmailIngest = DefaultAttributeHelper.INSTANCE;
...@@ -57,10 +59,11 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr ...@@ -57,10 +59,11 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr
dummyGoogleAddressText = (String)(HELPER_GoogleAddressText.initialise (dummyGoogleAddressText)); dummyGoogleAddressText = (String)(HELPER_GoogleAddressText.initialise (dummyGoogleAddressText));
dummyPreferRemote = (Boolean)(HELPER_PreferRemote.initialise (dummyPreferRemote)); dummyPreferRemote = (Boolean)(HELPER_PreferRemote.initialise (dummyPreferRemote));
dummyHappyToRelocate = (Boolean)(HELPER_HappyToRelocate.initialise (dummyHappyToRelocate)); dummyHappyToRelocate = (Boolean)(HELPER_HappyToRelocate.initialise (dummyHappyToRelocate));
dummyIsEmailIngest = (Boolean)(HELPER_IsEmailIngest.initialise (dummyIsEmailIngest));
} }
private String SELECT_COLUMNS = "{PREFIX}tl_job_application.object_id as id, {PREFIX}tl_job_application.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}tl_job_application.object_CREATED_DATE as CREATED_DATE, {PREFIX}tl_job_application.cv, {PREFIX}tl_job_application.cover_letter, {PREFIX}tl_job_application.application_status, {PREFIX}tl_job_application.submitted_date, {PREFIX}tl_job_application.google_address_text, {PREFIX}tl_job_application.prefer_remote, {PREFIX}tl_job_application.happy_to_relocate, {PREFIX}tl_job_application.candidate_id, {PREFIX}tl_job_application.job_id, 1 AS commasafe "; private String SELECT_COLUMNS = "{PREFIX}tl_job_application.object_id as id, {PREFIX}tl_job_application.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}tl_job_application.object_CREATED_DATE as CREATED_DATE, {PREFIX}tl_job_application.cv, {PREFIX}tl_job_application.cover_letter, {PREFIX}tl_job_application.application_status, {PREFIX}tl_job_application.submitted_date, {PREFIX}tl_job_application.google_address_text, {PREFIX}tl_job_application.prefer_remote, {PREFIX}tl_job_application.happy_to_relocate, {PREFIX}tl_job_application.is_email_ingest, {PREFIX}tl_job_application.candidate_id, {PREFIX}tl_job_application.job_id, 1 AS commasafe ";
private String SELECT_JOINS = ""; private String SELECT_JOINS = "";
public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
...@@ -118,6 +121,7 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr ...@@ -118,6 +121,7 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr
!tl_job_applicationPSet.containsAttrib(JobApplication.FIELD_GoogleAddressText)|| !tl_job_applicationPSet.containsAttrib(JobApplication.FIELD_GoogleAddressText)||
!tl_job_applicationPSet.containsAttrib(JobApplication.FIELD_PreferRemote)|| !tl_job_applicationPSet.containsAttrib(JobApplication.FIELD_PreferRemote)||
!tl_job_applicationPSet.containsAttrib(JobApplication.FIELD_HappyToRelocate)|| !tl_job_applicationPSet.containsAttrib(JobApplication.FIELD_HappyToRelocate)||
!tl_job_applicationPSet.containsAttrib(JobApplication.FIELD_IsEmailIngest)||
!tl_job_applicationPSet.containsAttrib(JobApplication.SINGLEREFERENCE_Candidate)|| !tl_job_applicationPSet.containsAttrib(JobApplication.SINGLEREFERENCE_Candidate)||
!tl_job_applicationPSet.containsAttrib(JobApplication.SINGLEREFERENCE_Job)) !tl_job_applicationPSet.containsAttrib(JobApplication.SINGLEREFERENCE_Job))
{ {
...@@ -209,10 +213,10 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr ...@@ -209,10 +213,10 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr
{ {
int rowsUpdated = executeStatement (sqlMgr, int rowsUpdated = executeStatement (sqlMgr,
"UPDATE {PREFIX}tl_job_application " + "UPDATE {PREFIX}tl_job_application " +
"SET cv = ?, cover_letter = ?, application_status = ?, submitted_date = ?, google_address_text = ?, prefer_remote = ?, happy_to_relocate = ?, candidate_id = ? , job_id = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " + "SET cv = ?, cover_letter = ?, application_status = ?, submitted_date = ?, google_address_text = ?, prefer_remote = ?, happy_to_relocate = ?, is_email_ingest = ?, candidate_id = ? , job_id = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " +
"WHERE tl_job_application.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ", "WHERE tl_job_application.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ",
CollectionUtils.listEntry (HELPER_CV.getForSQL(dummyCV, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_CV))).listEntry (HELPER_CoverLetter.getForSQL(dummyCoverLetter, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_CoverLetter))).listEntry (HELPER_ApplicationStatus.getForSQL(dummyApplicationStatus, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_ApplicationStatus))).listEntry (HELPER_SubmittedDate.getForSQL(dummySubmittedDate, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_SubmittedDate))).listEntry (HELPER_GoogleAddressText.getForSQL(dummyGoogleAddressText, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_GoogleAddressText))).listEntry (HELPER_PreferRemote.getForSQL(dummyPreferRemote, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_PreferRemote))).listEntry (HELPER_HappyToRelocate.getForSQL(dummyHappyToRelocate, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_HappyToRelocate))).listEntry (SQLManager.CheckNull((Long)(tl_job_applicationPSet.getAttrib (JobApplication.SINGLEREFERENCE_Candidate)))).listEntry (SQLManager.CheckNull((Long)(tl_job_applicationPSet.getAttrib (JobApplication.SINGLEREFERENCE_Job)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray()); CollectionUtils.listEntry (HELPER_CV.getForSQL(dummyCV, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_CV))).listEntry (HELPER_CoverLetter.getForSQL(dummyCoverLetter, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_CoverLetter))).listEntry (HELPER_ApplicationStatus.getForSQL(dummyApplicationStatus, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_ApplicationStatus))).listEntry (HELPER_SubmittedDate.getForSQL(dummySubmittedDate, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_SubmittedDate))).listEntry (HELPER_GoogleAddressText.getForSQL(dummyGoogleAddressText, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_GoogleAddressText))).listEntry (HELPER_PreferRemote.getForSQL(dummyPreferRemote, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_PreferRemote))).listEntry (HELPER_HappyToRelocate.getForSQL(dummyHappyToRelocate, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_HappyToRelocate))).listEntry (HELPER_IsEmailIngest.getForSQL(dummyIsEmailIngest, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_IsEmailIngest))).listEntry (SQLManager.CheckNull((Long)(tl_job_applicationPSet.getAttrib (JobApplication.SINGLEREFERENCE_Candidate)))).listEntry (SQLManager.CheckNull((Long)(tl_job_applicationPSet.getAttrib (JobApplication.SINGLEREFERENCE_Job)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray());
if (rowsUpdated != 1) if (rowsUpdated != 1)
{ {
...@@ -595,6 +599,7 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr ...@@ -595,6 +599,7 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr
tl_job_applicationPSet.setAttrib(JobApplication.FIELD_GoogleAddressText, HELPER_GoogleAddressText.getFromRS(dummyGoogleAddressText, r, "google_address_text")); tl_job_applicationPSet.setAttrib(JobApplication.FIELD_GoogleAddressText, HELPER_GoogleAddressText.getFromRS(dummyGoogleAddressText, r, "google_address_text"));
tl_job_applicationPSet.setAttrib(JobApplication.FIELD_PreferRemote, HELPER_PreferRemote.getFromRS(dummyPreferRemote, r, "prefer_remote")); tl_job_applicationPSet.setAttrib(JobApplication.FIELD_PreferRemote, HELPER_PreferRemote.getFromRS(dummyPreferRemote, r, "prefer_remote"));
tl_job_applicationPSet.setAttrib(JobApplication.FIELD_HappyToRelocate, HELPER_HappyToRelocate.getFromRS(dummyHappyToRelocate, r, "happy_to_relocate")); tl_job_applicationPSet.setAttrib(JobApplication.FIELD_HappyToRelocate, HELPER_HappyToRelocate.getFromRS(dummyHappyToRelocate, r, "happy_to_relocate"));
tl_job_applicationPSet.setAttrib(JobApplication.FIELD_IsEmailIngest, HELPER_IsEmailIngest.getFromRS(dummyIsEmailIngest, r, "is_email_ingest"));
tl_job_applicationPSet.setAttrib(JobApplication.SINGLEREFERENCE_Candidate, r.getObject ("candidate_id")); tl_job_applicationPSet.setAttrib(JobApplication.SINGLEREFERENCE_Candidate, r.getObject ("candidate_id"));
tl_job_applicationPSet.setAttrib(JobApplication.SINGLEREFERENCE_Job, r.getObject ("job_id")); tl_job_applicationPSet.setAttrib(JobApplication.SINGLEREFERENCE_Job, r.getObject ("job_id"));
...@@ -614,10 +619,10 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr ...@@ -614,10 +619,10 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr
{ {
executeStatement (sqlMgr, executeStatement (sqlMgr,
"INSERT INTO {PREFIX}tl_job_application " + "INSERT INTO {PREFIX}tl_job_application " +
" (cv, cover_letter, application_status, submitted_date, google_address_text, prefer_remote, happy_to_relocate, candidate_id, job_id, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " + " (cv, cover_letter, application_status, submitted_date, google_address_text, prefer_remote, happy_to_relocate, is_email_ingest, candidate_id, job_id, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " +
"VALUES " + "VALUES " +
" (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")", " (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")",
CollectionUtils.listEntry (HELPER_CV.getForSQL(dummyCV, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_CV))).listEntry (HELPER_CoverLetter.getForSQL(dummyCoverLetter, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_CoverLetter))).listEntry (HELPER_ApplicationStatus.getForSQL(dummyApplicationStatus, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_ApplicationStatus))).listEntry (HELPER_SubmittedDate.getForSQL(dummySubmittedDate, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_SubmittedDate))).listEntry (HELPER_GoogleAddressText.getForSQL(dummyGoogleAddressText, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_GoogleAddressText))).listEntry (HELPER_PreferRemote.getForSQL(dummyPreferRemote, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_PreferRemote))).listEntry (HELPER_HappyToRelocate.getForSQL(dummyHappyToRelocate, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_HappyToRelocate))) .listEntry (SQLManager.CheckNull((Long)(tl_job_applicationPSet.getAttrib (JobApplication.SINGLEREFERENCE_Candidate)))).listEntry (SQLManager.CheckNull((Long)(tl_job_applicationPSet.getAttrib (JobApplication.SINGLEREFERENCE_Job)))) .listEntry (objectID.longID ()).toList().toArray()); CollectionUtils.listEntry (HELPER_CV.getForSQL(dummyCV, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_CV))).listEntry (HELPER_CoverLetter.getForSQL(dummyCoverLetter, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_CoverLetter))).listEntry (HELPER_ApplicationStatus.getForSQL(dummyApplicationStatus, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_ApplicationStatus))).listEntry (HELPER_SubmittedDate.getForSQL(dummySubmittedDate, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_SubmittedDate))).listEntry (HELPER_GoogleAddressText.getForSQL(dummyGoogleAddressText, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_GoogleAddressText))).listEntry (HELPER_PreferRemote.getForSQL(dummyPreferRemote, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_PreferRemote))).listEntry (HELPER_HappyToRelocate.getForSQL(dummyHappyToRelocate, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_HappyToRelocate))).listEntry (HELPER_IsEmailIngest.getForSQL(dummyIsEmailIngest, tl_job_applicationPSet.getAttrib (JobApplication.FIELD_IsEmailIngest))) .listEntry (SQLManager.CheckNull((Long)(tl_job_applicationPSet.getAttrib (JobApplication.SINGLEREFERENCE_Candidate)))).listEntry (SQLManager.CheckNull((Long)(tl_job_applicationPSet.getAttrib (JobApplication.SINGLEREFERENCE_Job)))) .listEntry (objectID.longID ()).toList().toArray());
tl_job_applicationPSet.setStatus (PersistentSetStatus.PROCESSED); tl_job_applicationPSet.setStatus (PersistentSetStatus.PROCESSED);
} }
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
<IMPORT value="performa.orm.*"/> <IMPORT value="performa.orm.*"/>
<TABLE name="tl_message_template" tablePrefix="object" polymorphic="FALSE"> <TABLE name="tl_message_template" tablePrefix="object" polymorphic="FALSE">
<ATTRIB name="MessageID" type="Integer" dbcol="message_id" mandatory="true" defaultValue="1"/>
<ATTRIB name="TemplateName" type="String" dbcol="template_name" mandatory="true" length="200" /> <ATTRIB name="TemplateName" type="String" dbcol="template_name" mandatory="true" length="200" />
<ATTRIB name="Subject" type="String" dbcol="subject" mandatory="true" length="200" /> <ATTRIB name="Subject" type="String" dbcol="subject" mandatory="true" length="200" />
<ATTRIB name="ApplicationStatus" type="ApplicationStatus" dbcol="application_status" mandatory="true" defaultValue="ApplicationStatus.DRAFT" attribHelper="EnumeratedAttributeHelper" /> <ATTRIB name="ApplicationStatus" type="ApplicationStatus" dbcol="application_status" mandatory="true" defaultValue="ApplicationStatus.DRAFT" attribHelper="EnumeratedAttributeHelper" />
......
...@@ -28,6 +28,7 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr ...@@ -28,6 +28,7 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr
private static final LoggingArea MessageTemplatePersistence = LoggingArea.createLoggingArea(ObjectPersistenceMgr.OBJECT_PERSISTENCE, "MessageTemplate"); private static final LoggingArea MessageTemplatePersistence = LoggingArea.createLoggingArea(ObjectPersistenceMgr.OBJECT_PERSISTENCE, "MessageTemplate");
// Private attributes corresponding to business object data // Private attributes corresponding to business object data
private Integer dummyMessageID;
private String dummyTemplateName; private String dummyTemplateName;
private String dummySubject; private String dummySubject;
private ApplicationStatus dummyApplicationStatus; private ApplicationStatus dummyApplicationStatus;
...@@ -39,6 +40,7 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr ...@@ -39,6 +40,7 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr
// Static constants corresponding to attribute helpers // Static constants corresponding to attribute helpers
private static final DefaultAttributeHelper HELPER_MessageID = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_TemplateName = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper HELPER_TemplateName = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_Subject = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper HELPER_Subject = DefaultAttributeHelper.INSTANCE;
private static final EnumeratedAttributeHelper HELPER_ApplicationStatus = new EnumeratedAttributeHelper (ApplicationStatus.FACTORY_ApplicationStatus); private static final EnumeratedAttributeHelper HELPER_ApplicationStatus = new EnumeratedAttributeHelper (ApplicationStatus.FACTORY_ApplicationStatus);
...@@ -53,6 +55,7 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr ...@@ -53,6 +55,7 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr
public MessageTemplatePersistenceMgr () public MessageTemplatePersistenceMgr ()
{ {
dummyMessageID = (Integer)(HELPER_MessageID.initialise (dummyMessageID));
dummyTemplateName = (String)(HELPER_TemplateName.initialise (dummyTemplateName)); dummyTemplateName = (String)(HELPER_TemplateName.initialise (dummyTemplateName));
dummySubject = (String)(HELPER_Subject.initialise (dummySubject)); dummySubject = (String)(HELPER_Subject.initialise (dummySubject));
dummyApplicationStatus = (ApplicationStatus)(HELPER_ApplicationStatus.initialise (dummyApplicationStatus)); dummyApplicationStatus = (ApplicationStatus)(HELPER_ApplicationStatus.initialise (dummyApplicationStatus));
...@@ -64,7 +67,7 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr ...@@ -64,7 +67,7 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr
} }
private String SELECT_COLUMNS = "{PREFIX}tl_message_template.object_id as id, {PREFIX}tl_message_template.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}tl_message_template.object_CREATED_DATE as CREATED_DATE, {PREFIX}tl_message_template.template_name, {PREFIX}tl_message_template.subject, {PREFIX}tl_message_template.application_status, {PREFIX}tl_message_template.delay_hrs, {PREFIX}tl_message_template.delay_min, {PREFIX}tl_message_template.variance, {PREFIX}tl_message_template.business_hours_only, {PREFIX}tl_message_template.message_content, 1 AS commasafe "; private String SELECT_COLUMNS = "{PREFIX}tl_message_template.object_id as id, {PREFIX}tl_message_template.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}tl_message_template.object_CREATED_DATE as CREATED_DATE, {PREFIX}tl_message_template.message_id, {PREFIX}tl_message_template.template_name, {PREFIX}tl_message_template.subject, {PREFIX}tl_message_template.application_status, {PREFIX}tl_message_template.delay_hrs, {PREFIX}tl_message_template.delay_min, {PREFIX}tl_message_template.variance, {PREFIX}tl_message_template.business_hours_only, {PREFIX}tl_message_template.message_content, 1 AS commasafe ";
private String SELECT_JOINS = ""; private String SELECT_JOINS = "";
public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
...@@ -115,6 +118,7 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr ...@@ -115,6 +118,7 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr
// Check for persistent sets already prefetched // Check for persistent sets already prefetched
if (false || !tl_message_templatePSet.containsAttrib(BaseBusinessClass.FIELD_ObjectLastModified) || if (false || !tl_message_templatePSet.containsAttrib(BaseBusinessClass.FIELD_ObjectLastModified) ||
!tl_message_templatePSet.containsAttrib(MessageTemplate.FIELD_MessageID)||
!tl_message_templatePSet.containsAttrib(MessageTemplate.FIELD_TemplateName)|| !tl_message_templatePSet.containsAttrib(MessageTemplate.FIELD_TemplateName)||
!tl_message_templatePSet.containsAttrib(MessageTemplate.FIELD_Subject)|| !tl_message_templatePSet.containsAttrib(MessageTemplate.FIELD_Subject)||
!tl_message_templatePSet.containsAttrib(MessageTemplate.FIELD_ApplicationStatus)|| !tl_message_templatePSet.containsAttrib(MessageTemplate.FIELD_ApplicationStatus)||
...@@ -192,10 +196,10 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr ...@@ -192,10 +196,10 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr
{ {
int rowsUpdated = executeStatement (sqlMgr, int rowsUpdated = executeStatement (sqlMgr,
"UPDATE {PREFIX}tl_message_template " + "UPDATE {PREFIX}tl_message_template " +
"SET template_name = ?, subject = ?, application_status = ?, delay_hrs = ?, delay_min = ?, variance = ?, business_hours_only = ?, message_content = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " + "SET message_id = ?, template_name = ?, subject = ?, application_status = ?, delay_hrs = ?, delay_min = ?, variance = ?, business_hours_only = ?, message_content = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " +
"WHERE tl_message_template.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ", "WHERE tl_message_template.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ",
CollectionUtils.listEntry (HELPER_TemplateName.getForSQL(dummyTemplateName, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_TemplateName))).listEntry (HELPER_Subject.getForSQL(dummySubject, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_Subject))).listEntry (HELPER_ApplicationStatus.getForSQL(dummyApplicationStatus, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_ApplicationStatus))).listEntry (HELPER_DelayHrs.getForSQL(dummyDelayHrs, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_DelayHrs))).listEntry (HELPER_DelayMin.getForSQL(dummyDelayMin, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_DelayMin))).listEntry (HELPER_Variance.getForSQL(dummyVariance, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_Variance))).listEntry (HELPER_BusinessHoursOnly.getForSQL(dummyBusinessHoursOnly, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_BusinessHoursOnly))).listEntry (HELPER_MessageContent.getForSQL(dummyMessageContent, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_MessageContent))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray()); CollectionUtils.listEntry (HELPER_MessageID.getForSQL(dummyMessageID, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_MessageID))).listEntry (HELPER_TemplateName.getForSQL(dummyTemplateName, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_TemplateName))).listEntry (HELPER_Subject.getForSQL(dummySubject, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_Subject))).listEntry (HELPER_ApplicationStatus.getForSQL(dummyApplicationStatus, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_ApplicationStatus))).listEntry (HELPER_DelayHrs.getForSQL(dummyDelayHrs, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_DelayHrs))).listEntry (HELPER_DelayMin.getForSQL(dummyDelayMin, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_DelayMin))).listEntry (HELPER_Variance.getForSQL(dummyVariance, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_Variance))).listEntry (HELPER_BusinessHoursOnly.getForSQL(dummyBusinessHoursOnly, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_BusinessHoursOnly))).listEntry (HELPER_MessageContent.getForSQL(dummyMessageContent, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_MessageContent))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray());
if (rowsUpdated != 1) if (rowsUpdated != 1)
{ {
...@@ -451,6 +455,7 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr ...@@ -451,6 +455,7 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr
// Object Created // Object Created
tl_message_templatePSet.setAttrib(BaseBusinessClass.FIELD_ObjectCreated, r.getTimestamp ("CREATED_DATE")); tl_message_templatePSet.setAttrib(BaseBusinessClass.FIELD_ObjectCreated, r.getTimestamp ("CREATED_DATE"));
tl_message_templatePSet.setAttrib(MessageTemplate.FIELD_MessageID, HELPER_MessageID.getFromRS(dummyMessageID, r, "message_id"));
tl_message_templatePSet.setAttrib(MessageTemplate.FIELD_TemplateName, HELPER_TemplateName.getFromRS(dummyTemplateName, r, "template_name")); tl_message_templatePSet.setAttrib(MessageTemplate.FIELD_TemplateName, HELPER_TemplateName.getFromRS(dummyTemplateName, r, "template_name"));
tl_message_templatePSet.setAttrib(MessageTemplate.FIELD_Subject, HELPER_Subject.getFromRS(dummySubject, r, "subject")); tl_message_templatePSet.setAttrib(MessageTemplate.FIELD_Subject, HELPER_Subject.getFromRS(dummySubject, r, "subject"));
tl_message_templatePSet.setAttrib(MessageTemplate.FIELD_ApplicationStatus, HELPER_ApplicationStatus.getFromRS(dummyApplicationStatus, r, "application_status")); tl_message_templatePSet.setAttrib(MessageTemplate.FIELD_ApplicationStatus, HELPER_ApplicationStatus.getFromRS(dummyApplicationStatus, r, "application_status"));
...@@ -476,10 +481,10 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr ...@@ -476,10 +481,10 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr
{ {
executeStatement (sqlMgr, executeStatement (sqlMgr,
"INSERT INTO {PREFIX}tl_message_template " + "INSERT INTO {PREFIX}tl_message_template " +
" (template_name, subject, application_status, delay_hrs, delay_min, variance, business_hours_only, message_content, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " + " (message_id, template_name, subject, application_status, delay_hrs, delay_min, variance, business_hours_only, message_content, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " +
"VALUES " + "VALUES " +
" (?, ?, ?, ?, ?, ?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")", " (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")",
CollectionUtils.listEntry (HELPER_TemplateName.getForSQL(dummyTemplateName, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_TemplateName))).listEntry (HELPER_Subject.getForSQL(dummySubject, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_Subject))).listEntry (HELPER_ApplicationStatus.getForSQL(dummyApplicationStatus, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_ApplicationStatus))).listEntry (HELPER_DelayHrs.getForSQL(dummyDelayHrs, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_DelayHrs))).listEntry (HELPER_DelayMin.getForSQL(dummyDelayMin, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_DelayMin))).listEntry (HELPER_Variance.getForSQL(dummyVariance, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_Variance))).listEntry (HELPER_BusinessHoursOnly.getForSQL(dummyBusinessHoursOnly, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_BusinessHoursOnly))).listEntry (HELPER_MessageContent.getForSQL(dummyMessageContent, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_MessageContent))) .listEntry (objectID.longID ()).toList().toArray()); CollectionUtils.listEntry (HELPER_MessageID.getForSQL(dummyMessageID, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_MessageID))).listEntry (HELPER_TemplateName.getForSQL(dummyTemplateName, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_TemplateName))).listEntry (HELPER_Subject.getForSQL(dummySubject, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_Subject))).listEntry (HELPER_ApplicationStatus.getForSQL(dummyApplicationStatus, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_ApplicationStatus))).listEntry (HELPER_DelayHrs.getForSQL(dummyDelayHrs, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_DelayHrs))).listEntry (HELPER_DelayMin.getForSQL(dummyDelayMin, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_DelayMin))).listEntry (HELPER_Variance.getForSQL(dummyVariance, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_Variance))).listEntry (HELPER_BusinessHoursOnly.getForSQL(dummyBusinessHoursOnly, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_BusinessHoursOnly))).listEntry (HELPER_MessageContent.getForSQL(dummyMessageContent, tl_message_templatePSet.getAttrib (MessageTemplate.FIELD_MessageContent))) .listEntry (objectID.longID ()).toList().toArray());
tl_message_templatePSet.setStatus (PersistentSetStatus.PROCESSED); tl_message_templatePSet.setStatus (PersistentSetStatus.PROCESSED);
} }
......
...@@ -6,6 +6,7 @@ import javax.mail.*; ...@@ -6,6 +6,7 @@ import javax.mail.*;
import javax.mail.internet.*; import javax.mail.internet.*;
import javax.mail.search.*; import javax.mail.search.*;
import oneit.appservices.config.ConfigMgr; import oneit.appservices.config.ConfigMgr;
import oneit.appservices.documents.HTML2PDF;
import oneit.components.*; import oneit.components.*;
import oneit.email.EmailFetcher; import oneit.email.EmailFetcher;
import oneit.logging.*; import oneit.logging.*;
...@@ -14,6 +15,9 @@ import oneit.objstore.services.*; ...@@ -14,6 +15,9 @@ import oneit.objstore.services.*;
import oneit.security.SecUser; import oneit.security.SecUser;
import oneit.utils.*; import oneit.utils.*;
import oneit.utils.parsers.FieldException; import oneit.utils.parsers.FieldException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import performa.orm.*; import performa.orm.*;
import performa.orm.types.ApplicationStatus; import performa.orm.types.ApplicationStatus;
...@@ -25,7 +29,7 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant ...@@ -25,7 +29,7 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant
private static final String SERVER_PROTOCOL = ConfigMgr.getKeyfileString("imap.server.protocol", "imaps"); private static final String SERVER_PROTOCOL = ConfigMgr.getKeyfileString("imap.server.protocol", "imaps");
private static final String ACC_USER_NAME = ConfigMgr.getKeyfileString("imap.email.acc.username"); private static final String ACC_USER_NAME = ConfigMgr.getKeyfileString("imap.email.acc.username");
private static final String ACC_PASSWORD = ConfigMgr.getKeyfileString("imap.email.acc.password"); private static final String ACC_PASSWORD = ConfigMgr.getKeyfileString("imap.email.acc.password");
private static final boolean SYNC_ALL_EXISTING_EMAILS = ConfigMgr.getKeyfileBoolean("sync.all.existing.emails", true); private static final boolean SYNC_ALL_EXISTING_EMAILS = ConfigMgr.getKeyfileBoolean("sync.all.existing.emails", false);
private static final Integer SYNC_EMAILS_SINCE_MINUTES = ConfigMgr.getKeyfileInt("sync.emails.since.minutes", 30*60); //Applicable only when SYNC_ALL_EXISTING_EMAILS is false. private static final Integer SYNC_EMAILS_SINCE_MINUTES = ConfigMgr.getKeyfileInt("sync.emails.since.minutes", 30*60); //Applicable only when SYNC_ALL_EXISTING_EMAILS is false.
public static final LoggingArea LOG = LoggingArea.createLoggingArea("PerformaEmailFetcher"); public static final LoggingArea LOG = LoggingArea.createLoggingArea("PerformaEmailFetcher");
...@@ -234,6 +238,7 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant ...@@ -234,6 +238,7 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant
String tmpRecipient = null; String tmpRecipient = null;
String tmpJobId = null; String tmpJobId = null;
String tmpMessageID = null; String tmpMessageID = null;
String tmpMessageBody = null;
List<FileBinaryContent> tmpContents; List<FileBinaryContent> tmpContents;
...@@ -247,6 +252,7 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant ...@@ -247,6 +252,7 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant
final String emailText; final String emailText;
final String jobIdentifier; final String jobIdentifier;
final String messageID; final String messageID;
final String messageBody;
final List<FileBinaryContent> contents; final List<FileBinaryContent> contents;
try try
...@@ -293,6 +299,7 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant ...@@ -293,6 +299,7 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant
tmpEmailText = EmailFetcher.getText(message, new ArrayList<>()); tmpEmailText = EmailFetcher.getText(message, new ArrayList<>());
tmpContents = getAttachments(message); tmpContents = getAttachments(message);
tmpMessageBody = EmailFetcher.getText(message, new ArrayList());
} }
catch (MessagingException | IOException ex) catch (MessagingException | IOException ex)
{ {
...@@ -311,6 +318,7 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant ...@@ -311,6 +318,7 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant
contents = tmpContents; contents = tmpContents;
emailText = tmpEmailText; emailText = tmpEmailText;
messageID = tmpMessageID; messageID = tmpMessageID;
messageBody = tmpMessageBody;
try try
{ {
...@@ -376,7 +384,8 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant ...@@ -376,7 +384,8 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant
JobApplication jobApplication = JobApplication.createNewApplication(candidate, job); JobApplication jobApplication = JobApplication.createNewApplication(candidate, job);
jobApplication.setApplicationStatus(ApplicationStatus.POST_INGEST); jobApplication.setApplicationStatus(ApplicationStatus.POST_INGEST);
jobApplication.setIsEmailIngest(true);
if(contents.size() > 0) if(contents.size() > 0)
{ {
jobApplication.setCV(contents.get(0)); jobApplication.setCV(contents.get(0));
...@@ -427,12 +436,28 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant ...@@ -427,12 +436,28 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant
JobApplication jobApplication = JobApplication.createNewApplication(candidate, job); JobApplication jobApplication = JobApplication.createNewApplication(candidate, job);
jobApplication.setApplicationStatus(ApplicationStatus.POST_INGEST); jobApplication.setApplicationStatus(ApplicationStatus.POST_INGEST);
jobApplication.setIsEmailIngest(true);
if(contents.size() > 0) if(contents.size() > 0)
{ {
jobApplication.setCV(contents.get(0)); jobApplication.setCV(contents.get(0));
} }
Document document = Jsoup.parse(messageBody);
Element table = document.select("table").size() > 14 ? document.select("table").get(14) : null;
if(table != null)
{
Element firstTR = table.select("tr").first();
ByteArrayOutputStream out = new ByteArrayOutputStream();
HTML2PDF.HTML2PDF(firstTR.toString() , out, "");
FileBinaryContent binaryContent = new FileBinaryContent("application/pdf", out.toByteArray(), "CoverLetter");
jobApplication.setCoverLetter(binaryContent);
}
} }
private void createEmailMessage(ObjectTransaction objTran, Job job) throws StorageException, FieldException private void createEmailMessage(ObjectTransaction objTran, Job job) throws StorageException, FieldException
......
...@@ -80,6 +80,12 @@ ...@@ -80,6 +80,12 @@
if(isMobile) if(isMobile)
{ {
String accept = request.getHeader("accept");
String userAgent = request.getHeader("user-agent");
String uaOS = request.getHeader("UA-OS");
LogMgr.log(HiringTeam.LOG, LogLevel.PROCESSING1, "IsMobile accept :", accept, " user agent: ", userAgent, " uaOS: ", uaOS );
response.sendRedirect(request.getContextPath() + "/extensions/adminportal/responsive_alert.jsp"); response.sendRedirect(request.getContextPath() + "/extensions/adminportal/responsive_alert.jsp");
} }
......
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).mapEntry("Applications", applications).toMap()) .mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).mapEntry("Applications", applications).toMap())
.toMap() %>"> .toMap() %>">
<% <%
if(jobApplication.isTrue(candidate.getIsEmailIngest())) if(jobApplication.isTrue(jobApplication.getIsEmailIngest()))
{ {
%> %>
<span style="padding-right: 5px;"><img src="images/email-ingest-icon.jpg"></span> <span style="padding-right: 5px;"><img src="images/email-ingest-icon.jpg"></span>
......
...@@ -54,3 +54,4 @@ HiringTeam.HiringTeamLogo = Hiring Team Logo ...@@ -54,3 +54,4 @@ HiringTeam.HiringTeamLogo = Hiring Team Logo
HiringTeam.HiringTeamType = Hiring Team Type HiringTeam.HiringTeamType = Hiring Team Type
HiringTeam.HiringTeamName = Hiring Team Name HiringTeam.HiringTeamName = Hiring Team Name
HiringTeam.BilledByTeam = Billing Team HiringTeam.BilledByTeam = Billing Team
HiringTeam.MessageID = Message ID
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
PopupAlert.close(); PopupAlert.close();
}else{ }else{
PopupAlert.setContent($("#force-to-choose-popup")); PopupAlert.setContent($("#force-to-choose-popup"));
PopupAlert.open(); PopupAlert.open();
return false; return false;
} }
...@@ -246,6 +246,16 @@ ...@@ -246,6 +246,16 @@
</div> </div>
</div> </div>
<% <%
if(Utils.isAssumedUser(request))
{
%>
<div class="form-group">
<label><oneit:ormlabel obj="<%= hiringTeam %>" field="MessageID" /></label>
<oneit:ormInput obj="<%= hiringTeam %>" type="text" attributeName="MessageID" cssClass="form-control"/>
</div>
<%
}
if(company.getHiringTeamsCount() > 1) if(company.getHiringTeamsCount() > 1)
{ {
%> %>
......
<?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_application</tableName>
<column name="is_email_ingest" type="Boolean" nullable="true"/>
</NODE>
</NODE>
</OBJECTS>
\ No newline at end of file
UPDATE tl_job_application SET is_email_ingest = 'Y' FROM oneit_sec_user_extension WHERE oneit_sec_user_extension.object_id = tl_job_application.candidate_id AND oneit_sec_user_extension.is_email_ingest = 'Y';
\ No newline at end of file
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
<NODE name="dynamic_content_form::APPLICANT_PORTAL" factory="Participant"> <NODE name="dynamic_content_form::APPLICANT_PORTAL" factory="Participant">
<FORM name="*.signIn" factory="Participant" class="performa.form.SignInCandidateFP"/> <FORM name="*.signIn" factory="Participant" class="performa.form.SignInCandidateFP"/>
<FORM name="*.verifyIdentity" factory="Participant" class="performa.form.VerifyIdentityFP"/> <FORM name="*.verifyIdentity" factory="Participant" class="performa.form.VerifyIdentityFP"/>
<FORM name="*.identifyUser" factory="Participant" class="performa.form.IdentifyMaskedUserFP"/>
<FORM name="*.completeApplication" factory="Participant" class="performa.form.CompleteApplicationFP"/> <FORM name="*.completeApplication" factory="Participant" class="performa.form.CompleteApplicationFP"/>
<FORM name="*.validateApplication" factory="Participant" class="performa.form.ValidateApplicationFP"/> <FORM name="*.validateApplication" factory="Participant" class="performa.form.ValidateApplicationFP"/>
<FORM name="*.saveAndExitExperienece" factory="Participant" class="performa.form.SaveAndExitExperienceFP"/> <FORM name="*.saveAndExitExperienece" factory="Participant" class="performa.form.SaveAndExitExperienceFP"/>
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
<RenderMode name="Page" preIncludeJSP="extensions/applicantportal/job_overview.jsp"/> <RenderMode name="Page" preIncludeJSP="extensions/applicantportal/job_overview.jsp"/>
<RenderMode name="SignIn" preIncludeJSP="extensions/applicantportal/sign_in.jsp"/> <RenderMode name="SignIn" preIncludeJSP="extensions/applicantportal/sign_in.jsp"/>
<RenderMode name="VerifyIdentity" preIncludeJSP="extensions/applicantportal/verify_identity.jsp"/> <RenderMode name="VerifyIdentity" preIncludeJSP="extensions/applicantportal/verify_identity.jsp"/>
<RenderMode name="MaskedIdentity" preIncludeJSP="extensions/applicantportal/masked_identity.jsp"/>
<RenderMode name="VerificationSent" preIncludeJSP="extensions/applicantportal/verification_sent.jsp"/> <RenderMode name="VerificationSent" preIncludeJSP="extensions/applicantportal/verification_sent.jsp"/>
<RenderMode name="ForgotPassword" preIncludeJSP="extensions/applicantportal/forgot_password.jsp"/> <RenderMode name="ForgotPassword" preIncludeJSP="extensions/applicantportal/forgot_password.jsp"/>
<RenderMode name="ResetPassword" preIncludeJSP="extensions/applicantportal/reset_password.jsp"/> <RenderMode name="ResetPassword" preIncludeJSP="extensions/applicantportal/reset_password.jsp"/>
......
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
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");
SecUser secUser = (SecUser) process.getAttribute("User");
String id = request.getParameter("id"); String id = request.getParameter("id");
String key = request.getParameter("key"); String key = request.getParameter("key");
...@@ -55,6 +56,11 @@ ...@@ -55,6 +56,11 @@
} }
Debug.assertion(job != null, "Invalid job in applicant portal"); Debug.assertion(job != null, "Invalid job in applicant portal");
if(secUser != null)
{
job.setEmail(secUser.getEmail());
}
%> %>
<div class="main-verify-identity"> <div class="main-verify-identity">
<div class="login-logo"><img src="<%= request.getContextPath() %>/images/logo.png" /></div> <div class="login-logo"><img src="<%= request.getContextPath() %>/images/logo.png" /></div>
......
...@@ -32,7 +32,11 @@ ...@@ -32,7 +32,11 @@
String navigateTo = WebUtils.getSamePageInRenderMode(request, "SignIn") + "&UserName=" + secUser.getEmail(); String navigateTo = WebUtils.getSamePageInRenderMode(request, "SignIn") + "&UserName=" + secUser.getEmail();
if((loggedInUser != null && loggedInUser == secUser) || candidate.isUnverifiedEmailIngestUser() || !candidate.isTrue(candidate.getIsPasswordChanged())) if(candidate.isUnverifiedEmailIngestUser() && candidate.isTrue(candidate.getIsMaskedEmail()))
{
navigateTo = WebUtils.getSamePageInRenderMode(request,"MaskedIdentity");
}
else if((loggedInUser != null && loggedInUser == secUser) || candidate.isUnverifiedEmailIngestUser() || !candidate.isTrue(candidate.getIsPasswordChanged()))
{ {
navigateTo = WebUtils.getSamePageInRenderMode(request,"VerifyIdentity"); navigateTo = WebUtils.getSamePageInRenderMode(request,"VerifyIdentity");
} }
......
<%@ page extends="oneit.servlets.jsp.JSPInclude" %>
<%@ include file="/inc/stdimports50.jsp" %><%-- This is in cougar --%>
<%@ include file="/inc/stdcms.jsp" %><%-- This is in cougar --%>
<%@ include file="/extensions/performa/inc/stdimports.jsp" %>
<oneit:dynIncluded>
<%
boolean toRedirect = GenericObjDF.getOrCreateObject (request, "Job", Job.REFERENCE_Job);
Job job = (Job) process.getAttribute("Job");
Debug.assertion(job != null && !toRedirect, "Invalid job in applicant portal");
SecUser secUser = SecUser.getTXUser(transaction);
Debug.assertion(secUser != null, "Invalid candidate in applicant portal");
Candidate candidate = secUser.getExtension(Candidate.REFERENCE_Candidate);
Debug.assertion(candidate != null, "Invalid candidate in applicant portal");
String successPage = WebUtils.getSamePageInRenderMode(request, "VerifyIdentity") + "&JobID=" + job.getID();
JobApplication jobApplication = JobApplication.searchCandidateJob(transaction, candidate, job);
jobApplication.setIsEmailIngest(true);
process.setAttribute("JobApplication", jobApplication);
process.setAttribute("User", secUser);
%>
<style>
button[disabled] {
opacity: 0.6;
background-color: #0582ba;
}
.email input[name$="Email"] {
opacity: 0;
position: absolute;
}
.forgot-pass{
margin-top: 20px;
}
</style>
<script type="text/javascript">
$(document.body).addClass('bg-color');
var interval ;
$(document).ready(function() {
recalcFunction = setupRecalc ($("form#signIn"), {'recalcOnError':true});
});
</script>
<oneit:form name="signIn" method="post" enctype="multipart/form-data">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="apply-job-logo-header signinpage">
<div class="box-sizing-border-box">
<div class="logo-img">
<%
BinaryContent logo = job.getLogo();
if(logo != null)
{
int logoHeight = 45;
%>
<tagfile:img src="<%= ThumbnailUtils.filterImage(DiskFileBinaryContent.getRelativeURL(logo), "KEEP", new ScaleWithin (0, logoHeight)) %>" />
<%
}
%>
</div>
<div class="header-title">
<%= job.getTeamName() %>
</div>
</div>
</div>
<div class="main-verify-identity">
<div class="pl-confirm text-center">Please confirm your details to continue</div>
<div class="main-box-layout main-verify-step-2">
<div class="form-group text-left">
<label>Email Address</label>
<oneit:ormInput obj="<%= secUser %>" type="text" attributeName="Email" cssClass="form-control" style="text-transform: lowercase" required="true"/>
</div>
<div class="row">
<div class="form-group text-left col-sm-6 col-xs-12">
<label><oneit:ormlabel obj="<%= secUser %>" field="FirstName" /></label>
<oneit:ormInput obj="<%= secUser %>" type="text" attributeName="FirstName" cssClass="form-control second-style" required="true"/>
</div>
<div class="form-group text-left col-sm-6 col-xs-12">
<label><oneit:ormlabel obj="<%= secUser %>" field="LastName" /></label>
<oneit:ormInput obj="<%= secUser %>" type="text" attributeName="LastName" cssClass="form-control second-style" required="true"/>
</div>
</div>
<oneit:recalcClass htmlTag="div" classScript="candidate.isEmailFound() ? 'show': 'hide'" candidate="<%= candidate %>">
<div class="form-group text-left email">
<label style="display: none;"><oneit:ormlabel obj="<%= secUser %>" field="Email" /></label>
<oneit:ormInput obj="<%= secUser %>" type="text" attributeName="Email" cssClass="form-control"/>
</div>
<div class="form-group text-left">
<label>Password</label>
<input type="password" class="form-control" name="password">
</div>
</oneit:recalcClass>
<div class="form-group">
<oneit:recalcClass htmlTag="div" classScript="candidate.isEmailFound() ? 'show': 'hide'" candidate="<%= candidate %>">
<oneit:button value="Forgot password?" name="gotoPage" cssClass="forgot-pass" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", WebUtils.getSamePageInRenderMode(request, "ForgotPassword"))
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("User", secUser).toMap())
.toMap() %>"/>
</oneit:recalcClass>
<oneit:button value="Submit" name="identifyUser" cssClass="box-btn login-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", successPage)
.mapEntry("Job",job)
.mapEntry("Candidate",candidate)
.mapEntry("JobApplication",jobApplication)
.mapEntry(NotificationUtils.DISPLAY_NOTIFICATION_PARAM, false)
.toMap() %>"/>
</div>
</div>
</div>
</oneit:form>
</oneit:dynIncluded>
...@@ -163,7 +163,7 @@ ...@@ -163,7 +163,7 @@
<div class="form-group text-left"> <div class="form-group text-left">
<label>Email Address</label> <label>Email Address</label>
<% <%
if(secUser.getEmail() == null || (candidate.isUnverifiedEmailIngestUser() && candidate.isTrue(candidate.getIsMaskedEmail()))) if(secUser.getEmail() == null)
{ {
%> %>
<oneit:ormInput obj="<%= secUser %>" type="text" attributeName="Email" cssClass="form-control" style="text-transform: lowercase" required="true"/> <oneit:ormInput obj="<%= secUser %>" type="text" attributeName="Email" cssClass="form-control" style="text-transform: lowercase" required="true"/>
...@@ -201,7 +201,6 @@ ...@@ -201,7 +201,6 @@
<label>Confirm password</label> <label>Confirm password</label>
<oneit:input type="password" name="<%= passkey + 2 %>" class="form-control second-style reset-pw"/> <oneit:input type="password" name="<%= passkey + 2 %>" class="form-control second-style reset-pw"/>
</div> </div>
<% <%
} }
%> %>
...@@ -224,7 +223,7 @@ ...@@ -224,7 +223,7 @@
{ {
%> %>
<div class="form-group text-left relative-parent "> <div class="form-group text-left relative-parent ">
<label>Upload your CV (PDF preferred)</label> <label>Upload your CV, required (PDF preferred)</label>
<div class="form-control second-style"> <div class="form-control second-style">
<a target='blank' class="new-file-link" href='<%= request.getContextPath() + "/" + BinaryContentHandler.getRelativeURL(request, jobApplication, "CV", jobApplication.getCV(), true) %>'> <a target='blank' class="new-file-link" href='<%= request.getContextPath() + "/" + BinaryContentHandler.getRelativeURL(request, jobApplication, "CV", jobApplication.getCV(), true) %>'>
<%= jobApplication.getCV() != null ? "Click to View File" : "" %> <%= jobApplication.getCV() != null ? "Click to View File" : "" %>
...@@ -234,7 +233,7 @@ ...@@ -234,7 +233,7 @@
</div> </div>
</div> </div>
<div class="form-group text-left relative-parent"> <div class="form-group text-left relative-parent">
<label>Upload your Cover Letter (PDF preferred)</label> <label>Upload your Cover Letter, optional (PDF preferred)</label>
<div class="form-control second-style"> <div class="form-control second-style">
<a target='blank' class="new-file-link" href='<%= request.getContextPath() + "/" + BinaryContentHandler.getRelativeURL(request, jobApplication, "CoverLetter", jobApplication.getCoverLetter(), true) %>'> <a target='blank' class="new-file-link" href='<%= request.getContextPath() + "/" + BinaryContentHandler.getRelativeURL(request, jobApplication, "CoverLetter", jobApplication.getCoverLetter(), true) %>'>
<%= jobApplication.getCoverLetter() != null ? "Click to View File" : "" %> <%= jobApplication.getCoverLetter() != null ? "Click to View File" : "" %>
......
...@@ -53,6 +53,15 @@ ...@@ -53,6 +53,15 @@
<oneit:skin tagName="layout_row"> <oneit:skin tagName="layout_row">
<oneit:layout_label width="1"> <oneit:layout_label width="1">
<oneit:ormlabel obj="<%= messageTemplate %>" field="MessageID"/>
</oneit:layout_label>
<oneit:layout_field width="1">
<oneit:ormInput obj="<%= messageTemplate %>" attributeName="MessageID"/>
</oneit:layout_field>
</oneit:skin>
<oneit:skin tagName="layout_row">
<oneit:layout_label width="1">
<oneit:ormlabel obj="<%= messageTemplate %>" field="TemplateName"/> <oneit:ormlabel obj="<%= messageTemplate %>" field="TemplateName"/>
</oneit:layout_label> </oneit:layout_label>
<oneit:layout_field width="1"> <oneit:layout_field width="1">
......
...@@ -3,4 +3,5 @@ MessageTemplate.ApplicationStatus = Application Status ...@@ -3,4 +3,5 @@ MessageTemplate.ApplicationStatus = Application Status
MessageTemplate.MessageContent = Message Content MessageTemplate.MessageContent = Message Content
MessageTemplate.PlaceholderVariable = Placeholder Variable MessageTemplate.PlaceholderVariable = Placeholder Variable
MessageTemplate.DelayHrs = Delay MessageTemplate.DelayHrs = Delay
MessageTemplate.TemplateName = Template Name MessageTemplate.TemplateName = Template Name
\ No newline at end of file MessageTemplate.MessageID = Message ID
\ No newline at end of file
<?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_hiring_team</tableName>
<column name="message_id" type="Long" nullable="true"/>
</NODE>
</NODE>
</OBJECTS>
\ No newline at end of file
<?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_message_template</tableName>
<column name="message_id" type="Long" nullable="true"/>
</NODE>
</NODE>
</OBJECTS>
\ No newline at end of file
UPDATE tl_message_template SET message_id = 1 WHERE message_id IS NULL;
\ 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