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
29a7966d
Commit
29a7966d
authored
Sep 06, 2017
by
chenith
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Company user verification process.
parent
1b73026b
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
215 additions
and
16 deletions
+215
-16
Company.xml
cmsWebApp/sql/Company.xml
+1
-0
Company.sql
cmsWebApp/sql/ms/Company.sql
+1
-0
Company.sql
cmsWebApp/sql/oracle/Company.sql
+1
-0
Company.sql
cmsWebApp/sql/postgres/Company.sql
+1
-0
VerifyCompanyUserFP.java
cmsWebApp/src/performa/form/VerifyCompanyUserFP.java
+125
-0
BaseCompany.java
cmsWebApp/src/performa/orm/BaseCompany.java
+0
-0
BaseCompanyUser.java
cmsWebApp/src/performa/orm/BaseCompanyUser.java
+0
-0
Company.xml
cmsWebApp/src/performa/orm/Company.xml
+3
-2
CompanyPersistenceMgr.java
cmsWebApp/src/performa/orm/CompanyPersistenceMgr.java
+0
-0
CompanyUser.xml
cmsWebApp/src/performa/orm/CompanyUser.xml
+3
-0
CustomServlets_adminPortal.xml
...oot/extensions/adminportal/CustomServlets_adminPortal.xml
+3
-0
GeneralConfig_adminPortal.xml
...root/extensions/adminportal/GeneralConfig_adminPortal.xml
+4
-2
company_profile.jsp
cmsWebApp/webroot/extensions/adminportal/company_profile.jsp
+6
-0
company_user_data.jsp
.../webroot/extensions/adminportal/inc/company_user_data.jsp
+28
-4
invite_users.jsp.jsp
...ebApp/webroot/extensions/adminportal/invite_users.jsp.jsp
+6
-0
verify_company.jsp
cmsWebApp/webroot/extensions/adminportal/verify_company.jsp
+21
-8
20170905_Alter_Company.xml
...t/extensions/performa/upgrades/20170905_Alter_Company.xml
+12
-0
No files found.
cmsWebApp/sql/Company.xml
View file @
29a7966d
...
...
@@ -12,6 +12,7 @@
<column
name=
"hiring_team_type"
type=
"String"
nullable=
"true"
length=
"200"
/>
<column
name=
"industry"
type=
"String"
nullable=
"true"
length=
"200"
/>
<column
name=
"time_zone"
type=
"String"
nullable=
"true"
length=
"200"
/>
<column
name=
"is_verified"
type=
"Boolean"
nullable=
"true"
/>
<column
name=
"state"
type=
"String"
nullable=
"true"
length=
"200"
/>
<column
name=
"country"
type=
"String"
nullable=
"true"
length=
"200"
/>
<column
name=
"post_code"
type=
"String"
nullable=
"true"
length=
"10"
/>
...
...
cmsWebApp/sql/ms/Company.sql
View file @
29a7966d
...
...
@@ -12,6 +12,7 @@ CREATE TABLE tl_company (
hiring_team_type
varchar
(
200
)
NULL
,
industry
varchar
(
200
)
NULL
,
time_zone
varchar
(
200
)
NULL
,
is_verified
char
(
1
)
NULL
,
state
varchar
(
200
)
NULL
,
country
varchar
(
200
)
NULL
,
post_code
varchar
(
10
)
NULL
,
...
...
cmsWebApp/sql/oracle/Company.sql
View file @
29a7966d
...
...
@@ -13,6 +13,7 @@ CREATE TABLE tl_company (
hiring_team_type
varchar2
(
200
)
NULL
,
industry
varchar2
(
200
)
NULL
,
time_zone
varchar2
(
200
)
NULL
,
is_verified
char
(
1
)
NULL
,
state
varchar2
(
200
)
NULL
,
country
varchar2
(
200
)
NULL
,
post_code
varchar2
(
10
)
NULL
,
...
...
cmsWebApp/sql/postgres/Company.sql
View file @
29a7966d
...
...
@@ -13,6 +13,7 @@ CREATE TABLE tl_company (
hiring_team_type
varchar
(
200
)
NULL
,
industry
varchar
(
200
)
NULL
,
time_zone
varchar
(
200
)
NULL
,
is_verified
char
(
1
)
NULL
,
state
varchar
(
200
)
NULL
,
country
varchar
(
200
)
NULL
,
post_code
varchar
(
10
)
NULL
,
...
...
cmsWebApp/src/performa/form/VerifyCompanyUserFP.java
0 → 100644
View file @
29a7966d
package
performa
.
form
;
import
java.util.Map
;
import
javax.servlet.http.HttpServletRequest
;
import
oneit.components.ParticipantInitialisationContext
;
import
oneit.email.ConfigurableArticleTemplateEmailer
;
import
oneit.email.ConfigurableEmailerException
;
import
oneit.logging.*
;
import
oneit.objstore.StorageException
;
import
oneit.objstore.parser.BusinessObjectParser
;
import
oneit.security.SecUser
;
import
oneit.servlets.forms.*
;
import
oneit.servlets.process.*
;
import
oneit.servlets.security.SessionSecUserDecorator
;
import
oneit.utils.*
;
import
performa.orm.*
;
import
performa.utils.Utils
;
import
performa.utils.WebUtils
;
public
class
VerifyCompanyUserFP
extends
ORMProcessFormProcessor
{
private
static
LoggingArea
LOG
=
LoggingArea
.
createLoggingArea
(
"VerifyCompanyUser"
);
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
();
Company
company
=
companyUser
.
getCompany
();
BusinessObjectParser
.
assertFieldCondition
(
StringUtils
.
isEmailAddress
(
secUser
.
getUserName
()),
secUser
,
SecUser
.
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
(
company
.
getIsVerified
()!=
Boolean
.
TRUE
)
{
BusinessObjectParser
.
assertFieldCondition
(
company
.
getCompanyName
()!=
null
,
company
,
Company
.
FIELD_CompanyName
,
"mandatory"
,
exceptions
,
true
,
request
);
}
BusinessObjectParser
.
assertFieldCondition
(
companyUser
.
getPassword
()!=
null
,
companyUser
,
Job
.
FIELD_Password
,
"mandatory"
,
exceptions
,
true
,
request
);
BusinessObjectParser
.
assertFieldCondition
(
companyUser
.
getConfirmPassword
()!=
null
,
companyUser
,
Job
.
FIELD_ConfirmPassword
,
"mandatory"
,
exceptions
,
true
,
request
);
BusinessObjectParser
.
assertFieldCondition
(
CollectionUtils
.
equals
(
companyUser
.
getPassword
(),
companyUser
.
getConfirmPassword
()),
companyUser
,
Job
.
FIELD_ConfirmPassword
,
"passwordNotMatch"
,
exceptions
,
true
,
request
);
return
super
.
validate
(
submission
,
exceptions
);
}
@Override
public
SuccessfulResult
processForm
(
ORMProcessState
process
,
SubmissionDetails
submission
,
Map
params
)
throws
BusinessException
,
StorageException
{
HttpServletRequest
request
=
submission
.
getRequest
();
CompanyUser
companyUser
=
(
CompanyUser
)
request
.
getAttribute
(
"CompanyUser"
);
SecUser
secUser
=
companyUser
.
getUser
();
Company
company
=
companyUser
.
getCompany
();
String
nextPage
=
(
String
)
request
.
getAttribute
(
"nextPage"
);
LogMgr
.
log
(
LOG
,
LogLevel
.
PROCESSING1
,
"Verifing User"
,
companyUser
,
secUser
);
if
(
CollectionUtils
.
equals
(
companyUser
.
getPassword
(),
companyUser
.
getConfirmPassword
()))
{
secUser
.
setAttribute
(
"md5:"
+
SecUser
.
FIELD_Password
,
companyUser
.
getPassword
());
companyUser
.
setIsAccountVerified
(
Boolean
.
TRUE
);
if
(
company
.
getIsVerified
()!=
Boolean
.
TRUE
)
{
company
.
setIsVerified
(
Boolean
.
TRUE
);
nextPage
=
nextPage
+
"&CompanyUserID="
+
companyUser
.
getObjectID
();
}
else
{
nextPage
=
WebUtils
.
getArticleByShortCut
(
process
.
getTransaction
(),
WebUtils
.
ADMIN_HOME
).
getLink
(
request
);
}
sendMail
(
companyUser
,
request
);
request
.
getSession
().
setAttribute
(
SecUser
.
SEC_USER_ID
,
secUser
);
request
.
getSession
().
setAttribute
(
SessionSecUserDecorator
.
REFRESH_SECURITY
,
Boolean
.
TRUE
);
LogMgr
.
log
(
LOG
,
LogLevel
.
PROCESSING1
,
"Password resetted"
,
companyUser
,
secUser
);
}
LogMgr
.
log
(
LOG
,
LogLevel
.
PROCESSING1
,
"Verifing User finished"
,
companyUser
,
secUser
);
process
.
completeAndRestart
();
return
new
ProcessRedirectResult
(
nextPage
,
new
String
[
0
]);
}
@Override
public
void
init
(
ParticipantInitialisationContext
context
)
throws
InitialisationException
{
super
.
init
(
context
);
emailer
=
(
ConfigurableArticleTemplateEmailer
)
(
context
.
getSingleChild
(
"AccountCreatedEmailer"
));
}
protected
void
sendMail
(
CompanyUser
companyUser
,
HttpServletRequest
request
)
throws
BusinessException
{
try
{
LogMgr
.
log
(
LOG
,
LogLevel
.
PROCESSING1
,
"Sending Account Created mail from VerifyCompanyUserFP to :: "
,
companyUser
);
Map
defaultParams
=
CollectionUtils
.
EMPTY_MAP
;
ObjectTransform
transform
=
Utils
.
createCompoundTransform
(
defaultParams
,
companyUser
);
Utils
.
sendMail
(
emailer
,
transform
,
new
String
[]{
companyUser
.
getUser
().
getUserName
()},
null
,
companyUser
);
LogMgr
.
log
(
LOG
,
LogLevel
.
PROCESSING1
,
"Sent Account Created mail successfully from "
+
VerifyCompanyUserFP
.
class
+
" to :: "
,
companyUser
);
}
catch
(
ConfigurableEmailerException
ex
)
{
LogMgr
.
log
(
LOG
,
LogLevel
.
SYSTEMERROR1
,
ex
,
"Error occured while sending mail for CompanyUser :: "
+
companyUser
);
throw
new
BusinessException
(
"We are unable to send mail. Please try again or contact Talentology for more details."
);
}
}
}
\ No newline at end of file
cmsWebApp/src/performa/orm/BaseCompany.java
View file @
29a7966d
This diff is collapsed.
Click to expand it.
cmsWebApp/src/performa/orm/BaseCompanyUser.java
View file @
29a7966d
This diff is collapsed.
Click to expand it.
cmsWebApp/src/performa/orm/Company.xml
View file @
29a7966d
...
...
@@ -17,14 +17,15 @@
<ATTRIB
name=
"HiringTeamType"
type=
"HiringTeamType"
dbcol=
"hiring_team_type"
mandatory=
"false"
attribHelper=
"EnumeratedAttributeHelper"
/>
<ATTRIB
name=
"Industry"
type=
"Industry"
dbcol=
"industry"
mandatory=
"false"
attribHelper=
"EnumeratedAttributeHelper"
/>
<ATTRIB
name=
"TimeZone"
type=
"TimeZone"
dbcol=
"time_zone"
mandatory=
"false"
attribHelper=
"EnumeratedAttributeHelper"
/>
<ATTRIB
name=
"IsVerified"
type=
"Boolean"
dbcol=
"is_verified"
defaultValue=
"Boolean.FALSE"
/>
<ATTRIB
name=
"State"
type=
"State"
dbcol=
"state"
mandatory=
"false"
defaultValue=
"State.WA"
attribHelper=
"EnumeratedAttributeHelper"
/>
<ATTRIB
name=
"Country"
type=
"Countries"
dbcol=
"country"
mandatory=
"false"
defaultValue=
"Countries.AU"
attribHelper=
"EnumeratedAttributeHelper"
/>
<ATTRIB
name=
"PostCode"
type=
"String"
dbcol=
"post_code"
mandatory=
"false"
length=
"10"
/>
<ATTRIB
name=
"City"
type=
"String"
dbcol=
"city"
mandatory=
"false"
length=
"100"
/>
<ATTRIB
name=
"HasClientSupport"
type=
"Boolean"
dbcol=
"has_client_support"
mandatory=
"false"
defaultValue=
"Boolean.FALSE"
/>
<SINGLEREFERENCE
name=
"AddedByUser"
type=
"CompanyUser"
dbcol=
"added_by_user_id"
mandatory=
"true"
/>
</TABLE>
<SEARCH
type=
"All"
paramFilter=
"tl_company.object_id is not null"
>
...
...
cmsWebApp/src/performa/orm/CompanyPersistenceMgr.java
View file @
29a7966d
This diff is collapsed.
Click to expand it.
cmsWebApp/src/performa/orm/CompanyUser.xml
View file @
29a7966d
...
...
@@ -7,6 +7,9 @@
<IMPORT
value=
"oneit.security.*"
/>
<IMPORT
value=
"performa.orm.types.*"
/>
<TRANSIENT
name=
"Password"
type=
"String"
/>
<TRANSIENT
name=
"ConfirmPassword"
type=
"String"
/>
<TABLE
name=
"oneit_sec_user_extension"
tablePrefix=
"object"
polymorphic=
"TRUE"
>
<ATTRIB
name=
"ForgotPasswordMailSendDate"
type=
"Date"
dbcol=
"forgot_password_mail_send_date"
/>
...
...
cmsWebApp/webroot/extensions/adminportal/CustomServlets_adminPortal.xml
View file @
29a7966d
...
...
@@ -31,6 +31,9 @@
<FORM
name=
"*.changeApplicationStatus"
factory=
"Participant"
class=
"performa.form.ChangeApplicationStatusFP"
/>
<FORM
name=
"*.bulkupdate"
factory=
"Participant"
class=
"performa.form.BulkUpdateFP"
/>
<FORM
name=
"*.navigateBetweenStatus"
factory=
"Participant"
class=
"performa.form.NavigateBetweenStatusFP"
/>
<FORM
name=
"*.verifyCompanyUser"
factory=
"Participant"
class=
"performa.form.VerifyCompanyUserFP"
>
<AccountCreatedEmailer
factory=
"Participant"
class=
"oneit.email.ConfigurableArticleTemplateEmailer"
templateShortcut=
"AccountCreatedMail"
/>
</FORM>
</NODE>
<NODE
name=
"job_assessment_criteria_add_jsp"
factory=
"Participant"
>
...
...
cmsWebApp/webroot/extensions/adminportal/GeneralConfig_adminPortal.xml
View file @
29a7966d
...
...
@@ -89,8 +89,10 @@
<INHERITS
nodename=
"StandardJSP"
/>
<RenderMode
name=
"Page"
preIncludeJSP=
"extensions/adminportal/verify_company.jsp"
/>
<RenderMode
name=
"AuthError"
preIncludeJSP=
"extensions/adminportal/auth_error.jsp"
/>
<RenderMode
name=
"Page"
preIncludeJSP=
"extensions/adminportal/verify_company.jsp"
/>
<RenderMode
name=
"CompanyProfile"
preIncludeJSP=
"extensions/adminportal/company_profile.jsp"
/>
<RenderMode
name=
"InviteUsers"
preIncludeJSP=
"extensions/adminportal/invite_users.jsp"
/>
<RenderMode
name=
"AuthError"
preIncludeJSP=
"extensions/adminportal/auth_error.jsp"
/>
</NODE>
</MAP>
...
...
cmsWebApp/webroot/extensions/adminportal/company_profile.jsp
0 → 100644
View file @
29a7966d
<%@ page extends="oneit.servlets.jsp.JSPInclude" %>
<%@ include file="/inc/stdimports50.jsp" %><%-- This is in cougar --%>
<%@ include file="/inc/stdcms.jsp" %><%-- This is in cougar --%>
<oneit:dynIncluded>
</oneit:dynIncluded>
cmsWebApp/webroot/extensions/adminportal/inc/company_user_data.jsp
View file @
29a7966d
...
...
@@ -12,13 +12,24 @@
SecUser secUser = companyUser.getUser();
Company company = companyUser.getCompany();
Boolean readOnly = companyUser.getStatus()!=ObjectStatus.NEW;
%>
<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" readOnly="<%= readOnly? "true" : "false"%>"/>
<%
if(companyUser.getStatus()==ObjectStatus.NEW)
{
%>
<oneit:ormInput obj="<%= secUser %>" type="text" attributeName="Email" cssClass="form-control" style="text-transform: lowercase" required="true"/>
<%
}
else
{
%>
<oneit:ormInput obj="<%= secUser %>" type="text" attributeName="Email" cssClass="form-control" readonly="true" style="text-transform: lowercase" required="true"/>
<%
}
%>
</div>
<div class="row">
<div class="form-group text-left col-sm-6 col-xs-12">
...
...
@@ -36,6 +47,19 @@
</div>
<div class="form-group text-left">
<label>Company</label>
<oneit:ormInput obj="<%= company %>" type="text" attributeName="CompanyName" cssClass="form-control" required="true"/>
<%
if(company.getIsVerified()==Boolean.TRUE)
{
%>
<oneit:ormInput obj="<%= company %>" type="text" attributeName="CompanyName" cssClass="form-control" readonly="true" required="true"/>
<%
}
else
{
%>
<oneit:ormInput obj="<%= company %>" type="text" attributeName="CompanyName" cssClass="form-control" required="true"/>
<%
}
%>
</div>
</oneit:dynIncluded>
cmsWebApp/webroot/extensions/adminportal/invite_users.jsp.jsp
0 → 100644
View file @
29a7966d
<%@ page extends="oneit.servlets.jsp.JSPInclude" %>
<%@ include file="/inc/stdimports50.jsp" %><%-- This is in cougar --%>
<%@ include file="/inc/stdcms.jsp" %><%-- This is in cougar --%>
<oneit:dynIncluded>
</oneit:dynIncluded>
cmsWebApp/webroot/extensions/adminportal/verify_company.jsp
View file @
29a7966d
...
...
@@ -7,27 +7,29 @@
<oneit:dynIncluded>
<%
String nextPage = WebUtils.get
ArticleLink(request, process.getTransaction (), WebUtils.JOB_APPLICATION, "Pag
e");
String nextPage = WebUtils.get
SamePageInRenderMode(request, "CompanyProfil
e");
CompanyUser companyUser = (CompanyUser) process.getAttribute("CompanyUser");
SecUser secUser = null;
//to process company user verification
String id = request.getParameter("id");
String key = request.getParameter("key");
Boolean i
sVerify = Boolean.FALS
E;
Boolean i
nvalid = Boolean.TRU
E;
if(id!=null && key!=null)
{
isVerify = Boolean.TRUE;
companyUser = CompanyUser.searchIdPin(transaction, Long.parseLong(id), key);
if(companyUser!=null && companyUser.getIsAccountVerified()!=Boolean.TRUE)
{
secUser = companyUser.getUser();
process.setAttribute("CompanyUser", companyUser);
invalid = Boolean.FALSE;
}
}
else
if(invalid)
{
response.sendRedirect(WebUtils.getSamePageInRenderMode(request, "AuthError"));
}
...
...
@@ -53,7 +55,7 @@
}
}
});
if (empty) {
$('.verify-btn').attr('disabled', 'disabled');
} else {
...
...
@@ -75,9 +77,19 @@
<div class="main-box-layout login-box">
<oneit:dynInclude page="/extensions/adminportal/inc/company_user_data.jsp" data="<%= CollectionUtils.EMPTY_MAP%>" CompanyUser="<%= companyUser %>"/>
<oneit:button value="Verify and login" name="xxx" cssClass="box-btn send-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", "sign_in.jsp").toMap() %>"/>
<div class="form-group text-left">
<label>Password</label>
<oneit:ormInput obj="<%= companyUser %>" type="password" attributeName="Password" cssClass="form-control second-style reset-pw" required="true"/>
</div>
<div class="form-group text-left">
<label>Confirm password</label>
<oneit:ormInput obj="<%= companyUser %>" type="password" attributeName="ConfirmPassword" cssClass="form-control second-style reset-pw " required="true"/>
</div>
<oneit:button value="Verify and login" name="verifyCompanyUser" cssClass="box-btn verify-btn"
requestAttribs="<%= CollectionUtils.mapEntry("CompanyUser", companyUser)
.mapEntry("nextPage", nextPage).toMap() %>"/>
</div>
</oneit:form>
</oneit:dynIncluded>
\ No newline at end of file
cmsWebApp/webroot/extensions/performa/upgrades/20170905_Alter_Company.xml
0 → 100644
View file @
29a7966d
<?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_company
</tableName>
<column
name=
"is_verified"
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