Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
PERFORMA_REPLICA
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Muhammad Usman
PERFORMA_REPLICA
Commits
1bd22d83
Commit
1bd22d83
authored
May 30, 2019
by
Harsh Shah
Browse files
Options
Browse Files
Download
Plain Diff
Finish Hotfix-20190514
parents
c5958847
8193fd80
Hide whitespace changes
Inline
Side-by-side
Showing
45 changed files
with
1064 additions
and
50 deletions
+1064
-50
jsoup-1.12.1.jar
cmsWebApp/libraries/jsoup-1.12.1.jar
+0
-0
HiringTeam.xml
cmsWebApp/sql/HiringTeam.xml
+1
-0
JobApplication.xml
cmsWebApp/sql/JobApplication.xml
+1
-0
MessageTemplate.xml
cmsWebApp/sql/MessageTemplate.xml
+1
-0
HiringTeam.sql
cmsWebApp/sql/ms/HiringTeam.sql
+1
-0
JobApplication.sql
cmsWebApp/sql/ms/JobApplication.sql
+1
-0
MessageTemplate.sql
cmsWebApp/sql/ms/MessageTemplate.sql
+1
-0
HiringTeam.sql
cmsWebApp/sql/oracle/HiringTeam.sql
+1
-0
JobApplication.sql
cmsWebApp/sql/oracle/JobApplication.sql
+1
-0
MessageTemplate.sql
cmsWebApp/sql/oracle/MessageTemplate.sql
+1
-0
HiringTeam.sql
cmsWebApp/sql/postgres/HiringTeam.sql
+1
-0
JobApplication.sql
cmsWebApp/sql/postgres/JobApplication.sql
+1
-0
MessageTemplate.sql
cmsWebApp/sql/postgres/MessageTemplate.sql
+1
-0
IdentifyMaskedUserFP.java
cmsWebApp/src/performa/form/IdentifyMaskedUserFP.java
+140
-0
SendVerificationMailFP.java
cmsWebApp/src/performa/form/SendVerificationMailFP.java
+2
-19
VerifyIdentityFP.java
cmsWebApp/src/performa/form/VerifyIdentityFP.java
+1
-1
BaseHiringTeam.java
cmsWebApp/src/performa/orm/BaseHiringTeam.java
+203
-0
BaseJobApplication.java
cmsWebApp/src/performa/orm/BaseJobApplication.java
+210
-0
BaseMessageTemplate.java
cmsWebApp/src/performa/orm/BaseMessageTemplate.java
+200
-0
Candidate.java
cmsWebApp/src/performa/orm/Candidate.java
+17
-0
HiringTeam.xml
cmsWebApp/src/performa/orm/HiringTeam.xml
+1
-0
HiringTeamPersistenceMgr.java
cmsWebApp/src/performa/orm/HiringTeamPersistenceMgr.java
+11
-6
JobApplication.java
cmsWebApp/src/performa/orm/JobApplication.java
+5
-1
JobApplication.xml
cmsWebApp/src/performa/orm/JobApplication.xml
+1
-0
JobApplicationPersistenceMgr.java
cmsWebApp/src/performa/orm/JobApplicationPersistenceMgr.java
+11
-6
MessageTemplate.xml
cmsWebApp/src/performa/orm/MessageTemplate.xml
+1
-0
MessageTemplatePersistenceMgr.java
...ebApp/src/performa/orm/MessageTemplatePersistenceMgr.java
+11
-6
PerformaEmailFetcher.java
cmsWebApp/src/performa/utils/PerformaEmailFetcher.java
+27
-2
htmlheader.jsp
cmsWebApp/webroot/extensions/adminportal/inc/htmlheader.jsp
+6
-0
incomplete_applicants_list.jsp
...extensions/adminportal/inc/incomplete_applicants_list.jsp
+1
-1
fieldnamesOverride.txt
...ot/extensions/adminportal/messages/fieldnamesOverride.txt
+1
-0
my_company.jsp
cmsWebApp/webroot/extensions/adminportal/my_company.jsp
+11
-1
20190521_Alter_JobApplication.xml
...ns/adminportal/upgrades/20190521_Alter_JobApplication.xml
+14
-0
20190522_Update_JobApplication.sql
...s/adminportal/upgrades/20190522_Update_JobApplication.sql
+2
-0
CustomServlets_applicantPortal.xml
...nsions/applicantportal/CustomServlets_applicantPortal.xml
+1
-0
GeneralConfig_applicantPortal.xml
...ensions/applicantportal/GeneralConfig_applicantPortal.xml
+1
-0
forgot_password.jsp
...pp/webroot/extensions/applicantportal/forgot_password.jsp
+6
-0
job_overview.jsp
...ebApp/webroot/extensions/applicantportal/job_overview.jsp
+5
-1
masked_identity.jsp
...pp/webroot/extensions/applicantportal/masked_identity.jsp
+118
-0
verify_identity.jsp
...pp/webroot/extensions/applicantportal/verify_identity.jsp
+3
-4
editMessageTemplate.jsp
...ebApp/webroot/extensions/performa/editMessageTemplate.jsp
+9
-0
fieldnamesOverride.txt
...broot/extensions/performa/messages/fieldnamesOverride.txt
+3
-2
20190527_Alter_HiringTeam.xml
...xtensions/performa/upgrades/20190527_Alter_HiringTeam.xml
+14
-0
20190527_Alter_MessageTemplate.xml
...ions/performa/upgrades/20190527_Alter_MessageTemplate.xml
+14
-0
20190527_Update_MessageTemplate.sql
...ons/performa/upgrades/20190527_Update_MessageTemplate.sql
+2
-0
No files found.
cmsWebApp/libraries/jsoup-1.12.1.jar
0 → 100644
View file @
1bd22d83
File added
cmsWebApp/sql/HiringTeam.xml
View file @
1bd22d83
...
...
@@ -36,6 +36,7 @@
<column
name=
"last_plan_amount"
type=
"Double"
nullable=
"true"
/>
<column
name=
"google_address_text"
type=
"String"
nullable=
"true"
length=
"300"
/>
<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=
"billing_team_id"
type=
"Long"
length=
"11"
nullable=
"true"
/>
<column
name=
"added_by_user_id"
type=
"Long"
length=
"11"
nullable=
"false"
/>
...
...
cmsWebApp/sql/JobApplication.xml
View file @
1bd22d83
...
...
@@ -15,6 +15,7 @@
<column
name=
"google_address_text"
type=
"String"
nullable=
"true"
length=
"300"
/>
<column
name=
"prefer_remote"
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=
"job_id"
type=
"Long"
length=
"11"
nullable=
"false"
/>
</NODE>
...
...
cmsWebApp/sql/MessageTemplate.xml
View file @
1bd22d83
...
...
@@ -8,6 +8,7 @@
<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_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=
"subject"
type=
"String"
nullable=
"false"
length=
"200"
/>
<column
name=
"application_status"
type=
"String"
nullable=
"false"
length=
"200"
/>
...
...
cmsWebApp/sql/ms/HiringTeam.sql
View file @
1bd22d83
...
...
@@ -36,6 +36,7 @@ CREATE TABLE tl_hiring_team (
last_plan_amount
numeric
(
20
,
5
)
NULL
,
google_address_text
varchar
(
300
)
NULL
,
plan_cancelled
char
(
1
)
NULL
,
message_id
numeric
(
12
)
NULL
,
company_id
numeric
(
12
)
NOT
NULL
,
billing_team_id
numeric
(
12
)
NULL
,
added_by_user_id
numeric
(
12
)
NOT
NULL
,
...
...
cmsWebApp/sql/ms/JobApplication.sql
View file @
1bd22d83
...
...
@@ -15,6 +15,7 @@ CREATE TABLE tl_job_application (
google_address_text
varchar
(
300
)
NULL
,
prefer_remote
char
(
1
)
NULL
,
happy_to_relocate
char
(
1
)
NULL
,
is_email_ingest
char
(
1
)
NULL
,
candidate_id
numeric
(
12
)
NOT
NULL
,
job_id
numeric
(
12
)
NOT
NULL
);
...
...
cmsWebApp/sql/ms/MessageTemplate.sql
View file @
1bd22d83
...
...
@@ -8,6 +8,7 @@ CREATE TABLE tl_message_template (
object_last_updated_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
,
subject
varchar
(
200
)
NOT
NULL
,
application_status
varchar
(
200
)
NOT
NULL
,
...
...
cmsWebApp/sql/oracle/HiringTeam.sql
View file @
1bd22d83
...
...
@@ -37,6 +37,7 @@ CREATE TABLE tl_hiring_team (
last_plan_amount
number
(
20
,
5
)
NULL
,
google_address_text
varchar2
(
300
)
NULL
,
plan_cancelled
char
(
1
)
NULL
,
message_id
number
(
12
)
NULL
,
company_id
number
(
12
)
NOT
NULL
,
billing_team_id
number
(
12
)
NULL
,
added_by_user_id
number
(
12
)
NOT
NULL
,
...
...
cmsWebApp/sql/oracle/JobApplication.sql
View file @
1bd22d83
...
...
@@ -16,6 +16,7 @@ CREATE TABLE tl_job_application (
google_address_text
varchar2
(
300
)
NULL
,
prefer_remote
char
(
1
)
NULL
,
happy_to_relocate
char
(
1
)
NULL
,
is_email_ingest
char
(
1
)
NULL
,
candidate_id
number
(
12
)
NOT
NULL
,
job_id
number
(
12
)
NOT
NULL
);
...
...
cmsWebApp/sql/oracle/MessageTemplate.sql
View file @
1bd22d83
...
...
@@ -9,6 +9,7 @@ CREATE TABLE tl_message_template (
object_last_updated_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
,
subject
varchar2
(
200
)
NOT
NULL
,
application_status
varchar2
(
200
)
NOT
NULL
,
...
...
cmsWebApp/sql/postgres/HiringTeam.sql
View file @
1bd22d83
...
...
@@ -37,6 +37,7 @@ CREATE TABLE tl_hiring_team (
last_plan_amount
numeric
(
20
,
5
)
NULL
,
google_address_text
varchar
(
300
)
NULL
,
plan_cancelled
char
(
1
)
NULL
,
message_id
numeric
(
12
)
NULL
,
company_id
numeric
(
12
)
NOT
NULL
,
billing_team_id
numeric
(
12
)
NULL
,
added_by_user_id
numeric
(
12
)
NOT
NULL
,
...
...
cmsWebApp/sql/postgres/JobApplication.sql
View file @
1bd22d83
...
...
@@ -16,6 +16,7 @@ CREATE TABLE tl_job_application (
google_address_text
varchar
(
300
)
NULL
,
prefer_remote
char
(
1
)
NULL
,
happy_to_relocate
char
(
1
)
NULL
,
is_email_ingest
char
(
1
)
NULL
,
candidate_id
numeric
(
12
)
NOT
NULL
,
job_id
numeric
(
12
)
NOT
NULL
);
...
...
cmsWebApp/sql/postgres/MessageTemplate.sql
View file @
1bd22d83
...
...
@@ -9,6 +9,7 @@ CREATE TABLE tl_message_template (
object_last_updated_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
,
subject
varchar
(
200
)
NOT
NULL
,
application_status
varchar
(
200
)
NOT
NULL
,
...
...
cmsWebApp/src/performa/form/IdentifyMaskedUserFP.java
0 → 100644
View file @
1bd22d83
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
);
}
}
cmsWebApp/src/performa/form/SendVerificationMailFP.java
View file @
1bd22d83
...
...
@@ -60,7 +60,6 @@ public class SendVerificationMailFP extends SaveFP
if
(
job
.
getRequireCV
())
{
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
);
...
...
@@ -130,25 +129,9 @@ public class SendVerificationMailFP extends SaveFP
}
else
{
if
(
candidate
.
isTrue
(
candidate
.
getIsEmailIngest
()))
if
(
candidate
.
isTrue
(
candidate
.
getIsEmailIngest
())
||
jobApplication
.
getApplicationStatus
()
==
ApplicationStatus
.
POST_INGEST
)
{
if
(
candidate
.
isTrue
(
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
if
(
candidate
.
isFalse
(
candidate
.
getIsMaskedEmail
()))
{
candidate
.
setIsAccountVerified
(
true
);
}
...
...
cmsWebApp/src/performa/form/VerifyIdentityFP.java
View file @
1bd22d83
...
...
@@ -22,7 +22,7 @@ public class VerifyIdentityFP extends SaveFP
HttpServletRequest
request
=
submission
.
getRequest
();
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
(
SessionSecUserDecorator
.
REFRESH_SECURITY
,
Boolean
.
TRUE
);
...
...
cmsWebApp/src/performa/orm/BaseHiringTeam.java
View file @
1bd22d83
...
...
@@ -70,6 +70,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
public
static
final
String
FIELD_LastPlanAmount
=
"LastPlanAmount"
;
public
static
final
String
FIELD_GoogleAddressText
=
"GoogleAddressText"
;
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_CouponCode
=
"CouponCode"
;
public
static
final
String
FIELD_StripeBrand
=
"StripeBrand"
;
...
...
@@ -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_GoogleAddressText
=
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_CouponCode
=
DefaultAttributeHelper
.
INSTANCE
;
private
static
final
DefaultAttributeHelper
<
HiringTeam
>
HELPER_StripeBrand
=
DefaultAttributeHelper
.
INSTANCE
;
...
...
@@ -157,6 +159,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
private
Double
_LastPlanAmount
;
private
String
_GoogleAddressText
;
private
Boolean
_PlanCancelled
;
private
Integer
_MessageID
;
private
Boolean
_IsLogoDeleted
;
private
String
_CouponCode
;
private
String
_StripeBrand
;
...
...
@@ -213,6 +216,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
private
static
final
AttributeValidator
[]
FIELD_LastPlanAmount_Validators
;
private
static
final
AttributeValidator
[]
FIELD_GoogleAddressText_Validators
;
private
static
final
AttributeValidator
[]
FIELD_PlanCancelled_Validators
;
private
static
final
AttributeValidator
[]
FIELD_MessageID_Validators
;
// Arrays of behaviour decorators
...
...
@@ -271,6 +275,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
FIELD_LastPlanAmount_Validators
=
(
AttributeValidator
[])
setupAttribMetaData_LastPlanAmount
(
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_MessageID_Validators
=
(
AttributeValidator
[])
setupAttribMetaData_MessageID
(
validatorMapping
).
toArray
(
new
AttributeValidator
[
0
]);
REFERENCE_HiringTeam
.
initialiseReference
();
...
...
@@ -1014,6 +1019,24 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
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
...
...
@@ -1069,6 +1092,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
_LastPlanAmount
=
(
Double
)(
HELPER_LastPlanAmount
.
initialise
(
_LastPlanAmount
));
_GoogleAddressText
=
(
String
)(
HELPER_GoogleAddressText
.
initialise
(
_GoogleAddressText
));
_PlanCancelled
=
(
Boolean
)(
Boolean
.
FALSE
);
_MessageID
=
(
Integer
)(
HELPER_MessageID
.
initialise
(
_MessageID
));
_IsLogoDeleted
=
(
Boolean
)(
Boolean
.
FALSE
);
_CouponCode
=
(
String
)(
HELPER_CouponCode
.
initialise
(
_CouponCode
));
_StripeBrand
=
(
String
)(
HELPER_StripeBrand
.
initialise
(
_StripeBrand
));
...
...
@@ -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
*/
public
Boolean
getIsLogoDeleted
()
...
...
@@ -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_GoogleAddressText
,
HELPER_GoogleAddressText
.
toObject
(
_GoogleAddressText
));
//
tl_hiring_teamPSet
.
setAttrib
(
FIELD_PlanCancelled
,
HELPER_PlanCancelled
.
toObject
(
_PlanCancelled
));
//
tl_hiring_teamPSet
.
setAttrib
(
FIELD_MessageID
,
HELPER_MessageID
.
toObject
(
_MessageID
));
//
_Company
.
getPersistentSets
(
allSets
);
_BilledByTeam
.
getPersistentSets
(
allSets
);
_AddedByUser
.
getPersistentSets
(
allSets
);
...
...
@@ -5575,6 +5698,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
_LastPlanAmount
=
(
Double
)(
HELPER_LastPlanAmount
.
fromObject
(
_LastPlanAmount
,
tl_hiring_teamPSet
.
getAttrib
(
FIELD_LastPlanAmount
)));
//
_GoogleAddressText
=
(
String
)(
HELPER_GoogleAddressText
.
fromObject
(
_GoogleAddressText
,
tl_hiring_teamPSet
.
getAttrib
(
FIELD_GoogleAddressText
)));
//
_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
);
_BilledByTeam
.
setFromPersistentSets
(
objectID
,
allSets
);
_AddedByUser
.
setFromPersistentSets
(
objectID
,
allSets
);
...
...
@@ -5847,6 +5971,15 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
e
.
addException
(
ex
);
}
try
{
setMessageID
(
otherHiringTeam
.
getMessageID
());
}
catch
(
FieldException
ex
)
{
e
.
addException
(
ex
);
}
}
}
...
...
@@ -5890,6 +6023,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
_LastPlanAmount
=
sourceHiringTeam
.
_LastPlanAmount
;
_GoogleAddressText
=
sourceHiringTeam
.
_GoogleAddressText
;
_PlanCancelled
=
sourceHiringTeam
.
_PlanCancelled
;
_MessageID
=
sourceHiringTeam
.
_MessageID
;
_IsLogoDeleted
=
sourceHiringTeam
.
_IsLogoDeleted
;
_CouponCode
=
sourceHiringTeam
.
_CouponCode
;
_StripeBrand
=
sourceHiringTeam
.
_StripeBrand
;
...
...
@@ -5986,6 +6120,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
_LastPlanAmount
=
(
Double
)(
HELPER_LastPlanAmount
.
readExternal
(
_LastPlanAmount
,
vals
.
get
(
FIELD_LastPlanAmount
)));
//
_GoogleAddressText
=
(
String
)(
HELPER_GoogleAddressText
.
readExternal
(
_GoogleAddressText
,
vals
.
get
(
FIELD_GoogleAddressText
)));
//
_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
)));
//
_CouponCode
=
(
String
)(
HELPER_CouponCode
.
readExternal
(
_CouponCode
,
vals
.
get
(
FIELD_CouponCode
)));
//
_StripeBrand
=
(
String
)(
HELPER_StripeBrand
.
readExternal
(
_StripeBrand
,
vals
.
get
(
FIELD_StripeBrand
)));
//
...
...
@@ -6037,6 +6172,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
vals
.
put
(
FIELD_LastPlanAmount
,
HELPER_LastPlanAmount
.
writeExternal
(
_LastPlanAmount
));
vals
.
put
(
FIELD_GoogleAddressText
,
HELPER_GoogleAddressText
.
writeExternal
(
_GoogleAddressText
));
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_CouponCode
,
HELPER_CouponCode
.
writeExternal
(
_CouponCode
));
vals
.
put
(
FIELD_StripeBrand
,
HELPER_StripeBrand
.
writeExternal
(
_StripeBrand
));
...
...
@@ -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
));
}
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
_Company
.
compare
(
otherHiringTeam
.
_Company
,
listener
);
...
...
@@ -6236,6 +6376,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
visitor
.
visitField
(
this
,
FIELD_LastPlanAmount
,
HELPER_LastPlanAmount
.
toObject
(
getLastPlanAmount
()));
visitor
.
visitField
(
this
,
FIELD_GoogleAddressText
,
HELPER_GoogleAddressText
.
toObject
(
getGoogleAddressText
()));
visitor
.
visitField
(
this
,
FIELD_PlanCancelled
,
HELPER_PlanCancelled
.
toObject
(
getPlanCancelled
()));
visitor
.
visitField
(
this
,
FIELD_MessageID
,
HELPER_MessageID
.
toObject
(
getMessageID
()));
visitor
.
visitAssociation
(
_Company
);
visitor
.
visitAssociation
(
_BilledByTeam
);
visitor
.
visitAssociation
(
_AddedByUser
);
...
...
@@ -6421,6 +6562,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
{
return
filter
.
matches
(
getPlanCancelled
());
}
else
if
(
attribName
.
equals
(
FIELD_MessageID
))
{
return
filter
.
matches
(
getMessageID
());
}
else
if
(
attribName
.
equals
(
SINGLEREFERENCE_Company
))
{
return
filter
.
matches
(
getCompany
());
...
...
@@ -6640,6 +6785,12 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
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
)
{
filter
.
addFilter
(
context
,
"tl_hiring_team.company_id"
,
"Company"
);
...
...
@@ -6889,6 +7040,12 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
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
)
{
filter
.
addFilter
(
context
,
"tl_hiring_team.company_id"
,
"Company"
);
...
...
@@ -7066,6 +7223,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
{
return
HELPER_PlanCancelled
.
toObject
(
getPlanCancelled
());
}
else
if
(
attribName
.
equals
(
FIELD_MessageID
))
{
return
HELPER_MessageID
.
toObject
(
getMessageID
());
}
else
if
(
attribName
.
equals
(
FIELD_IsLogoDeleted
))
{
return
HELPER_IsLogoDeleted
.
toObject
(
getIsLogoDeleted
());
...
...
@@ -7207,6 +7368,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
{
return
HELPER_PlanCancelled
;
}
else
if
(
attribName
.
equals
(
FIELD_MessageID
))
{
return
HELPER_MessageID
;
}
else
if
(
attribName
.
equals
(
FIELD_IsLogoDeleted
))
{
return
HELPER_IsLogoDeleted
;
...
...
@@ -7348,6 +7513,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
{
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
))
{
setIsLogoDeleted
((
Boolean
)(
HELPER_IsLogoDeleted
.
fromObject
(
_IsLogoDeleted
,
attribValue
)));
...
...
@@ -7496,6 +7665,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
{
return
getWriteability_PlanCancelled
();
}
else
if
(
fieldName
.
equals
(
FIELD_MessageID
))
{
return
getWriteability_MessageID
();
}
else
if
(
fieldName
.
equals
(
MULTIPLEREFERENCE_Users
))
{
return
getWriteability_Users
();
...
...
@@ -7694,6 +7867,11 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
fields
.
add
(
FIELD_PlanCancelled
);
}
if
(
getWriteability_MessageID
()
!=
FieldWriteability
.
TRUE
)
{
fields
.
add
(
FIELD_MessageID
);
}
if
(
getWriteability_IsLogoDeleted
()
!=
FieldWriteability
.
TRUE
)
{
fields
.
add
(
FIELD_IsLogoDeleted
);
...
...
@@ -7751,6 +7929,7 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
result
.
add
(
HELPER_LastPlanAmount
.
getAttribObject
(
getClass
(),
_LastPlanAmount
,
false
,
FIELD_LastPlanAmount
));
result
.
add
(
HELPER_GoogleAddressText
.
getAttribObject
(
getClass
(),
_GoogleAddressText
,
false
,
FIELD_GoogleAddressText
));
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_CouponCode
.
getAttribObject
(
getClass
(),
_CouponCode
,
false
,
FIELD_CouponCode
));
result
.
add
(
HELPER_StripeBrand
.
getAttribObject
(
getClass
(),
_StripeBrand
,
false
,
FIELD_StripeBrand
));
...
...
@@ -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
*/
public
Boolean
getIsLogoDeleted
(
HiringTeam
obj
,
Boolean
original
)
...
...
@@ -8591,6 +8788,10 @@ public abstract class BaseHiringTeam extends BaseBusinessClass
{
return
toPlanCancelled
();
}
if
(
name
.
equals
(
"MessageID"
))
{
return
toMessageID
();
}
if
(
name
.
equals
(
"Company"
))
{
return
toCompany
();
...
...
@@ -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
,
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
(
Filter
<
Company
>
filter
)
...
...
cmsWebApp/src/performa/orm/BaseJobApplication.java
View file @
1bd22d83
...
...
@@ -47,6 +47,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
public
static
final
String
FIELD_GoogleAddressText
=
"GoogleAddressText"
;
public
static
final
String
FIELD_PreferRemote
=
"PreferRemote"
;
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_OverallRank
=
"OverallRank"
;
public
static
final
String
FIELD_RoleFit
=
"RoleFit"
;
...
...
@@ -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_PreferRemote
=
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
DefaultAttributeHelper
<
JobApplication
>
HELPER_OverallRank
=
DefaultAttributeHelper
.
INSTANCE
;
private
static
final
BLOBAttributeHelper
HELPER_RoleFit
=
BLOBAttributeHelper
.
INSTANCE
;
...
...
@@ -99,6 +101,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
private
String
_GoogleAddressText
;
private
Boolean
_PreferRemote
;
private
Boolean
_HappyToRelocate
;
private
Boolean
_IsEmailIngest
;
private
AppProcessOption
_AppProcessOption
;
private
Integer
_OverallRank
;
private
Map
_RoleFit
;
...
...
@@ -139,6 +142,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
private
static
final
AttributeValidator
[]
FIELD_GoogleAddressText_Validators
;
private
static
final
AttributeValidator
[]
FIELD_PreferRemote_Validators
;
private
static
final
AttributeValidator
[]
FIELD_HappyToRelocate_Validators
;
private
static
final
AttributeValidator
[]
FIELD_IsEmailIngest_Validators
;
// Arrays of behaviour decorators
...
...
@@ -179,6 +183,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
FIELD_GoogleAddressText_Validators
=
(
AttributeValidator
[])
setupAttribMetaData_GoogleAddressText
(
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_IsEmailIngest_Validators
=
(
AttributeValidator
[])
setupAttribMetaData_IsEmailIngest
(
validatorMapping
).
toArray
(
new
AttributeValidator
[
0
]);
REFERENCE_JobApplication
.
initialiseReference
();
...
...
@@ -561,6 +566,25 @@ public abstract class BaseJobApplication extends BaseBusinessClass
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
...
...
@@ -595,6 +619,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
_GoogleAddressText
=
(
String
)(
HELPER_GoogleAddressText
.
initialise
(
_GoogleAddressText
));
_PreferRemote
=
(
Boolean
)(
Boolean
.
FALSE
);
_HappyToRelocate
=
(
Boolean
)(
HELPER_HappyToRelocate
.
initialise
(
_HappyToRelocate
));
_IsEmailIngest
=
(
Boolean
)(
Boolean
.
FALSE
);
_AppProcessOption
=
(
AppProcessOption
)(
HELPER_AppProcessOption
.
initialise
(
_AppProcessOption
));
_OverallRank
=
(
Integer
)(
HELPER_OverallRank
.
initialise
(
_OverallRank
));
_RoleFit
=
(
Map
)(
HELPER_RoleFit
.
initialise
(
_RoleFit
));
...
...
@@ -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
*/
public
AppProcessOption
getAppProcessOption
()
...
...
@@ -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_PreferRemote
,
HELPER_PreferRemote
.
toObject
(
_PreferRemote
));
//
tl_job_applicationPSet
.
setAttrib
(
FIELD_HappyToRelocate
,
HELPER_HappyToRelocate
.
toObject
(
_HappyToRelocate
));
//
tl_job_applicationPSet
.
setAttrib
(
FIELD_IsEmailIngest
,
HELPER_IsEmailIngest
.
toObject
(
_IsEmailIngest
));
//
_Candidate
.
getPersistentSets
(
allSets
);
_Job
.
getPersistentSets
(
allSets
);
...
...
@@ -3184,6 +3308,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
_GoogleAddressText
=
(
String
)(
HELPER_GoogleAddressText
.
fromObject
(
_GoogleAddressText
,
tl_job_applicationPSet
.
getAttrib
(
FIELD_GoogleAddressText
)));
//
_PreferRemote
=
(
Boolean
)(
HELPER_PreferRemote
.
fromObject
(
_PreferRemote
,
tl_job_applicationPSet
.
getAttrib
(
FIELD_PreferRemote
)));
//
_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
);
_Job
.
setFromPersistentSets
(
objectID
,
allSets
);
...
...
@@ -3264,6 +3389,15 @@ public abstract class BaseJobApplication extends BaseBusinessClass
e
.
addException
(
ex
);
}
try
{
setIsEmailIngest
(
otherJobApplication
.
getIsEmailIngest
());
}
catch
(
FieldException
ex
)
{
e
.
addException
(
ex
);
}
}
}
...
...
@@ -3286,6 +3420,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
_GoogleAddressText
=
sourceJobApplication
.
_GoogleAddressText
;
_PreferRemote
=
sourceJobApplication
.
_PreferRemote
;
_HappyToRelocate
=
sourceJobApplication
.
_HappyToRelocate
;
_IsEmailIngest
=
sourceJobApplication
.
_IsEmailIngest
;
_AppProcessOption
=
sourceJobApplication
.
_AppProcessOption
;
_OverallRank
=
sourceJobApplication
.
_OverallRank
;
_RoleFit
=
sourceJobApplication
.
_RoleFit
;
...
...
@@ -3363,6 +3498,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
_GoogleAddressText
=
(
String
)(
HELPER_GoogleAddressText
.
readExternal
(
_GoogleAddressText
,
vals
.
get
(
FIELD_GoogleAddressText
)));
//
_PreferRemote
=
(
Boolean
)(
HELPER_PreferRemote
.
readExternal
(
_PreferRemote
,
vals
.
get
(
FIELD_PreferRemote
)));
//
_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
)));
//
_OverallRank
=
(
Integer
)(
HELPER_OverallRank
.
readExternal
(
_OverallRank
,
vals
.
get
(
FIELD_OverallRank
)));
//
_RoleFit
=
(
Map
)(
HELPER_RoleFit
.
readExternal
(
_RoleFit
,
vals
.
get
(
FIELD_RoleFit
)));
//
...
...
@@ -3395,6 +3531,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
vals
.
put
(
FIELD_GoogleAddressText
,
HELPER_GoogleAddressText
.
writeExternal
(
_GoogleAddressText
));
vals
.
put
(
FIELD_PreferRemote
,
HELPER_PreferRemote
.
writeExternal
(
_PreferRemote
));
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_OverallRank
,
HELPER_OverallRank
.
writeExternal
(
_OverallRank
));
vals
.
put
(
FIELD_RoleFit
,
HELPER_RoleFit
.
writeExternal
(
_RoleFit
));
...
...
@@ -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
));
}
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
_WorkFlow
.
compare
(
otherJobApplication
.
_WorkFlow
,
listener
);
...
...
@@ -3493,6 +3634,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
visitor
.
visitField
(
this
,
FIELD_GoogleAddressText
,
HELPER_GoogleAddressText
.
toObject
(
getGoogleAddressText
()));
visitor
.
visitField
(
this
,
FIELD_PreferRemote
,
HELPER_PreferRemote
.
toObject
(
getPreferRemote
()));
visitor
.
visitField
(
this
,
FIELD_HappyToRelocate
,
HELPER_HappyToRelocate
.
toObject
(
getHappyToRelocate
()));
visitor
.
visitField
(
this
,
FIELD_IsEmailIngest
,
HELPER_IsEmailIngest
.
toObject
(
getIsEmailIngest
()));
visitor
.
visitAssociation
(
_WorkFlow
);
visitor
.
visitAssociation
(
_Candidate
);
visitor
.
visitAssociation
(
_Job
);
...
...
@@ -3589,6 +3731,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{
return
filter
.
matches
(
getHappyToRelocate
());
}
else
if
(
attribName
.
equals
(
FIELD_IsEmailIngest
))
{
return
filter
.
matches
(
getIsEmailIngest
());
}
else
if
(
attribName
.
equals
(
SINGLEREFERENCE_Candidate
))
{
return
filter
.
matches
(
getCandidate
());
...
...
@@ -3670,6 +3816,12 @@ public abstract class BaseJobApplication extends BaseBusinessClass
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
)
{
filter
.
addFilter
(
context
,
"tl_job_application.candidate_id"
,
"Candidate"
);
...
...
@@ -3789,6 +3941,12 @@ public abstract class BaseJobApplication extends BaseBusinessClass
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
)
{
filter
.
addFilter
(
context
,
"tl_job_application.candidate_id"
,
"Candidate"
);
...
...
@@ -3924,6 +4082,12 @@ public abstract class BaseJobApplication extends BaseBusinessClass
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
)
{
filter
.
addFilter
(
context
,
"tl_job_application.candidate_id"
,
"Candidate"
);
...
...
@@ -4000,6 +4164,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{
return
HELPER_HappyToRelocate
.
toObject
(
getHappyToRelocate
());
}
else
if
(
attribName
.
equals
(
FIELD_IsEmailIngest
))
{
return
HELPER_IsEmailIngest
.
toObject
(
getIsEmailIngest
());
}
else
if
(
attribName
.
equals
(
FIELD_AppProcessOption
))
{
return
HELPER_AppProcessOption
.
toObject
(
getAppProcessOption
());
...
...
@@ -4069,6 +4237,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{
return
HELPER_HappyToRelocate
;
}
else
if
(
attribName
.
equals
(
FIELD_IsEmailIngest
))
{
return
HELPER_IsEmailIngest
;
}
else
if
(
attribName
.
equals
(
FIELD_AppProcessOption
))
{
return
HELPER_AppProcessOption
;
...
...
@@ -4138,6 +4310,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{
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
))
{
setAppProcessOption
((
AppProcessOption
)(
HELPER_AppProcessOption
.
fromObject
(
_AppProcessOption
,
attribValue
)));
...
...
@@ -4214,6 +4390,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{
return
getWriteability_HappyToRelocate
();
}
else
if
(
fieldName
.
equals
(
FIELD_IsEmailIngest
))
{
return
getWriteability_IsEmailIngest
();
}
else
if
(
fieldName
.
equals
(
MULTIPLEREFERENCE_AssessmentCriteriaAnswers
))
{
return
getWriteability_AssessmentCriteriaAnswers
();
...
...
@@ -4315,6 +4495,11 @@ public abstract class BaseJobApplication extends BaseBusinessClass
fields
.
add
(
FIELD_HappyToRelocate
);
}
if
(
getWriteability_IsEmailIngest
()
!=
FieldWriteability
.
TRUE
)
{
fields
.
add
(
FIELD_IsEmailIngest
);
}
if
(
getWriteability_AppProcessOption
()
!=
FieldWriteability
.
TRUE
)
{
fields
.
add
(
FIELD_AppProcessOption
);
...
...
@@ -4366,6 +4551,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
result
.
add
(
HELPER_GoogleAddressText
.
getAttribObject
(
getClass
(),
_GoogleAddressText
,
false
,
FIELD_GoogleAddressText
));
result
.
add
(
HELPER_PreferRemote
.
getAttribObject
(
getClass
(),
_PreferRemote
,
false
,
FIELD_PreferRemote
));
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_OverallRank
.
getAttribObject
(
getClass
(),
_OverallRank
,
false
,
FIELD_OverallRank
));
result
.
add
(
HELPER_RoleFit
.
getAttribObject
(
getClass
(),
_RoleFit
,
false
,
FIELD_RoleFit
));
...
...
@@ -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
*/
public
AppProcessOption
getAppProcessOption
(
JobApplication
obj
,
AppProcessOption
original
)
...
...
@@ -4839,6 +5043,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{
return
toHappyToRelocate
();
}
if
(
name
.
equals
(
"IsEmailIngest"
))
{
return
toIsEmailIngest
();
}
if
(
name
.
equals
(
"Candidate"
))
{
return
toCandidate
();
...
...
@@ -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
>
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
(
Filter
<
WorkFlow
>
filter
)
...
...
cmsWebApp/src/performa/orm/BaseMessageTemplate.java
View file @
1bd22d83
...
...
@@ -41,6 +41,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
// 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_Subject
=
"Subject"
;
public
static
final
String
FIELD_ApplicationStatus
=
"ApplicationStatus"
;
...
...
@@ -55,6 +56,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
// 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_Subject
=
DefaultAttributeHelper
.
INSTANCE
;
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
// Private attributes corresponding to business object data
private
Integer
_MessageID
;
private
String
_TemplateName
;
private
String
_Subject
;
private
ApplicationStatus
_ApplicationStatus
;
...
...
@@ -86,6 +89,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
private
static
final
Map
ATTRIBUTES_METADATA_MessageTemplate
=
new
HashMap
();
// 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_Subject_Validators
;
private
static
final
AttributeValidator
[]
FIELD_ApplicationStatus_Validators
;
...
...
@@ -107,6 +111,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
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_Subject_Validators
=
(
AttributeValidator
[])
setupAttribMetaData_Subject
(
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
// 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
)
{
Map
metaInfo
=
new
HashMap
();
...
...
@@ -316,6 +341,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
super
.
_initialiseNewObjAttributes
(
transaction
);
_MessageID
=
(
Integer
)(
1
);
_TemplateName
=
(
String
)(
HELPER_TemplateName
.
initialise
(
_TemplateName
));
_Subject
=
(
String
)(
HELPER_Subject
.
initialise
(
_Subject
));
_ApplicationStatus
=
(
ApplicationStatus
)(
ApplicationStatus
.
DRAFT
);
...
...
@@ -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
*/
public
String
getTemplateName
()
...
...
@@ -1394,6 +1519,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
PersistentSet
tl_message_templatePSet
=
allSets
.
getPersistentSet
(
myID
,
"tl_message_template"
,
myPSetStatus
);
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_Subject
,
HELPER_Subject
.
toObject
(
_Subject
));
//
tl_message_templatePSet
.
setAttrib
(
FIELD_ApplicationStatus
,
HELPER_ApplicationStatus
.
toObject
(
_ApplicationStatus
));
//
...
...
@@ -1416,6 +1542,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
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
)));
//
_Subject
=
(
String
)(
HELPER_Subject
.
fromObject
(
_Subject
,
tl_message_templatePSet
.
getAttrib
(
FIELD_Subject
)));
//
_ApplicationStatus
=
(
ApplicationStatus
)(
HELPER_ApplicationStatus
.
fromObject
(
_ApplicationStatus
,
tl_message_templatePSet
.
getAttrib
(
FIELD_ApplicationStatus
)));
//
...
...
@@ -1441,6 +1568,15 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
try
{
setMessageID
(
otherMessageTemplate
.
getMessageID
());
}
catch
(
FieldException
ex
)
{
e
.
addException
(
ex
);
}
try
{
setTemplateName
(
otherMessageTemplate
.
getTemplateName
());
}
catch
(
FieldException
ex
)
...
...
@@ -1526,6 +1662,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
{
BaseMessageTemplate
sourceMessageTemplate
=
(
BaseMessageTemplate
)(
source
);
_MessageID
=
sourceMessageTemplate
.
_MessageID
;
_TemplateName
=
sourceMessageTemplate
.
_TemplateName
;
_Subject
=
sourceMessageTemplate
.
_Subject
;
_ApplicationStatus
=
sourceMessageTemplate
.
_ApplicationStatus
;
...
...
@@ -1586,6 +1723,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
{
super
.
readExternalData
(
vals
);
_MessageID
=
(
Integer
)(
HELPER_MessageID
.
readExternal
(
_MessageID
,
vals
.
get
(
FIELD_MessageID
)));
//
_TemplateName
=
(
String
)(
HELPER_TemplateName
.
readExternal
(
_TemplateName
,
vals
.
get
(
FIELD_TemplateName
)));
//
_Subject
=
(
String
)(
HELPER_Subject
.
readExternal
(
_Subject
,
vals
.
get
(
FIELD_Subject
)));
//
_ApplicationStatus
=
(
ApplicationStatus
)(
HELPER_ApplicationStatus
.
readExternal
(
_ApplicationStatus
,
vals
.
get
(
FIELD_ApplicationStatus
)));
//
...
...
@@ -1605,6 +1743,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
{
super
.
writeExternalData
(
vals
);
vals
.
put
(
FIELD_MessageID
,
HELPER_MessageID
.
writeExternal
(
_MessageID
));
vals
.
put
(
FIELD_TemplateName
,
HELPER_TemplateName
.
writeExternal
(
_TemplateName
));
vals
.
put
(
FIELD_Subject
,
HELPER_Subject
.
writeExternal
(
_Subject
));
vals
.
put
(
FIELD_ApplicationStatus
,
HELPER_ApplicationStatus
.
writeExternal
(
_ApplicationStatus
));
...
...
@@ -1626,6 +1765,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
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
))
{
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
{
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_Subject
,
HELPER_Subject
.
toObject
(
getSubject
()));
visitor
.
visitField
(
this
,
FIELD_ApplicationStatus
,
HELPER_ApplicationStatus
.
toObject
(
getApplicationStatus
()));
...
...
@@ -1721,6 +1865,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
{
throw
new
RuntimeException
(
"Game over man!!"
);
}
else
if
(
attribName
.
equals
(
FIELD_MessageID
))
{
return
filter
.
matches
(
getMessageID
());
}
else
if
(
attribName
.
equals
(
FIELD_TemplateName
))
{
return
filter
.
matches
(
getTemplateName
());
...
...
@@ -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
)
{
filter
.
addFilter
(
context
,
"tl_message_template.template_name"
,
"TemplateName"
);
...
...
@@ -1867,6 +2021,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
{
throw
new
RuntimeException
(
"Game over man!!"
);
}
else
if
(
attribName
.
equals
(
FIELD_MessageID
))
{
return
HELPER_MessageID
.
toObject
(
getMessageID
());
}
else
if
(
attribName
.
equals
(
FIELD_TemplateName
))
{
return
HELPER_TemplateName
.
toObject
(
getTemplateName
());
...
...
@@ -1912,6 +2070,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
{
throw
new
RuntimeException
(
"Game over man!!"
);
}
else
if
(
attribName
.
equals
(
FIELD_MessageID
))
{
return
HELPER_MessageID
;
}
else
if
(
attribName
.
equals
(
FIELD_TemplateName
))
{
return
HELPER_TemplateName
;
...
...
@@ -1957,6 +2119,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
{
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
))
{
setTemplateName
((
String
)(
HELPER_TemplateName
.
fromObject
(
_TemplateName
,
attribValue
)));
...
...
@@ -2009,6 +2175,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
{
throw
new
RuntimeException
(
"Game over man!!"
);
}
else
if
(
fieldName
.
equals
(
FIELD_MessageID
))
{
return
getWriteability_MessageID
();
}
else
if
(
fieldName
.
equals
(
FIELD_TemplateName
))
{
return
getWriteability_TemplateName
();
...
...
@@ -2051,6 +2221,11 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
public
void
putUnwriteable
(
Set
<
String
>
fields
)
{
if
(
getWriteability_MessageID
()
!=
FieldWriteability
.
TRUE
)
{
fields
.
add
(
FIELD_MessageID
);
}
if
(
getWriteability_TemplateName
()
!=
FieldWriteability
.
TRUE
)
{
fields
.
add
(
FIELD_TemplateName
);
...
...
@@ -2100,6 +2275,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
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_Subject
.
getAttribObject
(
getClass
(),
_Subject
,
true
,
FIELD_Subject
));
result
.
add
(
HELPER_ApplicationStatus
.
getAttribObject
(
getClass
(),
_ApplicationStatus
,
true
,
FIELD_ApplicationStatus
));
...
...
@@ -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
*/
public
String
getTemplateName
(
MessageTemplate
obj
,
String
original
)
...
...
@@ -2354,6 +2548,10 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
public
PipeLine
<
From
,
?
extends
Object
>
to
(
String
name
)
{
if
(
name
.
equals
(
"MessageID"
))
{
return
toMessageID
();
}
if
(
name
.
equals
(
"TemplateName"
))
{
return
toTemplateName
();
...
...
@@ -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
>
toSubject
()
{
return
pipe
(
new
ORMAttributePipe
<
Me
,
String
>(
FIELD_Subject
));
}
...
...
cmsWebApp/src/performa/orm/Candidate.java
View file @
1bd22d83
...
...
@@ -13,6 +13,7 @@ import oneit.objstore.ObjectTransaction;
import
oneit.objstore.rdbms.filters.EqualsFilter
;
import
oneit.objstore.rdbms.filters.IsNotNullFilter
;
import
oneit.objstore.utils.ObjstoreUtils
;
import
oneit.security.SecUser
;
import
oneit.servlets.objstore.MessageSourceDecorator
;
import
oneit.servlets.process.ORMProcessState
;
import
oneit.utils.BusinessException
;
...
...
@@ -200,4 +201,19 @@ public class Candidate extends BaseCandidate
{
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
cmsWebApp/src/performa/orm/HiringTeam.xml
View file @
1bd22d83
...
...
@@ -46,6 +46,7 @@
<ATTRIB
name=
"LastPlanAmount"
type=
"Double"
dbcol=
"last_plan_amount"
/>
<ATTRIB
name=
"GoogleAddressText"
type=
"String"
dbcol=
"google_address_text"
length=
"300"
/>
<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=
"BilledByTeam"
type=
"HiringTeam"
dbcol=
"billing_team_id"
mandatory=
"false"
backreferenceName=
"BillingTeams"
/>
...
...
cmsWebApp/src/performa/orm/HiringTeamPersistenceMgr.java
View file @
1bd22d83
...
...
@@ -56,6 +56,7 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr
private
Double
dummyLastPlanAmount
;
private
String
dummyGoogleAddressText
;
private
Boolean
dummyPlanCancelled
;
private
Integer
dummyMessageID
;
// Static constants corresponding to attribute helpers
...
...
@@ -87,6 +88,7 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr
private
static
final
DefaultAttributeHelper
HELPER_LastPlanAmount
=
DefaultAttributeHelper
.
INSTANCE
;
private
static
final
DefaultAttributeHelper
HELPER_GoogleAddressText
=
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
dummyLastPlanAmount
=
(
Double
)(
HELPER_LastPlanAmount
.
initialise
(
dummyLastPlanAmount
));
dummyGoogleAddressText
=
(
String
)(
HELPER_GoogleAddressText
.
initialise
(
dummyGoogleAddressText
));
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
=
""
;
public
BaseBusinessClass
fetchByID
(
ObjectID
id
,
PersistentSetCollection
allPSets
,
RDBMSPersistenceContext
context
,
SQLManager
sqlMgr
)
throws
SQLException
,
StorageException
...
...
@@ -203,6 +206,7 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr
!
tl_hiring_teamPSet
.
containsAttrib
(
HiringTeam
.
FIELD_LastPlanAmount
)||
!
tl_hiring_teamPSet
.
containsAttrib
(
HiringTeam
.
FIELD_GoogleAddressText
)||
!
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_BilledByTeam
)||
!
tl_hiring_teamPSet
.
containsAttrib
(
HiringTeam
.
SINGLEREFERENCE_AddedByUser
)||
...
...
@@ -297,10 +301,10 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr
{
int
rowsUpdated
=
executeStatement
(
sqlMgr
,
"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
())
+
" "
,
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
)
{
...
...
@@ -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_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_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_BilledByTeam
,
r
.
getObject
(
"billing_team_id"
));
...
...
@@ -648,10 +653,10 @@ public class HiringTeamPersistenceMgr extends ObjectPersistenceMgr
{
executeStatement
(
sqlMgr
,
"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 "
+
" (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "
+
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
());
" (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?,
?, ?, ?, ?, ?, ?, "
+
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
(
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
);
}
...
...
cmsWebApp/src/performa/orm/JobApplication.java
View file @
1bd22d83
...
...
@@ -52,7 +52,11 @@ public class JobApplication extends BaseJobApplication
});
// 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
)
...
...
cmsWebApp/src/performa/orm/JobApplication.xml
View file @
1bd22d83
...
...
@@ -30,6 +30,7 @@
<ATTRIB
name=
"GoogleAddressText"
type=
"String"
dbcol=
"google_address_text"
length=
"300"
/>
<ATTRIB
name=
"PreferRemote"
type=
"Boolean"
dbcol=
"prefer_remote"
defaultValue=
"Boolean.FALSE"
/>
<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=
"Job"
type=
"Job"
dbcol=
"job_id"
backreferenceName=
"JobApplications"
mandatory=
"true"
/>
...
...
cmsWebApp/src/performa/orm/JobApplicationPersistenceMgr.java
View file @
1bd22d83
...
...
@@ -34,6 +34,7 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr
private
String
dummyGoogleAddressText
;
private
Boolean
dummyPreferRemote
;
private
Boolean
dummyHappyToRelocate
;
private
Boolean
dummyIsEmailIngest
;
// Static constants corresponding to attribute helpers
...
...
@@ -44,6 +45,7 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr
private
static
final
DefaultAttributeHelper
HELPER_GoogleAddressText
=
DefaultAttributeHelper
.
INSTANCE
;
private
static
final
DefaultAttributeHelper
HELPER_PreferRemote
=
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
dummyGoogleAddressText
=
(
String
)(
HELPER_GoogleAddressText
.
initialise
(
dummyGoogleAddressText
));
dummyPreferRemote
=
(
Boolean
)(
HELPER_PreferRemote
.
initialise
(
dummyPreferRemote
));
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
=
""
;
public
BaseBusinessClass
fetchByID
(
ObjectID
id
,
PersistentSetCollection
allPSets
,
RDBMSPersistenceContext
context
,
SQLManager
sqlMgr
)
throws
SQLException
,
StorageException
...
...
@@ -118,6 +121,7 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr
!
tl_job_applicationPSet
.
containsAttrib
(
JobApplication
.
FIELD_GoogleAddressText
)||
!
tl_job_applicationPSet
.
containsAttrib
(
JobApplication
.
FIELD_PreferRemote
)||
!
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_Job
))
{
...
...
@@ -209,10 +213,10 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr
{
int
rowsUpdated
=
executeStatement
(
sqlMgr
,
"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
())
+
" "
,
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
)
{
...
...
@@ -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_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_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_Job
,
r
.
getObject
(
"job_id"
));
...
...
@@ -614,10 +619,10 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr
{
executeStatement
(
sqlMgr
,
"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 "
+
" (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "
+
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
());
" (?, ?, ?, ?, ?, ?, ?,
?,
?, ?, ?, "
+
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
(
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
);
}
...
...
cmsWebApp/src/performa/orm/MessageTemplate.xml
View file @
1bd22d83
...
...
@@ -6,6 +6,7 @@
<IMPORT
value=
"performa.orm.*"
/>
<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=
"Subject"
type=
"String"
dbcol=
"subject"
mandatory=
"true"
length=
"200"
/>
<ATTRIB
name=
"ApplicationStatus"
type=
"ApplicationStatus"
dbcol=
"application_status"
mandatory=
"true"
defaultValue=
"ApplicationStatus.DRAFT"
attribHelper=
"EnumeratedAttributeHelper"
/>
...
...
cmsWebApp/src/performa/orm/MessageTemplatePersistenceMgr.java
View file @
1bd22d83
...
...
@@ -28,6 +28,7 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr
private
static
final
LoggingArea
MessageTemplatePersistence
=
LoggingArea
.
createLoggingArea
(
ObjectPersistenceMgr
.
OBJECT_PERSISTENCE
,
"MessageTemplate"
);
// Private attributes corresponding to business object data
private
Integer
dummyMessageID
;
private
String
dummyTemplateName
;
private
String
dummySubject
;
private
ApplicationStatus
dummyApplicationStatus
;
...
...
@@ -39,6 +40,7 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr
// 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_Subject
=
DefaultAttributeHelper
.
INSTANCE
;
private
static
final
EnumeratedAttributeHelper
HELPER_ApplicationStatus
=
new
EnumeratedAttributeHelper
(
ApplicationStatus
.
FACTORY_ApplicationStatus
);
...
...
@@ -53,6 +55,7 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr
public
MessageTemplatePersistenceMgr
()
{
dummyMessageID
=
(
Integer
)(
HELPER_MessageID
.
initialise
(
dummyMessageID
));
dummyTemplateName
=
(
String
)(
HELPER_TemplateName
.
initialise
(
dummyTemplateName
));
dummySubject
=
(
String
)(
HELPER_Subject
.
initialise
(
dummySubject
));
dummyApplicationStatus
=
(
ApplicationStatus
)(
HELPER_ApplicationStatus
.
initialise
(
dummyApplicationStatus
));
...
...
@@ -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
=
""
;
public
BaseBusinessClass
fetchByID
(
ObjectID
id
,
PersistentSetCollection
allPSets
,
RDBMSPersistenceContext
context
,
SQLManager
sqlMgr
)
throws
SQLException
,
StorageException
...
...
@@ -115,6 +118,7 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr
// Check for persistent sets already prefetched
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_Subject
)||
!
tl_message_templatePSet
.
containsAttrib
(
MessageTemplate
.
FIELD_ApplicationStatus
)||
...
...
@@ -192,10 +196,10 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr
{
int
rowsUpdated
=
executeStatement
(
sqlMgr
,
"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
())
+
" "
,
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
)
{
...
...
@@ -451,6 +455,7 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr
// Object Created
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_Subject
,
HELPER_Subject
.
getFromRS
(
dummySubject
,
r
,
"subject"
));
tl_message_templatePSet
.
setAttrib
(
MessageTemplate
.
FIELD_ApplicationStatus
,
HELPER_ApplicationStatus
.
getFromRS
(
dummyApplicationStatus
,
r
,
"application_status"
));
...
...
@@ -476,10 +481,10 @@ public class MessageTemplatePersistenceMgr extends ObjectPersistenceMgr
{
executeStatement
(
sqlMgr
,
"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 "
+
" (?, ?, ?, ?, ?, ?, ?, ?, ?, "
+
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
());
" (?, ?, ?, ?, ?, ?, ?, ?,
?,
?, "
+
sqlMgr
.
getPortabilityServices
().
getTimestampExpression
()
+
", "
+
sqlMgr
.
getPortabilityServices
().
getTimestampExpression
()
+
")"
,
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
);
}
...
...
cmsWebApp/src/performa/utils/PerformaEmailFetcher.java
View file @
1bd22d83
...
...
@@ -6,6 +6,7 @@ import javax.mail.*;
import
javax.mail.internet.*
;
import
javax.mail.search.*
;
import
oneit.appservices.config.ConfigMgr
;
import
oneit.appservices.documents.HTML2PDF
;
import
oneit.components.*
;
import
oneit.email.EmailFetcher
;
import
oneit.logging.*
;
...
...
@@ -14,6 +15,9 @@ import oneit.objstore.services.*;
import
oneit.security.SecUser
;
import
oneit.utils.*
;
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.types.ApplicationStatus
;
...
...
@@ -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
ACC_USER_NAME
=
ConfigMgr
.
getKeyfileString
(
"imap.email.acc.username"
);
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"
,
tru
e
);
private
static
final
boolean
SYNC_ALL_EXISTING_EMAILS
=
ConfigMgr
.
getKeyfileBoolean
(
"sync.all.existing.emails"
,
fals
e
);
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"
);
...
...
@@ -234,6 +238,7 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant
String
tmpRecipient
=
null
;
String
tmpJobId
=
null
;
String
tmpMessageID
=
null
;
String
tmpMessageBody
=
null
;
List
<
FileBinaryContent
>
tmpContents
;
...
...
@@ -247,6 +252,7 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant
final
String
emailText
;
final
String
jobIdentifier
;
final
String
messageID
;
final
String
messageBody
;
final
List
<
FileBinaryContent
>
contents
;
try
...
...
@@ -293,6 +299,7 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant
tmpEmailText
=
EmailFetcher
.
getText
(
message
,
new
ArrayList
<>());
tmpContents
=
getAttachments
(
message
);
tmpMessageBody
=
EmailFetcher
.
getText
(
message
,
new
ArrayList
());
}
catch
(
MessagingException
|
IOException
ex
)
{
...
...
@@ -311,6 +318,7 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant
contents
=
tmpContents
;
emailText
=
tmpEmailText
;
messageID
=
tmpMessageID
;
messageBody
=
tmpMessageBody
;
try
{
...
...
@@ -376,7 +384,8 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant
JobApplication
jobApplication
=
JobApplication
.
createNewApplication
(
candidate
,
job
);
jobApplication
.
setApplicationStatus
(
ApplicationStatus
.
POST_INGEST
);
jobApplication
.
setIsEmailIngest
(
true
);
if
(
contents
.
size
()
>
0
)
{
jobApplication
.
setCV
(
contents
.
get
(
0
));
...
...
@@ -427,12 +436,28 @@ public class PerformaEmailFetcher implements Runnable, InitialisationParticipant
JobApplication
jobApplication
=
JobApplication
.
createNewApplication
(
candidate
,
job
);
jobApplication
.
setApplicationStatus
(
ApplicationStatus
.
POST_INGEST
);
jobApplication
.
setIsEmailIngest
(
true
);
if
(
contents
.
size
()
>
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
...
...
cmsWebApp/webroot/extensions/adminportal/inc/htmlheader.jsp
View file @
1bd22d83
...
...
@@ -80,6 +80,12 @@
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
");
}
...
...
cmsWebApp/webroot/extensions/adminportal/inc/incomplete_applicants_list.jsp
View file @
1bd22d83
...
...
@@ -80,7 +80,7 @@
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).mapEntry("Applications", applications).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>
...
...
cmsWebApp/webroot/extensions/adminportal/messages/fieldnamesOverride.txt
View file @
1bd22d83
...
...
@@ -54,3 +54,4 @@ HiringTeam.HiringTeamLogo = Hiring Team Logo
HiringTeam.HiringTeamType = Hiring Team Type
HiringTeam.HiringTeamName = Hiring Team Name
HiringTeam.BilledByTeam = Billing Team
HiringTeam.MessageID = Message ID
cmsWebApp/webroot/extensions/adminportal/my_company.jsp
View file @
1bd22d83
...
...
@@ -97,7 +97,7 @@
PopupAlert.close();
}else{
PopupAlert.setContent($("#force-to-choose-popup"));
PopupAlert.open();
PopupAlert.open();
return false;
}
...
...
@@ -246,6 +246,16 @@
</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)
{
%>
...
...
cmsWebApp/webroot/extensions/adminportal/upgrades/20190521_Alter_JobApplication.xml
0 → 100644
View file @
1bd22d83
<?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
cmsWebApp/webroot/extensions/adminportal/upgrades/20190522_Update_JobApplication.sql
0 → 100644
View file @
1bd22d83
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
cmsWebApp/webroot/extensions/applicantportal/CustomServlets_applicantPortal.xml
View file @
1bd22d83
...
...
@@ -4,6 +4,7 @@
<NODE
name=
"dynamic_content_form::APPLICANT_PORTAL"
factory=
"Participant"
>
<FORM
name=
"*.signIn"
factory=
"Participant"
class=
"performa.form.SignInCandidateFP"
/>
<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=
"*.validateApplication"
factory=
"Participant"
class=
"performa.form.ValidateApplicationFP"
/>
<FORM
name=
"*.saveAndExitExperienece"
factory=
"Participant"
class=
"performa.form.SaveAndExitExperienceFP"
/>
...
...
cmsWebApp/webroot/extensions/applicantportal/GeneralConfig_applicantPortal.xml
View file @
1bd22d83
...
...
@@ -25,6 +25,7 @@
<RenderMode
name=
"Page"
preIncludeJSP=
"extensions/applicantportal/job_overview.jsp"
/>
<RenderMode
name=
"SignIn"
preIncludeJSP=
"extensions/applicantportal/sign_in.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=
"ForgotPassword"
preIncludeJSP=
"extensions/applicantportal/forgot_password.jsp"
/>
<RenderMode
name=
"ResetPassword"
preIncludeJSP=
"extensions/applicantportal/reset_password.jsp"
/>
...
...
cmsWebApp/webroot/extensions/applicantportal/forgot_password.jsp
View file @
1bd22d83
...
...
@@ -45,6 +45,7 @@
ORMProcessState process = (ORMProcessState) ProcessDecorator.getDefaultProcess(request);
ObjectTransaction objTran = process.getTransaction ();
Job job = (Job) process.getAttribute("Job");
SecUser secUser = (SecUser) process.getAttribute("User");
String id = request.getParameter("id");
String key = request.getParameter("key");
...
...
@@ -55,6 +56,11 @@
}
Debug.assertion(job != null, "Invalid job in applicant portal");
if(secUser != null)
{
job.setEmail(secUser.getEmail());
}
%>
<div class="main-verify-identity">
<div class="login-logo"><img src="<%= request.getContextPath() %>/images/logo.png" /></div>
...
...
cmsWebApp/webroot/extensions/applicantportal/job_overview.jsp
View file @
1bd22d83
...
...
@@ -32,7 +32,11 @@
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");
}
...
...
cmsWebApp/webroot/extensions/applicantportal/masked_identity.jsp
0 → 100644
View file @
1bd22d83
<%@ 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>
cmsWebApp/webroot/extensions/applicantportal/verify_identity.jsp
View file @
1bd22d83
...
...
@@ -163,7 +163,7 @@
<div class="form-group text-left">
<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"/>
...
...
@@ -201,7 +201,6 @@
<label>Confirm password</label>
<oneit:input type="password" name="<%= passkey + 2 %>" class="form-control second-style reset-pw"/>
</div>
<%
}
%>
...
...
@@ -224,7 +223,7 @@
{
%>
<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">
<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" : "" %>
...
...
@@ -234,7 +233,7 @@
</div>
</div>
<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">
<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" : "" %>
...
...
cmsWebApp/webroot/extensions/performa/editMessageTemplate.jsp
View file @
1bd22d83
...
...
@@ -53,6 +53,15 @@
<oneit:skin tagName="layout_row">
<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:layout_label>
<oneit:layout_field width="1">
...
...
cmsWebApp/webroot/extensions/performa/messages/fieldnamesOverride.txt
View file @
1bd22d83
...
...
@@ -3,4 +3,5 @@ MessageTemplate.ApplicationStatus = Application Status
MessageTemplate.MessageContent = Message Content
MessageTemplate.PlaceholderVariable = Placeholder Variable
MessageTemplate.DelayHrs = Delay
MessageTemplate.TemplateName = Template Name
\ No newline at end of file
MessageTemplate.TemplateName = Template Name
MessageTemplate.MessageID = Message ID
\ No newline at end of file
cmsWebApp/webroot/extensions/performa/upgrades/20190527_Alter_HiringTeam.xml
0 → 100644
View file @
1bd22d83
<?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
cmsWebApp/webroot/extensions/performa/upgrades/20190527_Alter_MessageTemplate.xml
0 → 100644
View file @
1bd22d83
<?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
cmsWebApp/webroot/extensions/performa/upgrades/20190527_Update_MessageTemplate.sql
0 → 100644
View file @
1bd22d83
UPDATE
tl_message_template
SET
message_id
=
1
WHERE
message_id
IS
NULL
;
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment