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
6bbedec8
Commit
6bbedec8
authored
Sep 22, 2017
by
chenith
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updated email address change process.
parent
7dd8c1c2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
129 additions
and
41 deletions
+129
-41
CompanyUser.xml
cmsWebApp/sql/CompanyUser.xml
+1
-0
CompanyUser.sql
cmsWebApp/sql/ms/CompanyUser.sql
+1
-0
CompanyUser.sql
cmsWebApp/sql/oracle/CompanyUser.sql
+1
-0
CompanyUser.sql
cmsWebApp/sql/postgres/CompanyUser.sql
+1
-0
ResendVerificationFP.java
cmsWebApp/src/performa/form/ResendVerificationFP.java
+28
-1
SaveUserDetailsFP.java
cmsWebApp/src/performa/form/SaveUserDetailsFP.java
+6
-27
BaseCompanyUser.java
cmsWebApp/src/performa/orm/BaseCompanyUser.java
+0
-0
CompanyUser.xml
cmsWebApp/src/performa/orm/CompanyUser.xml
+1
-0
CompanyUserPersistenceMgr.java
cmsWebApp/src/performa/orm/CompanyUserPersistenceMgr.java
+0
-0
Utils.java
cmsWebApp/src/performa/utils/Utils.java
+27
-7
CustomServlets_adminPortal.xml
...oot/extensions/adminportal/CustomServlets_adminPortal.xml
+1
-1
email_verified.jsp
cmsWebApp/webroot/extensions/adminportal/email_verified.jsp
+46
-3
my_details.jsp
cmsWebApp/webroot/extensions/adminportal/my_details.jsp
+1
-1
page_admin_home.jsp
cmsWebApp/webroot/extensions/adminportal/page_admin_home.jsp
+1
-1
20170921_Alter_CompanyUser.xml
...tensions/performa/upgrades/20170921_Alter_CompanyUser.xml
+14
-0
No files found.
cmsWebApp/sql/CompanyUser.xml
View file @
6bbedec8
...
...
@@ -16,6 +16,7 @@
<column
name=
"verification_mail_send_date"
type=
"Date"
nullable=
"true"
/>
<column
name=
"verification_key"
type=
"String"
nullable=
"true"
length=
"10"
/>
<column
name=
"is_account_verified"
type=
"Boolean"
nullable=
"true"
/>
<column
name=
"is_email_changed"
type=
"Boolean"
nullable=
"true"
/>
<column
name=
"user_id"
type=
"Long"
length=
"11"
nullable=
"true"
/>
<column
name=
"company_id"
type=
"Long"
length=
"11"
nullable=
"true"
/>
</NODE>
...
...
cmsWebApp/sql/ms/CompanyUser.sql
View file @
6bbedec8
...
...
@@ -15,6 +15,7 @@ CREATE TABLE oneit_sec_user_extension (
verification_mail_send_date
datetime
NULL
,
verification_key
varchar
(
10
)
NULL
,
is_account_verified
char
(
1
)
NULL
,
is_email_changed
char
(
1
)
NULL
,
user_id
numeric
(
12
)
NULL
,
company_id
numeric
(
12
)
NULL
);
...
...
cmsWebApp/sql/oracle/CompanyUser.sql
View file @
6bbedec8
...
...
@@ -16,6 +16,7 @@ CREATE TABLE oneit_sec_user_extension (
verification_mail_send_date
date
NULL
,
verification_key
varchar2
(
10
)
NULL
,
is_account_verified
char
(
1
)
NULL
,
is_email_changed
char
(
1
)
NULL
,
user_id
number
(
12
)
NULL
,
company_id
number
(
12
)
NULL
);
...
...
cmsWebApp/sql/postgres/CompanyUser.sql
View file @
6bbedec8
...
...
@@ -16,6 +16,7 @@ CREATE TABLE oneit_sec_user_extension (
verification_mail_send_date
timestamp
NULL
,
verification_key
varchar
(
10
)
NULL
,
is_account_verified
char
(
1
)
NULL
,
is_email_changed
char
(
1
)
NULL
,
user_id
numeric
(
12
)
NULL
,
company_id
numeric
(
12
)
NULL
);
...
...
cmsWebApp/src/performa/form/ResendVerificationFP.java
View file @
6bbedec8
...
...
@@ -7,12 +7,16 @@ import oneit.email.ConfigurableArticleTemplateEmailer;
import
oneit.logging.LogLevel
;
import
oneit.logging.LogMgr
;
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.InitialisationException
;
import
oneit.utils.MultiException
;
import
oneit.utils.StringUtils
;
import
performa.orm.CompanyUser
;
import
performa.utils.Utils
;
...
...
@@ -21,6 +25,28 @@ public class ResendVerificationFP extends SaveFP
{
protected
ConfigurableArticleTemplateEmailer
emailer
;
@Override
protected
Map
validate
(
SubmissionDetails
submission
,
MultiException
exceptions
)
{
HttpServletRequest
request
=
submission
.
getRequest
();
CompanyUser
companyUser
=
(
CompanyUser
)
request
.
getAttribute
(
"CompanyUser"
);
SecUser
secUser
=
companyUser
.
getUser
();
if
(!
companyUser
.
isLoggedViaSocial
())
{
BusinessObjectParser
.
assertFieldCondition
(
StringUtils
.
isEmailAddress
(
secUser
.
getUserName
()),
secUser
,
SecUser
.
FIELD_Email
,
"invalid"
,
exceptions
,
true
,
request
);
BusinessObjectParser
.
assertFieldCondition
(!
Utils
.
isCompanyUserEmailFound
(
secUser
.
getTransaction
(),
secUser
.
getUserName
(),
companyUser
),
secUser
,
SecUser
.
FIELD_UserName
,
"emailExists"
,
exceptions
,
true
,
request
);
}
else
{
BusinessObjectParser
.
assertFieldCondition
(!
Utils
.
isCompanyUserEmailFound
(
secUser
.
getTransaction
(),
secUser
.
getEmail
(),
companyUser
),
secUser
,
SecUser
.
FIELD_Email
,
"emailExists"
,
exceptions
,
true
,
request
);
}
return
super
.
validate
(
submission
,
exceptions
);
}
@Override
public
SuccessfulResult
processForm
(
ORMProcessState
process
,
SubmissionDetails
submission
,
Map
params
)
throws
BusinessException
,
StorageException
{
...
...
@@ -31,12 +57,13 @@ public class ResendVerificationFP extends SaveFP
if
(
companyUser
!=
null
)
{
Utils
.
send
Verification
Mail
(
companyUser
,
request
,
emailer
,
ResendVerificationFP
.
class
.
getName
());
Utils
.
send
EmailChanged
Mail
(
companyUser
,
request
,
emailer
,
ResendVerificationFP
.
class
.
getName
());
}
return
super
.
processForm
(
process
,
submission
,
params
);
}
@Override
public
void
init
(
ParticipantInitialisationContext
context
)
throws
InitialisationException
{
...
...
cmsWebApp/src/performa/form/SaveUserDetailsFP.java
View file @
6bbedec8
...
...
@@ -63,7 +63,8 @@ public class SaveUserDetailsFP extends SaveFP
if
(
validPassword
)
{
companyUser
.
setIsAccountVerified
(
Boolean
.
FALSE
);
companyUser
.
setIsEmailChanged
(
Boolean
.
TRUE
);
Utils
.
sendEmailChangedMail
(
companyUser
,
request
,
emailer
,
SaveUserDetailsFP
.
class
.
getName
());
}
}
...
...
@@ -73,9 +74,9 @@ public class SaveUserDetailsFP extends SaveFP
//send email verification mail
LogMgr
.
log
(
CompanyUser
.
LOG
,
LogLevel
.
PROCESSING1
,
"Sending email resetted mail"
,
companyUser
);
Utils
.
sendEmailChangedMail
(
companyUser
,
request
,
emailer
,
SaveUserDetailsFP
.
class
.
getName
()
);
companyUser
.
setIsEmailChanged
(
Boolean
.
TRUE
);
companyUser
.
setIsAccountVerified
(
Boolean
.
FALSE
);
Utils
.
sendEmailChangedMail
(
companyUser
,
request
,
emailer
,
SaveUserDetailsFP
.
class
.
getName
()
);
}
}
...
...
@@ -93,11 +94,11 @@ public class SaveUserDetailsFP extends SaveFP
if
(!
companyUser
.
isLoggedViaSocial
())
{
BusinessObjectParser
.
assertFieldCondition
(
StringUtils
.
isEmailAddress
(
secUser
.
getUserName
()),
secUser
,
SecUser
.
FIELD_Email
,
"invalid"
,
exceptions
,
true
,
request
);
BusinessObjectParser
.
assertFieldCondition
(!
isCompanyUserEmailFound
(
secUser
.
getTransaction
(),
secUser
.
getUserName
(),
companyUser
),
secUser
,
SecUser
.
FIELD_UserName
,
"emailExists"
,
exceptions
,
true
,
request
);
BusinessObjectParser
.
assertFieldCondition
(!
Utils
.
isCompanyUserEmailFound
(
secUser
.
getTransaction
(),
secUser
.
getUserName
(),
companyUser
),
secUser
,
SecUser
.
FIELD_UserName
,
"emailExists"
,
exceptions
,
true
,
request
);
}
else
{
BusinessObjectParser
.
assertFieldCondition
(!
isCompanyUserEmailFound
(
secUser
.
getTransaction
(),
secUser
.
getEmail
(),
companyUser
),
secUser
,
SecUser
.
FIELD_Email
,
"emailExists"
,
exceptions
,
true
,
request
);
BusinessObjectParser
.
assertFieldCondition
(!
Utils
.
isCompanyUserEmailFound
(
secUser
.
getTransaction
(),
secUser
.
getEmail
(),
companyUser
),
secUser
,
SecUser
.
FIELD_Email
,
"emailExists"
,
exceptions
,
true
,
request
);
}
BusinessObjectParser
.
assertFieldCondition
(
secUser
.
getFirstName
()!=
null
,
secUser
,
SecUser
.
FIELD_FirstName
,
"mandatory"
,
exceptions
,
true
,
request
);
...
...
@@ -114,25 +115,4 @@ public class SaveUserDetailsFP extends SaveFP
emailer
=
(
ConfigurableArticleTemplateEmailer
)
(
context
.
getSingleChild
(
"AccountVerificationEmailer"
));
}
private
static
Boolean
isCompanyUserEmailFound
(
ObjectTransaction
objTran
,
String
email
,
CompanyUser
currentUser
)
{
if
(
email
!=
null
)
{
SecUser
user
=
SecUser
.
searchNAME
(
objTran
,
email
.
toLowerCase
());
if
(
user
!=
null
)
{
CompanyUser
comUser
=
user
.
getExtension
(
CompanyUser
.
REFERENCE_CompanyUser
);
if
(
comUser
!=
null
&&
!
CollectionUtils
.
equals
(
comUser
,
currentUser
))
{
return
Boolean
.
TRUE
;
}
}
}
return
Boolean
.
FALSE
;
}
}
\ No newline at end of file
cmsWebApp/src/performa/orm/BaseCompanyUser.java
View file @
6bbedec8
This diff is collapsed.
Click to expand it.
cmsWebApp/src/performa/orm/CompanyUser.xml
View file @
6bbedec8
...
...
@@ -20,6 +20,7 @@
<ATTRIB
name=
"VerificationMailSendDate"
type=
"Date"
dbcol=
"verification_mail_send_date"
/>
<ATTRIB
name=
"VerificationKey"
type=
"String"
dbcol=
"verification_key"
length=
"10"
/>
<ATTRIB
name=
"IsAccountVerified"
type=
"Boolean"
dbcol=
"is_account_verified"
defaultValue=
"Boolean.FALSE"
/>
<ATTRIB
name=
"IsEmailChanged"
type=
"Boolean"
dbcol=
"is_email_changed"
defaultValue=
"Boolean.FALSE"
/>
<SINGLEREFERENCE
name=
"User"
type=
"SecUser"
dbcol=
"user_id"
backreferenceName=
"Extensions"
inSuper=
'TRUE'
/>
<SINGLEREFERENCE
name=
"Company"
type=
"Company"
dbcol=
"company_id"
backreferenceName=
"Users"
/>
...
...
cmsWebApp/src/performa/orm/CompanyUserPersistenceMgr.java
View file @
6bbedec8
This diff is collapsed.
Click to expand it.
cmsWebApp/src/performa/utils/Utils.java
View file @
6bbedec8
...
...
@@ -379,6 +379,26 @@ public class Utils
return
Boolean
.
FALSE
;
}
public
static
Boolean
isCompanyUserEmailFound
(
ObjectTransaction
objTran
,
String
email
,
CompanyUser
currentUser
)
{
if
(
email
!=
null
)
{
SecUser
user
=
SecUser
.
searchNAME
(
objTran
,
email
.
toLowerCase
());
if
(
user
!=
null
)
{
CompanyUser
comUser
=
user
.
getExtension
(
CompanyUser
.
REFERENCE_CompanyUser
);
if
(
comUser
!=
null
&&
!
CollectionUtils
.
equals
(
comUser
,
currentUser
))
{
return
Boolean
.
TRUE
;
}
}
}
return
Boolean
.
FALSE
;
}
public
static
Tuple
.
T2
<
SecUser
,
Boolean
>
getSecUserForCompanyIfAvailable
(
CompanyUser
companyUser
)
{
...
...
@@ -432,25 +452,25 @@ public class Utils
}
catch
(
ConfigurableEmailerException
ex
)
{
LogMgr
.
log
(
CompanyUser
.
LOG
,
LogLevel
.
SYSTEMERROR1
,
ex
,
"Error occured while sending mail for
Candidate
:: "
+
companyUser
);
LogMgr
.
log
(
CompanyUser
.
LOG
,
LogLevel
.
SYSTEMERROR1
,
ex
,
"Error occured while sending mail for
user
:: "
+
companyUser
);
throw
new
BusinessException
(
"We are unable to send mail. Please try again or contact Talentology for more details."
);
}
}
else
{
LogMgr
.
log
(
CompanyUser
.
LOG
,
LogLevel
.
PROCESSING1
,
"Call from "
+
callingClass
+
". Account is already verified for
candidate
:: "
,
companyUser
);
LogMgr
.
log
(
CompanyUser
.
LOG
,
LogLevel
.
PROCESSING1
,
"Call from "
+
callingClass
+
". Account is already verified for
user
:: "
,
companyUser
);
}
}
public
static
void
sendEmailChangedMail
(
CompanyUser
companyUser
,
HttpServletRequest
request
,
ConfigurableArticleTemplateEmailer
emailer
,
String
callingClass
)
throws
BusinessException
{
if
(
!
CollectionUtils
.
equals
(
companyUser
.
getIsAccountVerified
(),
Boolean
.
TRUE
)
)
if
(
companyUser
.
getIsEmailChanged
()==
Boolean
.
TRUE
)
{
try
{
LogMgr
.
log
(
CompanyUser
.
LOG
,
LogLevel
.
PROCESSING1
,
"Sending
verification
mail from "
+
callingClass
+
" to :: "
,
companyUser
);
LogMgr
.
log
(
CompanyUser
.
LOG
,
LogLevel
.
PROCESSING1
,
"Sending
email changed
mail from "
+
callingClass
+
" to :: "
,
companyUser
);
RandomStringGen
random
=
new
RandomStringGen
();
...
...
@@ -467,18 +487,18 @@ public class Utils
Utils
.
sendMail
(
emailer
,
transform
,
new
String
[]{
companyUser
.
getEmailAddressFromUser
()},
null
,
companyUser
);
LogMgr
.
log
(
CompanyUser
.
LOG
,
LogLevel
.
PROCESSING1
,
"Sent
verification
mail successfully from "
+
callingClass
+
" to :: "
,
companyUser
);
LogMgr
.
log
(
CompanyUser
.
LOG
,
LogLevel
.
PROCESSING1
,
"Sent
email changed
mail successfully from "
+
callingClass
+
" to :: "
,
companyUser
);
}
catch
(
ConfigurableEmailerException
ex
)
{
LogMgr
.
log
(
CompanyUser
.
LOG
,
LogLevel
.
SYSTEMERROR1
,
ex
,
"Error occured while sending mail for
Candidate
:: "
+
companyUser
);
LogMgr
.
log
(
CompanyUser
.
LOG
,
LogLevel
.
SYSTEMERROR1
,
ex
,
"Error occured while sending mail for
user
:: "
+
companyUser
);
throw
new
BusinessException
(
"We are unable to send mail. Please try again or contact Talentology for more details."
);
}
}
else
{
LogMgr
.
log
(
CompanyUser
.
LOG
,
LogLevel
.
PROCESSING1
,
"Call from "
+
callingClass
+
". Account is already verified for
candidate
:: "
,
companyUser
);
LogMgr
.
log
(
CompanyUser
.
LOG
,
LogLevel
.
PROCESSING1
,
"Call from "
+
callingClass
+
". Account is already verified for
user
:: "
,
companyUser
);
}
}
}
...
...
cmsWebApp/webroot/extensions/adminportal/CustomServlets_adminPortal.xml
View file @
6bbedec8
...
...
@@ -47,7 +47,7 @@
<AccountVerificationEmailer
factory=
"Participant"
class=
"oneit.email.ConfigurableArticleTemplateEmailer"
templateShortcut=
"EmailChangedMail"
/>
</FORM>
<FORM
name=
"*.resendVerification"
factory=
"Participant"
class=
"performa.form.ResendVerificationFP"
>
<AccountVerificationEmailer
factory=
"Participant"
class=
"oneit.email.ConfigurableArticleTemplateEmailer"
templateShortcut=
"
CompanyAccountVerification
Mail"
/>
<AccountVerificationEmailer
factory=
"Participant"
class=
"oneit.email.ConfigurableArticleTemplateEmailer"
templateShortcut=
"
EmailChanged
Mail"
/>
</FORM>
<FORM
name=
"*.saveClient"
factory=
"Participant"
class=
"performa.form.SaveClientFP"
/>
<FORM
name=
"*.saveCompany"
factory=
"Participant"
class=
"performa.form.SaveCompanyFP"
/>
...
...
cmsWebApp/webroot/extensions/adminportal/email_verified.jsp
View file @
6bbedec8
...
...
@@ -11,9 +11,51 @@
<%
ORMProcessState process = (ORMProcessState) ProcessDecorator.getDefaultProcess(request);
ObjectTransaction objTran = process.getTransaction ();
%>
String nextPage = WebUtils.getArticleByShortCut(process.getTransaction(), WebUtils.ADMIN_HOME).getLink(request);
//to process company user verification
String id = request.getParameter("id");
String key = request.getParameter("key");
Boolean invalid = Boolean.TRUE;
if(id!=null && key!=null)
{
CompanyUser companyUser = CompanyUser.searchIdPin(objTran, Long.parseLong(id), key);
Email verified!
if(companyUser!=null && companyUser.getIsEmailChanged()==Boolean.TRUE)
{
try
{
companyUser.setIsEmailChanged(Boolean.FALSE);
companyUser.setIsAccountVerified(Boolean.TRUE);
objTran.commit();
objTran.commitResources();
}
finally
{
objTran.releaseResources();
}
invalid = Boolean.FALSE;
// response.sendRedirect(nextPage);
}
}
if(invalid)
{
%>
<h3>Verification Error</h3>
<p><span>Access expired.</span></p>
<%
}
else
{
%>
<p>Your e-mail address is successfully verified! Please login to access your account!</p>
<a class="btn btn-primary" href="<%= nextPage %>">Go to login</a>
<%
}
%>
<%@ include file="inc/htmlfooter_nopriv.jsp" %>
\ No newline at end of file
cmsWebApp/webroot/extensions/adminportal/my_details.jsp
View file @
6bbedec8
...
...
@@ -67,7 +67,7 @@
<% }
if(
!CollectionUtils.equals(companyUser.getIsAccountVerified(), Boolean.TRUE)
)
if(
companyUser.getIsAccountVerified()!=Boolean.TRUE || companyUser.getIsEmailChanged()==Boolean.TRUE
)
{
%>
<div class="email-verify">Email address not yet verified.
...
...
cmsWebApp/webroot/extensions/adminportal/page_admin_home.jsp
View file @
6bbedec8
...
...
@@ -14,7 +14,7 @@
{
CompanyUser companyUser = secUser.getExtension(CompanyUser.REFERENCE_CompanyUser);
if(companyUser!=null && companyUser.getIsAccountVerified()!=Boolean.TRUE)
if(companyUser!=null && companyUser.
isLoggedViaSocial() && companyUser.
getIsAccountVerified()!=Boolean.TRUE)
{
response.sendRedirect(WebUtils.getArticleByShortCut(process.getTransaction(), WebUtils.COMPANY_ACCOUNT_VERIFICATION).getLink(request));
return;
...
...
cmsWebApp/webroot/extensions/performa/upgrades/20170921_Alter_CompanyUser.xml
0 → 100644
View file @
6bbedec8
<?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"
>
oneit_sec_user_extension
</tableName>
<column
name=
"is_email_changed"
type=
"Boolean"
nullable=
"true"
/>
</NODE>
</NODE>
</OBJECTS>
\ 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