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
5967759c
Commit
5967759c
authored
Aug 16, 2017
by
chenith
Committed by
Harsh Shah
Sep 06, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Email authentication updated, proceed verification request.
parent
11bb67ca
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
292 additions
and
209 deletions
+292
-209
ResetPasswordFP.java
cmsWebApp/src/performa/form/ResetPasswordFP.java
+0
-65
SendVerificationMailFP.java
cmsWebApp/src/performa/form/SendVerificationMailFP.java
+2
-3
VerifyIdentityFP.java
cmsWebApp/src/performa/form/VerifyIdentityFP.java
+48
-1
Job.java
cmsWebApp/src/performa/orm/Job.java
+1
-1
WebUtils.java
cmsWebApp/src/performa/utils/WebUtils.java
+1
-0
common.css
cmsWebApp/webroot/css/common.css
+1
-1
CustomServlets_applicantPortal.xml
...nsions/applicantportal/CustomServlets_applicantPortal.xml
+0
-1
GeneralConfig_applicantPortal.xml
...ensions/applicantportal/GeneralConfig_applicantPortal.xml
+13
-2
application_outline.jsp
...ebroot/extensions/applicantportal/application_outline.jsp
+16
-9
auth_error.jsp
cmsWebApp/webroot/extensions/applicantportal/auth_error.jsp
+8
-0
sign_in.jsp
cmsWebApp/webroot/extensions/applicantportal/sign_in.jsp
+34
-113
20170814_CMSExtract_AccountVerification.cms.xml
.../upgrades/20170814_CMSExtract_AccountVerification.cms.xml
+64
-0
verify_identity.jsp
...pp/webroot/extensions/applicantportal/verify_identity.jsp
+104
-13
No files found.
cmsWebApp/src/performa/form/ResetPasswordFP.java
deleted
100644 → 0
View file @
11bb67ca
package
performa
.
form
;
import
java.util.Map
;
import
javax.servlet.http.HttpServletRequest
;
import
oneit.logging.LogLevel
;
import
oneit.logging.LogMgr
;
import
oneit.objstore.StorageException
;
import
oneit.objstore.parser.BusinessObjectParser
;
import
oneit.security.*
;
import
oneit.servlets.forms.*
;
import
oneit.servlets.process.*
;
import
oneit.servlets.security.SessionSecUserDecorator
;
import
oneit.utils.*
;
import
performa.orm.Candidate
;
import
performa.orm.Job
;
import
performa.orm.JobApplication
;
public
class
ResetPasswordFP
extends
ORMProcessFormProcessor
{
@Override
public
SuccessfulResult
processForm
(
ORMProcessState
process
,
SubmissionDetails
submission
,
Map
params
)
throws
BusinessException
,
StorageException
{
HttpServletRequest
request
=
submission
.
getRequest
();
Job
job
=
(
Job
)
request
.
getAttribute
(
"Job"
);
Candidate
candidate
=
(
Candidate
)
request
.
getAttribute
(
"NewCandidate"
);
String
nextPage
=
(
String
)
request
.
getAttribute
(
"nextPage"
);
LogMgr
.
log
(
JobApplication
.
LOG
,
LogLevel
.
PROCESSING1
,
"Inside ResetPasswordFP for "
,
job
,
candidate
);
SecUser
secUser
=
candidate
.
getUser
();
if
(
CollectionUtils
.
equals
(
job
.
getPassword
(),
job
.
getConfirmPassword
()))
{
secUser
.
setAttribute
(
"md5:"
+
SecUser
.
FIELD_Password
,
job
.
getPassword
());
candidate
.
setIsAccountVerified
(
Boolean
.
TRUE
);
}
request
.
getSession
().
setAttribute
(
SecUser
.
SEC_USER_ID
,
secUser
);
request
.
getSession
().
setAttribute
(
SessionSecUserDecorator
.
REFRESH_SECURITY
,
Boolean
.
TRUE
);
process
.
completeAndRestart
();
process
.
setAttributeIgnoreTX
(
"Job"
,
job
);
return
new
ProcessRedirectResult
(
nextPage
,
new
String
[
0
]);
}
@Override
public
void
validate
(
ORMProcessState
process
,
SubmissionDetails
submission
,
MultiException
exceptions
,
Map
params
)
throws
StorageException
{
HttpServletRequest
request
=
submission
.
getRequest
();
Job
job
=
(
Job
)
request
.
getAttribute
(
"Job"
);
Candidate
candidate
=
(
Candidate
)
request
.
getAttribute
(
"NewCandidate"
);
if
(
candidate
!=
null
)
{
BusinessObjectParser
.
assertFieldCondition
(
job
.
getPassword
()!=
null
,
job
,
Job
.
FIELD_Password
,
"mandatory"
,
exceptions
,
true
,
request
);
BusinessObjectParser
.
assertFieldCondition
(
job
.
getConfirmPassword
()!=
null
,
job
,
Job
.
FIELD_ConfirmPassword
,
"mandatory"
,
exceptions
,
true
,
request
);
BusinessObjectParser
.
assertFieldCondition
(
CollectionUtils
.
equals
(
job
.
getPassword
(),
job
.
getConfirmPassword
()),
job
,
Job
.
FIELD_ConfirmPassword
,
"passwordNotMatch"
,
exceptions
,
true
,
request
);
}
super
.
validate
(
process
,
submission
,
exceptions
,
params
);
}
}
cmsWebApp/src/performa/form/SendVerificationMailFP.java
View file @
5967759c
...
@@ -95,7 +95,7 @@ public class SendVerificationMailFP extends SaveFP
...
@@ -95,7 +95,7 @@ public class SendVerificationMailFP extends SaveFP
{
{
LogMgr
.
log
(
LOG
,
LogLevel
.
PROCESSING1
,
"Sending verification mail from SendVerificationMailFP to :: "
,
candidate
);
LogMgr
.
log
(
LOG
,
LogLevel
.
PROCESSING1
,
"Sending verification mail from SendVerificationMailFP to :: "
,
candidate
);
Article
verificationArticle
=
WebUtils
.
getArticleByShortCut
(
candidate
.
getTransaction
(),
WebUtils
.
APPL
Y_JOB
);
Article
verificationArticle
=
WebUtils
.
getArticleByShortCut
(
candidate
.
getTransaction
(),
WebUtils
.
APPL
ICANT_ACCOUNT_VERIFICATION
);
RandomStringGen
random
=
new
RandomStringGen
();
RandomStringGen
random
=
new
RandomStringGen
();
//set verification key and send mail time
//set verification key and send mail time
...
@@ -104,8 +104,7 @@ public class SendVerificationMailFP extends SaveFP
...
@@ -104,8 +104,7 @@ public class SendVerificationMailFP extends SaveFP
String
link
=
LoopbackHTTP
.
getRemoteAccessURL
(
request
)
String
link
=
LoopbackHTTP
.
getRemoteAccessURL
(
request
)
+
verificationArticle
.
getLink
(
request
,
CollectionUtils
.
EMPTY_MAP
,
"/"
)
+
verificationArticle
.
getLink
(
request
,
CollectionUtils
.
EMPTY_MAP
,
"/"
)
+
"?cms%2Erm=SignIn"
+
"?id="
+
job
.
getID
()
+
"&id="
+
job
.
getID
()
+
"&key="
+
job
.
getRandomKey
()
+
"&key="
+
job
.
getRandomKey
()
+
"&aid="
+
candidate
.
getID
()
+
"&aid="
+
candidate
.
getID
()
+
"&pin="
+
candidate
.
getVerificationKey
();
+
"&pin="
+
candidate
.
getVerificationKey
();
...
...
cmsWebApp/src/performa/form/VerifyIdentityFP.java
View file @
5967759c
...
@@ -3,22 +3,26 @@ package performa.form;
...
@@ -3,22 +3,26 @@ package performa.form;
import
java.util.Map
;
import
java.util.Map
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
oneit.logging.*
;
import
oneit.logging.*
;
import
oneit.objstore.StorageException
;
import
oneit.objstore.parser.BusinessObjectParser
;
import
oneit.objstore.parser.BusinessObjectParser
;
import
oneit.security.SecUser
;
import
oneit.security.SecUser
;
import
oneit.servlets.forms.*
;
import
oneit.servlets.forms.*
;
import
oneit.servlets.process.*
;
import
oneit.servlets.process.*
;
import
oneit.servlets.security.SessionSecUserDecorator
;
import
oneit.utils.*
;
import
oneit.utils.*
;
import
performa.orm.*
;
import
performa.orm.*
;
public
class
VerifyIdentityFP
extends
SaveFP
public
class
VerifyIdentityFP
extends
ORMProcessFormProcessor
{
{
private
static
LoggingArea
LOG
=
LoggingArea
.
createLoggingArea
(
"VerifyIdentity"
);
private
static
LoggingArea
LOG
=
LoggingArea
.
createLoggingArea
(
"VerifyIdentity"
);
@Override
@Override
protected
Map
validate
(
SubmissionDetails
submission
,
MultiException
exceptions
)
protected
Map
validate
(
SubmissionDetails
submission
,
MultiException
exceptions
)
{
{
HttpServletRequest
request
=
submission
.
getRequest
();
HttpServletRequest
request
=
submission
.
getRequest
();
Boolean
isVerify
=
CollectionUtils
.
equals
(
request
.
getAttribute
(
"isVerify"
),
Boolean
.
TRUE
);
Job
job
=
(
Job
)
request
.
getAttribute
(
"Job"
);
Job
job
=
(
Job
)
request
.
getAttribute
(
"Job"
);
Candidate
candidate
=
(
Candidate
)
request
.
getAttribute
(
"Candidate"
);
Candidate
candidate
=
(
Candidate
)
request
.
getAttribute
(
"Candidate"
);
SecUser
secUser
=
candidate
.
getUser
();
SecUser
secUser
=
candidate
.
getUser
();
...
@@ -31,6 +35,48 @@ public class VerifyIdentityFP extends SaveFP
...
@@ -31,6 +35,48 @@ public class VerifyIdentityFP extends SaveFP
BusinessObjectParser
.
assertFieldCondition
(
secUser
.
getFirstName
()
!=
null
,
secUser
,
SecUser
.
FIELD_FirstName
,
"mandatory"
,
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
);
BusinessObjectParser
.
assertFieldCondition
(
secUser
.
getLastName
()
!=
null
,
secUser
,
SecUser
.
FIELD_LastName
,
"mandatory"
,
exceptions
,
true
,
request
);
if
(
isVerify
)
{
BusinessObjectParser
.
assertFieldCondition
(
job
.
getPassword
()!=
null
,
job
,
Job
.
FIELD_Password
,
"mandatory"
,
exceptions
,
true
,
request
);
BusinessObjectParser
.
assertFieldCondition
(
job
.
getConfirmPassword
()!=
null
,
job
,
Job
.
FIELD_ConfirmPassword
,
"mandatory"
,
exceptions
,
true
,
request
);
BusinessObjectParser
.
assertFieldCondition
(
CollectionUtils
.
equals
(
job
.
getPassword
(),
job
.
getConfirmPassword
()),
job
,
Job
.
FIELD_ConfirmPassword
,
"passwordNotMatch"
,
exceptions
,
true
,
request
);
}
return
super
.
validate
(
submission
,
exceptions
);
return
super
.
validate
(
submission
,
exceptions
);
}
}
@Override
public
SuccessfulResult
processForm
(
ORMProcessState
process
,
SubmissionDetails
submission
,
Map
params
)
throws
BusinessException
,
StorageException
{
HttpServletRequest
request
=
submission
.
getRequest
();
Boolean
isVerify
=
CollectionUtils
.
equals
(
request
.
getAttribute
(
"isVerify"
),
Boolean
.
TRUE
);
Job
job
=
(
Job
)
request
.
getAttribute
(
"Job"
);
String
nextPage
=
(
String
)
request
.
getAttribute
(
"nextPage"
);
if
(
isVerify
)
{
Candidate
candidate
=
(
Candidate
)
request
.
getAttribute
(
"Candidate"
);
SecUser
secUser
=
candidate
.
getUser
();
LogMgr
.
log
(
LOG
,
LogLevel
.
PROCESSING1
,
"Verifing User"
,
job
,
secUser
);
if
(
CollectionUtils
.
equals
(
job
.
getPassword
(),
job
.
getConfirmPassword
()))
{
secUser
.
setAttribute
(
"md5:"
+
SecUser
.
FIELD_Password
,
job
.
getPassword
());
candidate
.
setIsAccountVerified
(
Boolean
.
TRUE
);
request
.
getSession
().
setAttribute
(
SecUser
.
SEC_USER_ID
,
secUser
);
request
.
getSession
().
setAttribute
(
SessionSecUserDecorator
.
REFRESH_SECURITY
,
Boolean
.
TRUE
);
// request.setAttribute("nextPage", nextPage + "&JobID=" + job.getObjectID());
LogMgr
.
log
(
LOG
,
LogLevel
.
PROCESSING1
,
"Password resetted"
,
job
,
secUser
);
}
}
process
.
completeAndRestart
();
return
new
ProcessRedirectResult
(
nextPage
+
"&JobID="
+
job
.
getObjectID
(),
new
String
[
0
]);
}
}
}
\ No newline at end of file
cmsWebApp/src/performa/orm/Job.java
View file @
5967759c
...
@@ -404,7 +404,7 @@ public class Job extends BaseJob
...
@@ -404,7 +404,7 @@ public class Job extends BaseJob
{
{
if
(
getEmail
()!=
null
)
if
(
getEmail
()!=
null
)
{
{
SecUser
user
=
SecUser
.
searchNAME
(
getTransaction
(),
getEmail
());
SecUser
user
=
SecUser
.
searchNAME
(
getTransaction
(),
getEmail
()
.
toLowerCase
()
);
if
(
user
!=
null
&&
user
.
getExtension
(
Candidate
.
REFERENCE_Candidate
)!=
null
)
if
(
user
!=
null
&&
user
.
getExtension
(
Candidate
.
REFERENCE_Candidate
)!=
null
)
{
{
...
...
cmsWebApp/src/performa/utils/WebUtils.java
View file @
5967759c
...
@@ -38,6 +38,7 @@ public class WebUtils
...
@@ -38,6 +38,7 @@ public class WebUtils
public
static
final
String
APPLICANTS_GRID
=
"ApplicantsGrid"
;
public
static
final
String
APPLICANTS_GRID
=
"ApplicantsGrid"
;
public
static
final
String
VIEW_APPLICATION
=
"ViewApplication"
;
public
static
final
String
VIEW_APPLICATION
=
"ViewApplication"
;
public
static
final
String
UNSUITABLE_APPS
=
"UnsuitableApps"
;
public
static
final
String
UNSUITABLE_APPS
=
"UnsuitableApps"
;
public
static
final
String
APPLICANT_ACCOUNT_VERIFICATION
=
"ApplicantAccountVerification"
;
public
static
String
getArticleLink
(
HttpServletRequest
request
,
ObjectTransaction
objTran
,
String
articleShortcut
,
String
renderMode
)
public
static
String
getArticleLink
(
HttpServletRequest
request
,
ObjectTransaction
objTran
,
String
articleShortcut
,
String
renderMode
)
...
...
cmsWebApp/webroot/css/common.css
View file @
5967759c
...
@@ -4389,7 +4389,7 @@ img.alert-icon {float: left;}
...
@@ -4389,7 +4389,7 @@ img.alert-icon {float: left;}
.main-export
{
text-align
:
center
;}
.main-export
{
text-align
:
center
;}
.appli-name
,
.appli-applied
{
text-align
:
center
;}
.appli-name
,
.appli-applied
{
text-align
:
center
;}
.appli-applied
{
margin-bottom
:
15px
;}
.appli-applied
{
margin-bottom
:
15px
;}
.main-verify-identity
{
width
:
100%
;
padding
:
0
30px
;}
.main-verify-identity
{
width
:
100%
;
padding
:
0
30px
;
margin-bottom
:
80px
;
}
.pl-confirm
{
font-size
:
12px
;
margin
:
29px
0
25px
;}
.pl-confirm
{
font-size
:
12px
;
margin
:
29px
0
25px
;}
.main-box-layout.main-verify-step-2
{
padding
:
28px
30px
29px
;}
.main-box-layout.main-verify-step-2
{
padding
:
28px
30px
29px
;}
.main-box-layout.login-box
{
padding
:
28px
30px
29px
;}
.main-box-layout.login-box
{
padding
:
28px
30px
29px
;}
...
...
cmsWebApp/webroot/extensions/applicantportal/CustomServlets_applicantPortal.xml
View file @
5967759c
...
@@ -11,7 +11,6 @@
...
@@ -11,7 +11,6 @@
<FORM
name=
"*.sendVerificationMail"
factory=
"Participant"
class=
"performa.form.SendVerificationMailFP"
>
<FORM
name=
"*.sendVerificationMail"
factory=
"Participant"
class=
"performa.form.SendVerificationMailFP"
>
<AccountVerificationEmailer
factory=
"Participant"
class=
"oneit.email.ConfigurableArticleTemplateEmailer"
templateShortcut=
"AccountVerificationMail"
/>
<AccountVerificationEmailer
factory=
"Participant"
class=
"oneit.email.ConfigurableArticleTemplateEmailer"
templateShortcut=
"AccountVerificationMail"
/>
</FORM>
</FORM>
<FORM
name=
"*.resetPassword"
factory=
"Participant"
class=
"performa.form.ResetPasswordFP"
/>
</NODE>
</NODE>
...
...
cmsWebApp/webroot/extensions/applicantportal/GeneralConfig_applicantPortal.xml
View file @
5967759c
...
@@ -29,14 +29,25 @@
...
@@ -29,14 +29,25 @@
</MAP>
</MAP>
<MAP
value=
"APPLICANT_ACCOUNT_VERIFICATION"
description=
"Applicant Account Verification"
TemplatePage=
"dynamic_content_form.jsp"
>
<NODE
name=
"Config"
factory=
"Participant"
class=
"oneit.business.content.ArticleConfiguration"
>
<INHERITS
nodename=
"StandardJSP"
/>
<RenderMode
name=
"Page"
preIncludeJSP=
"extensions/applicantportal/verify_identity.jsp"
/>
<RenderMode
name=
"AuthError"
preIncludeJSP=
"extensions/applicantportal/auth_error.jsp"
/>
</NODE>
</MAP>
<MAP
value=
"JOB_APLICATION"
description=
"Job Application"
TemplatePage=
"dynamic_content_form_applicant.jsp"
>
<MAP
value=
"JOB_APLICATION"
description=
"Job Application"
TemplatePage=
"dynamic_content_form_applicant.jsp"
>
<NODE
name=
"Config"
factory=
"Participant"
class=
"oneit.business.content.ArticleConfiguration"
>
<NODE
name=
"Config"
factory=
"Participant"
class=
"oneit.business.content.ArticleConfiguration"
>
<INHERITS
nodename=
"StandardJSP"
/>
<INHERITS
nodename=
"StandardJSP"
/>
<RenderMode
name=
"Page"
preIncludeJSP=
"extensions/applicantportal/verify_identity.jsp"
/>
<RenderMode
name=
"Page"
preIncludeJSP=
"extensions/applicantportal/application_outline.jsp"
/>
<RenderMode
name=
"ApplicationOutline"
preIncludeJSP=
"extensions/applicantportal/application_outline.jsp"
/>
<RenderMode
name=
"SelectionCriteria"
preIncludeJSP=
"extensions/applicantportal/selection_criteria.jsp"
/>
<RenderMode
name=
"SelectionCriteria"
preIncludeJSP=
"extensions/applicantportal/selection_criteria.jsp"
/>
<RenderMode
name=
"WorkplaceCulture"
preIncludeJSP=
"extensions/applicantportal/workplace_culture.jsp"
/>
<RenderMode
name=
"WorkplaceCulture"
preIncludeJSP=
"extensions/applicantportal/workplace_culture.jsp"
/>
<RenderMode
name=
"JobMatchAssessment"
preIncludeJSP=
"extensions/applicantportal/job_match_assessment.jsp"
/>
<RenderMode
name=
"JobMatchAssessment"
preIncludeJSP=
"extensions/applicantportal/job_match_assessment.jsp"
/>
...
...
cmsWebApp/webroot/extensions/applicantportal/application_outline.jsp
View file @
5967759c
...
@@ -7,29 +7,36 @@
...
@@ -7,29 +7,36 @@
<oneit:dynIncluded>
<oneit:dynIncluded>
<div class="main-application-outline">
<div class="main-application-outline">
<%
<%
ObjectTransaction objTran = process.getTransaction ();
ObjectTransaction objTran = process.getTransaction ();
String nextPage = WebUtils.getSamePageInRenderMode(request, "SelectionCriteria");
String nextPage = WebUtils.getSamePageInRenderMode(request, "SelectionCriteria");
Job job = (Job) process.getAttribute("Job");
Candidate candidate = Utils.getCandidateUser(transaction);
boolean toRedirect = GenericObjDF.getOrCreateObject (request, "Job", Job.REFERENCE_Job);
JobApplication jobApplication = JobApplication.searchCandidateJob(objTran, candidate, job);
Job job = (Job) process.getAttribute("Job");
Debug.assertion(job != null && !toRedirect, "Invalid job in applicant portal");
SecUser secUser = SecUser.getTXUser(transaction);
Candidate candidate = secUser.getExtension(Candidate.REFERENCE_Candidate);
Debug.assertion(candidate != null, "Invalid candidate in applicant portal");
JobApplication jobApplication = JobApplication.searchCandidateJob(objTran, candidate, job);
if(jobApplication == null)
if(jobApplication == null)
{
{
jobApplication = JobApplication.createNewApplication(candidate, job);
jobApplication =
JobApplication.createNewApplication(candidate, job);
}
}
if(!jobApplication.isIncludeAssessmentCriteria())
if(!jobApplication.isIncludeAssessmentCriteria())
{
{
nextPage = WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture");
nextPage =
WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture");
}
}
Boolean isSelectionComplete = jobApplication.selectionCompleted();
Boolean isSelectionComplete = jobApplication.selectionCompleted();
Boolean isCultureComplete = jobApplication.cultureCompleted();
Boolean isCultureComplete = jobApplication.cultureCompleted();
Boolean isAssesmentComplete = jobApplication.assessmentCompleted();
Boolean isAssesmentComplete = jobApplication.assessmentCompleted();
process.setAttribute("JobApplication", jobApplication);
process.setAttribute("JobApplication", jobApplication);
%>
%>
<div class="welcome-aust-logo"><img src="images/australia-post.png" /></div>
<div class="welcome-aust-logo"><img src="images/australia-post.png" /></div>
<div class="welcome-title">Welcome <oneit:toString value="<%= candidate.getFirstName() %>"/>, here's your application outline</div>
<div class="welcome-title">Welcome <oneit:toString value="<%= candidate.getFirstName() %>"/>, here's your application outline</div>
...
...
cmsWebApp/webroot/extensions/applicantportal/auth_error.jsp
0 → 100644
View file @
5967759c
<%@ page extends="oneit.servlets.jsp.JSPInclude" %>
<oneit:dynIncluded>
<div style="width: 50%; margin: 0px auto 0px auto; text-align: center">
<h3>Authentication Error</h3>
<p><span>Access expired.</span></p>
</div>
</oneit:dynIncluded>
cmsWebApp/webroot/extensions/applicantportal/sign_in.jsp
View file @
5967759c
...
@@ -16,31 +16,6 @@
...
@@ -16,31 +16,6 @@
job = Job.getJobByID(transaction, Long.parseLong((String) request.getParameter("JobID")));
job = Job.getJobByID(transaction, Long.parseLong((String) request.getParameter("JobID")));
}
}
//to process candidate verification
String id = request.getParameter("id");
String key = request.getParameter("key");
String candidateId = request.getParameter("aid");
String pin = request.getParameter("pin");
if(id != null && key != null)
{
job = Job.searchJobKey(transaction, Long.parseLong(id), key);
}
if(candidateId!=null && pin!=null)
{
candidate = Candidate.searchIdPin(transaction, Long.parseLong(candidateId), pin);
if(candidate!=null && candidate.getIsAccountVerified()==Boolean.TRUE)
{
response.setStatus(404);
return;
}
}
process.setAttribute("Job", job);
process.setAttribute("NewCandidate", candidate);
Debug.assertion(job != null, "Job is null in applicant portal");
Debug.assertion(job != null, "Job is null in applicant portal");
%>
%>
<script type="text/javascript">
<script type="text/javascript">
...
@@ -57,23 +32,6 @@
...
@@ -57,23 +32,6 @@
$('.sign-in-btn').attr('disabled', 'disabled');
$('.sign-in-btn').attr('disabled', 'disabled');
}
}
});
});
$('.reset-pw-btn').attr('disabled', 'disabled');
$('.reset-pw').keyup(function() {
var empty = false;
$('input.reset-pw').each(function() {
if ($( this ).val() == '') {
empty = true;
}
});
if(empty) {
$('.reset-pw-btn').attr('disabled', 'disabled');
} else {
$('.reset-pw-btn').removeAttr('disabled');
}
});
});
});
</script>
</script>
<style>
<style>
...
@@ -93,7 +51,7 @@
...
@@ -93,7 +51,7 @@
position: absolute;
position: absolute;
top: 50%;
top: 50%;
right: -14px;
right: -14px;
background-color:
green
;
background-color:
#67b413
;
padding-top: 5px;
padding-top: 5px;
}
}
...
@@ -116,11 +74,6 @@
...
@@ -116,11 +74,6 @@
<oneit:toString value="<%= job.getPageTitle() %>" mode="EscapeHTML"/>
<oneit:toString value="<%= job.getPageTitle() %>" mode="EscapeHTML"/>
</div>
</div>
<div class="main-box-layout verify-i-setpone">
<div class="main-box-layout verify-i-setpone">
<%
if(candidate==null)
{
%>
<!-- <div class="box-label">Sign in using your social network of choice</div>
<!-- <div class="box-label">Sign in using your social network of choice</div>
<ul class="social-login">
<ul class="social-login">
<li><a href="#"><img src="images/login-linkedin-icon.svg"></a></li>
<li><a href="#"><img src="images/login-linkedin-icon.svg"></a></li>
...
@@ -129,73 +82,41 @@
...
@@ -129,73 +82,41 @@
</ul>
</ul>
<div class="box-br-line"><span></span></div>-->
<div class="box-br-line"><span></span></div>-->
<!--<div class="box-label">Or sign in via email</div>-->
<!--<div class="box-label">Or sign in via email</div>-->
<div class="box-label">Sign in via email</div>
<div class="box-label">Sign in via email</div>
<div class="form-group text-left" id="email-div">
<div class="form-group text-left" id="email-div">
<label>Email Address</label>
<label>Email Address</label>
<oneit:ormInput obj="<%= job %>" type="text" attributeName="Email" cssClass="form-control second-style"
/>
<oneit:ormInput obj="<%= job %>" type="text" attributeName="Email" cssClass="form-control second-style" style="text-transform: lowercase"
/>
<oneit:recalcClass htmlTag="div" classScript="job.isEmailFound() ? 'show': 'hide'" job="<%= job %>" class="right-mark">
<oneit:recalcClass htmlTag="div" classScript="job.isEmailFound() ? 'show': 'hide'" job="<%= job %>" class="right-mark">
<span id="right-mark"><img src="images/right-mark.svg"/></span>
<span id="right-mark"><img src="images/right-mark.svg"/></span>
</oneit:recalcClass>
</oneit:recalcClass>
</div>
</div>
<oneit:recalcClass htmlTag="div" classScript="job.isEmailFound() ? 'show': 'hide'" job="<%= job %>">
<oneit:recalcClass htmlTag="div" classScript="job.isEmailFound() ? 'show': 'hide'" job="<%= job %>">
<div class="form-group text-left">
<div class="form-group text-left">
<label>Password</label>
<label>Password</label>
<oneit:ormInput obj="<%= job %>" type="password" attributeName="Password" cssClass="form-control second-style" />
<oneit:ormInput obj="<%= job %>" type="password" attributeName="Password" cssClass="form-control second-style" />
</div>
</div>
<div class="form-group">
<div class="form-group">
<oneit:button value="Sign In" name="signIn" cssClass="box-btn sign-in-btn"
<oneit:button value="Sign In" name="signIn" cssClass="box-btn sign-in-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("Job",job)
.mapEntry("Job",job)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap())
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap())
.toMap() %>"/>
.toMap() %>"/>
</div>
</div>
</oneit:recalcClass>
</oneit:recalcClass>
<oneit:recalcClass htmlTag="div" classScript="job.getEmail()==null || job.isEmailFound() ? 'hide': 'show'" job="<%= job %>">
<oneit:recalcClass htmlTag="div" classScript="job.getEmail()==null || job.isEmailFound() ? 'hide': 'show'" job="<%= job %>">
<div class="form-group">
<div class="form-group">
<oneit:button value="Send link" name="sendVerificationMail" cssClass="box-btn"
<oneit:button value="Send link" name="sendVerificationMail" cssClass="box-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", currentPage)
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", currentPage)
.mapEntry("Job",job)
.mapEntry("Job",job)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap())
.mapEntry("restartProcess", Boolean.TRUE)
.mapEntry("restartProcess", Boolean.TRUE)
.mapEntry("attribNamesToRestore", "Job")
.mapEntry("attribNamesToRestore", "Job")
.mapEntry("attribNamesToRestore", Collections.singleton("Job"))
.mapEntry("attribNamesToRestore", Collections.singleton("Job"))
.mapEntry(NotificationUtils.NOTIFICATION_MSG_PARAM, "emailSent")
.mapEntry(NotificationUtils.NOTIFICATION_MSG_PARAM, "emailSent")
.toMap() %>"/>
.toMap() %>"/>
</div>
</div>
</oneit:recalcClass>
</oneit:recalcClass>
<%
}
else
{
SecUser secUser = candidate.getUser();
job.setEmail(secUser.getUserName());
%>
<div class="form-group text-left">
<label>Email Address</label>
<oneit:ormInput obj="<%= job %>" type="text" attributeName="Email" cssClass="form-control second-style" disabled="true" readonly="true"/>
</div>
<div class="form-group text-left">
<label>Password</label>
<oneit:ormInput obj="<%= job %>" type="password" attributeName="Password" cssClass="form-control second-style reset-pw"/>
</div>
<div class="form-group text-left">
<label>Confirm password</label>
<oneit:ormInput obj="<%= job %>" type="password" attributeName="ConfirmPassword" cssClass="form-control second-style reset-pw"/>
</div>
<div class="form-group">
<oneit:button value="Sign In" name="resetPassword" cssClass="box-btn reset-pw-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("Job",job)
.mapEntry("NewCandidate",candidate)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap())
.toMap() %>"/>
</div>
<%
}
%>
</div>
</div>
</div>
</div>
</oneit:form>
</oneit:form>
...
...
cmsWebApp/webroot/extensions/applicantportal/upgrades/20170814_CMSExtract_AccountVerification.cms.xml
0 → 100644
View file @
5967759c
<?xml version="1.0" encoding="UTF-8"?>
<OBJECTS
xmlns:oneit=
"http://www.1iT.com.au"
name=
""
>
<NODE
factory=
"Vector"
name=
"Script"
><NODE
class=
"oneit.appservices.upgrade.cms.CMSArticleUpdateOperation"
factory=
"Participant"
name=
"Applicant Account Verification"
>
<createSpecificIdentifier
factory=
'String'
value=
'N44QD8IGZX6RGR87R9C0ELX4XHQ1XF'
/>
<articleIdentifiers
factory=
"Array"
class=
"java.lang.String"
>
<NODE
factory=
"String"
value=
"N44QD8IGZX6RGR87R9C0ELX4XHQ1XF"
/>
</articleIdentifiers>
<createdLabel
factory=
"String"
value=
"N44QD8IGZX6RGR87R9C0ELX4XHQ1XF"
/>
<newParentCategory
factory=
"String"
value=
"created:N6SFUFOG4A2H5U7ER9T8YDQI56H2TG"
/>
<articleAttributeChanges
factory=
"Map"
>
<NODE
name=
"Additional CSS Class"
factory=
"Null"
/>
<NODE
name=
"Exclude From Sitemap"
factory=
"Boolean"
value=
"false"
/>
<NODE
name=
"Exclude from SEO Indexing"
factory=
"Boolean"
value=
"false"
/>
<NODE
name=
"Add Brackline Separator"
factory=
"Boolean"
value=
"false"
/>
<NODE
name=
"On Top Menu"
factory=
"Boolean"
value=
"false"
/>
<NODE
name=
"On Footer Left"
factory=
"Boolean"
value=
"false"
/>
<NODE
name=
"Menu Title"
factory=
"Null"
/>
<NODE
name=
"On Footer Menu"
factory=
"Boolean"
value=
"false"
/>
<NODE
name=
"Exclude From Search"
factory=
"Boolean"
value=
"false"
/>
<NODE
name=
"Menu Icon CSS"
factory=
"Null"
/>
<NODE
name=
"On Left Menu"
factory=
"Boolean"
value=
"false"
/>
<NODE
name=
"Shortcuts"
factory=
"String"
value=
"ApplicantAccountVerification"
/>
<NODE
name=
"Exclude From Navigation"
factory=
"Boolean"
value=
"false"
/>
<NODE
name=
"On Footer Right"
factory=
"Boolean"
value=
"false"
/>
</articleAttributeChanges>
<ormAttributeChanges
factory=
"Map"
>
<NODE
name=
"PublishDate"
factory=
"Date"
value=
"2017-06-20 00:00:00"
/>
<NODE
name=
"WithdrawDate"
factory=
"Date"
value=
"2067-06-20 13:00:00"
/>
<NODE
name=
"Title"
factory=
"String"
value=
"Applicant Account Verification"
/>
<NODE
name=
"ShortTitle"
factory=
"String"
value=
"Account Verification"
/>
<NODE
name=
"SortOrder"
factory=
"Integer"
value=
"-36831674"
/>
<NODE
name=
"Type"
factory=
"Enumerated"
class=
"oneit.business.content.ArticleType"
value=
"ARTICLE"
/>
<NODE
name=
"Template"
factory=
"Enumerated"
class=
"oneit.business.content.ArticleTemplate"
value=
"APPLICANT_ACCOUNT_VERIFICATION"
/>
</ormAttributeChanges>
<content
factory=
"Map"
>
<NODE
name=
"Body"
factory=
"Map"
>
<NODE
name=
"Content"
factory=
"String"
>
<![CDATA[<html>
<head>
<META
http-equiv=
"Content-Type"
content=
"text/html; charset=UTF-8"
>
<meta
content=
"HTML Tidy, see www.w3.org"
name=
"generator"
>
<title></title>
</head>
<body>
<p>
</p>
</body>
</html>
]]>
</NODE>
<NODE
name=
"TransformedContent"
factory=
"String"
>
<![CDATA[<p>
</p>
]]>
</NODE>
<NODE
name=
"IncludeContent"
factory=
"Boolean"
value=
"true"
/>
</NODE>
<NODE
name=
"Synopsis"
factory=
"Map"
>
<NODE
name=
"Content"
factory=
"String"
>
<![CDATA[
<p>
</p>
]]>
</NODE>
<NODE
name=
"IncludeContent"
factory=
"Boolean"
value=
"true"
/>
</NODE>
</content>
</NODE>
</NODE>
</OBJECTS>
\ No newline at end of file
cmsWebApp/webroot/extensions/applicantportal/verify_identity.jsp
View file @
5967759c
...
@@ -5,21 +5,97 @@
...
@@ -5,21 +5,97 @@
<oneit:dynIncluded>
<oneit:dynIncluded>
<%
<%
boolean toRedirect = GenericObjDF.getOrCreateObject (request, "Job", Job.REFERENCE_Job);
String nextPage = WebUtils.getArticleLink(request, process.getTransaction (), WebUtils.JOB_APPLICATION, "Page");
Job job = (Job) process.getAttribute("Job");
Candidate candidate = (Candidate) process.getAttribute("NewCandidate");
Job job = (Job) process.getAttribute("Job");
SecUser secUser = null;
boolean toRedirect = false;
//to process candidate verification
String id = request.getParameter("id");
String key = request.getParameter("key");
String candidateId = request.getParameter("aid");
String pin = request.getParameter("pin");
Boolean isVerify = Boolean.FALSE;
if(id!=null || key!=null || candidateId!=null || pin!=null)
{
isVerify = Boolean.TRUE;
Debug.assertion(job != null && !toRedirect, "Invalid job in applicant portal");
if(candidateId!=null && pin!=null)
{
candidate = Candidate.searchIdPin(transaction, Long.parseLong(candidateId), pin);
if(candidate!=null && candidate.getIsAccountVerified()!=Boolean.TRUE)
{
secUser = candidate.getUser();
process.setAttribute("NewCandidate", candidate);
}
}
if(id != null && key != null)
{
job = Job.searchJobKey(transaction, Long.parseLong(id), key);
process.setAttribute("Job", job);
}
}
else
{
toRedirect = GenericObjDF.getOrCreateObject (request, "Job", Job.REFERENCE_Job);
}
//INVALID REQUEST FOR VERIFY CANDIDATE
if(isVerify && (job==null || secUser==null))
{
response.sendRedirect(WebUtils.getSamePageInRenderMode(request, "AuthError"));
}
SecUser secUser = SecUser.getTXUser(transaction);
if(secUser==null)
Candidate candidate = secUser.getExtension(Candidate.REFERENCE_Candidate);
{
secUser = SecUser.getTXUser(transaction);
candidate = secUser.getExtension(Candidate.REFERENCE_Candidate);
}
Debug.assertion(job != null && !toRedirect, "Invalid job in applicant portal");
Debug.assertion(candidate != null, "Invalid candidate in applicant portal");
Debug.assertion(candidate != null, "Invalid candidate in applicant portal");
String nextPage = WebUtils.getSamePageInRenderMode(request, "ApplicationOutline");
%>
%>
<script>
<script
type="text/javascript"
>
$(document.body).addClass('bg-color');
$(document.body).addClass('bg-color');
$(document).ready(function() {
$('.reset-pw-btn').attr('disabled', 'disabled');
validate();
$('.reset-pw').keyup(function() {
validate();
});
});
function validate() {
var empty = false;
$('input.reset-pw').each(function() {
if ($( this ).val() == '') {
empty = true;
}
});
if(empty) {
$('.reset-pw-btn').attr('disabled', 'disabled');
} else {
$('.reset-pw-btn').removeAttr('disabled');
}
}
</script>
</script>
<style>
button[disabled] {
opacity: 0.6;
background-color: #0582ba;
}
</style>
<oneit:form name="signIn" method="post" enctype="multipart/form-data">
<oneit:form name="signIn" method="post" enctype="multipart/form-data">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
...
@@ -30,7 +106,7 @@
...
@@ -30,7 +106,7 @@
<div class="main-box-layout main-verify-step-2">
<div class="main-box-layout main-verify-step-2">
<div class="form-group text-left">
<div class="form-group text-left">
<label>Email Address</label>
<label>Email Address</label>
<oneit:ormInput obj="<%= secUser %>" type="text" attributeName="UserName" cssClass="form-control second-style" />
<oneit:ormInput obj="<%= secUser %>" type="text" attributeName="UserName" cssClass="form-control second-style"
disabled="true" readonly="true"
/>
</div>
</div>
<div class="row">
<div class="row">
<div class="form-group text-left col-sm-6 col-xs-12">
<div class="form-group text-left col-sm-6 col-xs-12">
...
@@ -46,13 +122,28 @@
...
@@ -46,13 +122,28 @@
<label><oneit:ormlabel obj="<%= candidate %>" field="Phone" /></label>
<label><oneit:ormlabel obj="<%= candidate %>" field="Phone" /></label>
<oneit:ormInput obj="<%= candidate %>" type="text" attributeName="Phone" cssClass="form-control second-style" />
<oneit:ormInput obj="<%= candidate %>" type="text" attributeName="Phone" cssClass="form-control second-style" />
</div>
</div>
<%
if(isVerify)
{
%>
<div class="form-group text-left">
<label>Password</label>
<oneit:ormInput obj="<%= job %>" type="password" attributeName="Password" cssClass="form-control second-style reset-pw"/>
</div>
<div class="form-group text-left">
<label>Confirm password</label>
<oneit:ormInput obj="<%= job %>" type="password" attributeName="ConfirmPassword" cssClass="form-control second-style reset-pw"/>
</div>
<%
}
%>
<div class="text-center">
<div class="text-center">
<oneit:button value="
Verify and proceed" name="verifyIdentity" cssClass="box-btn margin-top-18
"
<oneit:button value="
<%= isVerify ? "Sign In" : "Verify and proceed"%>" name="verifyIdentity" cssClass="box-btn reset-pw-btn
"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("Job", job)
.mapEntry("Job",job)
.mapEntry("Candidate", candidate)
.mapEntry("Candidate",candidate)
.mapEntry("attribNamesToRestore", CollectionUtils.createSet("Job"))
.mapEntry("isVerify",isVerify)
.mapEntry("restartProcess", Boolean.TRUE)
.toMap() %>"/>
.toMap() %>"/>
</div>
</div>
</div>
</div>
...
...
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