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
c7a9fa82
Commit
c7a9fa82
authored
Jun 26, 2017
by
Harsh Shah
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Admin Portal access restriction changes
parent
21c12272
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
154 additions
and
77 deletions
+154
-77
Job.java
cmsWebApp/src/performa/orm/Job.java
+1
-0
Utils.java
cmsWebApp/src/performa/utils/Utils.java
+5
-4
WebUtils.java
cmsWebApp/src/performa/utils/WebUtils.java
+14
-5
dynamic_content_core.jsp
cmsWebApp/webroot/dynamic_content_core.jsp
+6
-4
dynamic_content_form_client.jsp
cmsWebApp/webroot/dynamic_content_form_client.jsp
+3
-0
CustomServlets_adminPortal.xml
...oot/extensions/adminportal/CustomServlets_adminPortal.xml
+14
-0
GeneralConfig_adminPortal.xml
...root/extensions/adminportal/GeneralConfig_adminPortal.xml
+2
-2
htmlheader.jsp
cmsWebApp/webroot/extensions/adminportal/inc/htmlheader.jsp
+45
-35
menuinclude.jsp
cmsWebApp/webroot/extensions/adminportal/inc/menuinclude.jsp
+32
-25
testsso.jsp
cmsWebApp/webroot/testsso.jsp
+4
-2
20170626_AdminPortalAccessPriv.xml
sql/upgrades/20170626_AdminPortalAccessPriv.xml
+28
-0
No files found.
cmsWebApp/src/performa/orm/Job.java
View file @
c7a9fa82
...
@@ -33,6 +33,7 @@ public class Job extends BaseJob
...
@@ -33,6 +33,7 @@ public class Job extends BaseJob
super
.
postInitNewObj
();
super
.
postInitNewObj
();
setRandomKey
(
RandomStringGen
.
getRandomStringGen
().
generateAlphaNum
(
4
));
setRandomKey
(
RandomStringGen
.
getRandomStringGen
().
generateAlphaNum
(
4
));
setSecUser
(
SecUser
.
getTXUser
(
getTransaction
()));
}
}
...
...
cmsWebApp/src/performa/utils/Utils.java
View file @
c7a9fa82
...
@@ -9,8 +9,9 @@ import oneit.security.*;
...
@@ -9,8 +9,9 @@ import oneit.security.*;
*/
*/
public
class
Utils
public
class
Utils
{
{
public
static
final
String
ROLE_APPLICANT
=
"TL_Applicant"
;
public
static
final
String
ROLE_APPLICANT
=
"TL_Applicant"
;
public
static
final
String
ROLE_CLIENT
=
"TL_Client"
;
public
static
final
String
ROLE_CLIENT
=
"TL_Client"
;
public
static
final
String
PRIV_ACCESS_ADMIN_PORTAL
=
"TL_AccessAdminPortal"
;
public
static
Role
getRole
(
String
role
,
ObjectTransaction
transaction
)
public
static
Role
getRole
(
String
role
,
ObjectTransaction
transaction
)
{
{
...
@@ -22,8 +23,8 @@ public class Utils
...
@@ -22,8 +23,8 @@ public class Utils
return
Privilege
.
searchNAME
(
transaction
,
priv
);
return
Privilege
.
searchNAME
(
transaction
,
priv
);
}
}
public
static
boolean
isValidClient
(
SecUser
secUser
)
public
static
boolean
checkAdminPortalAccess
(
SecUser
secUser
)
{
{
return
(
secUser
!=
null
&&
secUser
.
has
Role
(
ROLE_CLIENT
));
return
(
secUser
!=
null
&&
secUser
.
has
Privilege
(
PRIV_ACCESS_ADMIN_PORTAL
));
}
}
}
}
cmsWebApp/src/performa/utils/WebUtils.java
View file @
c7a9fa82
...
@@ -18,21 +18,30 @@ public class WebUtils
...
@@ -18,21 +18,30 @@ public class WebUtils
public
static
final
String
APPLICANT_PORTAL
=
"ApplicantPortal"
;
public
static
final
String
APPLICANT_PORTAL
=
"ApplicantPortal"
;
public
static
final
String
ADMIN_HOME
=
"AdminHome"
;
public
static
final
String
ADMIN_HOME
=
"AdminHome"
;
public
static
final
String
APPLICANT_HOME
=
"ApplicantHome"
;
public
static
final
String
APPLICANT_HOME
=
"ApplicantHome"
;
public
static
final
String
CREATE_JOB
=
"CreateJob"
;
public
static
final
String
ASSESSMENT_CRITERIA
=
"AssessmentCriteria"
;
public
static
final
String
ASSESSMENT_CRITERIA
=
"AssessmentCriteria"
;
public
static
final
String
WORKPLACE_CULTURE
=
"WorkplaceCulture"
;
public
static
final
String
WORKPLACE_CULTURE
=
"WorkplaceCulture"
;
public
static
final
String
JOB_MATCH
=
"JobMatchAssessment"
;
public
static
final
String
JOB_MATCH
=
"JobMatchAssessment"
;
public
static
final
String
JOB_REVIEW
=
"JobReview"
;
public
static
final
String
JOB_REVIEW
=
"JobReview"
;
public
static
String
getArticleLink
(
HttpServletRequest
request
,
ObjectTransaction
objTran
,
String
articleShortcut
,
String
renderMode
)
{
return
getArticleLink
(
request
,
getArticleByShortCut
(
objTran
,
articleShortcut
),
"Page"
);
}
public
static
String
getArticleLink
(
HttpServletRequest
request
,
Article
article
,
String
renderMode
)
{
return
article
.
getLink
(
request
,
CollectionUtils
.
mapEntry
(
"cms.rm"
,
renderMode
).
toMap
());
}
public
static
String
getSamePageInRenderMode
(
HttpServletRequest
request
,
String
renderMode
)
public
static
String
getSamePageInRenderMode
(
HttpServletRequest
request
,
String
renderMode
)
{
{
BaseJSP
theJSP
=
(
BaseJSP
)
request
.
getAttribute
(
BaseJSP
.
JSP_SERVLET
);
BaseJSP
theJSP
=
(
BaseJSP
)
request
.
getAttribute
(
BaseJSP
.
JSP_SERVLET
);
Article
article
=
(
Article
)
theJSP
.
getData
(
request
,
ContentDF
.
ARTICLE
);
Article
article
=
(
Article
)
theJSP
.
getData
(
request
,
ContentDF
.
ARTICLE
);
String
newURI
=
article
.
getLink
(
request
,
CollectionUtils
.
mapEntry
(
"cms.rm"
,
renderMode
).
toMap
());
return
getArticleLink
(
request
,
article
,
renderMode
);
return
newURI
;
}
}
public
static
String
getRadioSingleAssocKey
(
HttpServletRequest
request
,
BaseBusinessClass
bbc
,
String
singleAssocName
)
public
static
String
getRadioSingleAssocKey
(
HttpServletRequest
request
,
BaseBusinessClass
bbc
,
String
singleAssocName
)
{
{
DataMap
dataMap
=
DataMap
.
getDataMap
(
request
,
true
);
DataMap
dataMap
=
DataMap
.
getDataMap
(
request
,
true
);
...
...
cmsWebApp/webroot/dynamic_content_core.jsp
View file @
c7a9fa82
...
@@ -2,12 +2,14 @@
...
@@ -2,12 +2,14 @@
<%@ include file="inc/dynamic_content_core_top.jsp" %>
<%@ include file="inc/dynamic_content_core_top.jsp" %>
<%@ include file="/inc/stdimports50.jsp" %>
<%@ include file="/inc/stdimports50.jsp" %>
<%@ page import="performa.utils.
WebUtils
"%>
<%@ page import="performa.utils.
*
"%>
<%
<%
ORMProcessState process = (ORMProcessState)(ProcessDecorator.getDefaultProcess(request));
ORMProcessState process = (ORMProcessState)(ProcessDecorator.getDefaultProcess(request));
ObjectTransaction objTran = (process == null ? ObjectTransaction.getTransaction () : process.getTransaction ());
ObjectTransaction objTran = (process == null ? ObjectTransaction.getTransaction () : process.getTransaction ());
String portalName = WebUtils.getPortalName(objTran, article);
String portalName = WebUtils.getPortalName(objTran, article);
SecUser loggedInUser = SecUser.getTXUser(objTran);
SecUser clientUser = Utils.checkAdminPortalAccess(loggedInUser) ? loggedInUser : null;
%>
%>
<%@ include file="setuprequest.jsp" %>
<%@ include file="setuprequest.jsp" %>
...
...
cmsWebApp/webroot/dynamic_content_form_client.jsp
0 → 100644
View file @
c7a9fa82
<%! protected String getName (ServletConfig config) { return "dynamic_content_form_client"; } %>
<%@ include file="dynamic_content_core.jsp" %>
cmsWebApp/webroot/extensions/adminportal/CustomServlets_adminPortal.xml
View file @
c7a9fa82
<?xml version="1.0"?>
<?xml version="1.0"?>
<OBJECTS
name=
"AdminPortal"
>
<OBJECTS
name=
"AdminPortal"
>
<NODE
name=
"dynamic_content_form_client"
factory=
"Participant"
>
<INHERITS
factory=
"Named"
nodename=
"dynamic_content_form"
/>
<DECORATOR
id=
"auth"
factory=
"MetaComponent"
component=
"AdminPortalAuthDecorator"
priv=
"TL_AccessAdminPortal"
/>
</NODE>
<NODE
name=
"AdminPortalAuthDecorator"
factory=
"Participant"
class=
"oneit.servlets.utils.decorator.AuthenticatorDecorator"
>
<AUTHENTICATOR
factory=
"Participant"
class=
"oneit.security.SecurityAuthenticator"
>
<PRIVILEGE
factory=
"Parameter"
param=
"priv"
/>
<FAILED_URL
factory=
"String"
value=
"RestrictedAccess.jsp"
/>
<NO_USER_URL
factory=
"String"
value=
"testsso.jsp"
/>
</AUTHENTICATOR>
</NODE>
<NODE
name=
"dynamic_content_form::ADMIN_PORTAL"
factory=
"Participant"
>
<NODE
name=
"dynamic_content_form::ADMIN_PORTAL"
factory=
"Participant"
>
</NODE>
</NODE>
...
...
cmsWebApp/webroot/extensions/adminportal/GeneralConfig_adminPortal.xml
View file @
c7a9fa82
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<NODE
name=
"StandardCMSTemplates::PERFORMA_ADMIN_PORTAL"
>
<NODE
name=
"StandardCMSTemplates::PERFORMA_ADMIN_PORTAL"
>
<MAP
value=
"ADMIN_PORTAL_HOME"
description=
"Admin Portal Home"
TemplatePage=
"dynamic_content_form.jsp"
>
<MAP
value=
"ADMIN_PORTAL_HOME"
description=
"Admin Portal Home"
TemplatePage=
"dynamic_content_form
_client
.jsp"
>
<NODE
name=
"Config"
factory=
"Participant"
class=
"oneit.business.content.ArticleConfiguration"
>
<NODE
name=
"Config"
factory=
"Participant"
class=
"oneit.business.content.ArticleConfiguration"
>
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
</MAP>
</MAP>
<MAP
value=
"CREATE_JOB"
description=
"Create Job"
TemplatePage=
"dynamic_content_form
.jsp"
>
<MAP
value=
"CREATE_JOB"
description=
"Create Job"
TemplatePage=
"dynamic_content_form_client
.jsp"
>
<NODE
name=
"Config"
factory=
"Participant"
class=
"oneit.business.content.ArticleConfiguration"
>
<NODE
name=
"Config"
factory=
"Participant"
class=
"oneit.business.content.ArticleConfiguration"
>
...
...
cmsWebApp/webroot/extensions/adminportal/inc/htmlheader.jsp
View file @
c7a9fa82
...
@@ -9,39 +9,49 @@
...
@@ -9,39 +9,49 @@
</head>
</head>
<body>
<body>
<header>
<
%
<div
class=
"container-fluid"
>
if
(
clientUser
!=
null
)
<div
class=
"row"
>
{
<div
class=
"site-logo"
>
%
>
<a
href=
"#"
><img
src=
"images/logo.png"
></a>
<header>
</div>
<div
class=
"container-fluid"
>
<div
class=
"search-bar"
>
<div
class=
"row"
>
<img
src=
"images/search-icon.png"
>
<div
class=
"site-logo"
>
<input
type=
"text"
class=
"form-control"
placeholder=
"Search for job, candidate or client"
>
<a
href=
"#"
><img
src=
"images/logo.png"
></a>
</div>
</div>
<div
class=
"fl-right"
>
<div
class=
"search-bar"
>
<div
class=
"notification-bar"
>
<img
src=
"images/search-icon.png"
/>
<div
class=
"tack-center"
>
<input
type=
"text"
class=
"form-control"
placeholder=
"Search for job, candidate or client"
/>
<a
href=
"#"
>
</div>
<span
class=
"notification-label"
>
1
</span>
<div
class=
"fl-right"
>
<img
src=
"images/notification-icon.png"
>
<div
class=
"notification-bar"
>
</a>
<div
class=
"tack-center"
>
</div>
<a
href=
"#"
>
<span
class=
"notification-label"
>
1
</span>
<img
src=
"images/notification-icon.png"
>
</a>
</div>
</div>
<div
class=
"user-profile-dropdown"
>
<a
href=
"#"
class=
"user-name"
data-toggle=
"dropdown"
>
<oneit:toString
value=
"<%= oneit.security.jsp.SecUserToNameTransform.INSTANCE.transform(clientUser) %>"
mode=
"EscapeHTML"
/>
<img
src=
"images/arrow.png"
/>
</a>
<ul
class=
"profile-dropdown dropdown-menu"
>
<span
class=
"arrow-up"
></span>
<li><a
href=
"#"
>
Menu item
</a></li>
<li><a
href=
"#"
>
Menu item
</a></li>
<li><a
href=
"#"
>
Menu item
</a></li>
<li><a
href=
"#"
>
Menu item
</a></li>
</ul>
</div>
<div
class=
"create-job-btn"
>
<a
href=
"<%= WebUtils.getArticleLink(request, objTran, WebUtils.CREATE_JOB, "
Page
")
%
>
">Create Job
</a>
</div>
</div>
</div>
</div>
</div>
<div
class=
"user-profile-dropdown"
>
</header>
<a
href=
"#"
class=
"user-name"
data-toggle=
"dropdown"
>
Maria Cobb
<img
src=
"images/arrow.png"
></a>
<
%
<ul
class=
"profile-dropdown dropdown-menu"
>
}
<span
class=
"arrow-up"
></span>
%
>
<li><a
href=
"#"
>
Menu item
</a></li>
<li><a
href=
"#"
>
Menu item
</a></li>
<li><a
href=
"#"
>
Menu item
</a></li>
<li><a
href=
"#"
>
Menu item
</a></li>
</ul>
</div>
<div
class=
"create-job-btn"
>
<a
href=
"#"
>
Create Job
</a>
</div>
</div>
</div>
</div>
</header>
cmsWebApp/webroot/extensions/adminportal/inc/menuinclude.jsp
View file @
c7a9fa82
<div class="container-fluid">
<div class="container-fluid">
<div class="row content">
<div class="row content">
<div class="sidebar-menu">
<%
<div class="main-menu">
if(clientUser != null)
<div class="mobile-toggle-menu">
{
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse-1">
%>
<span class="sr-only">Toggle navigation</span>
<div class="sidebar-menu">
<span class="icon-bar"></span>
<div class="main-menu">
<span class="icon-bar"></span>
<div class="mobile-toggle-menu">
<span class="icon-bar"></span>
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse-1">
</button>
<span class="sr-only">Toggle navigation</span>
</div>
<span class="icon-bar"></span>
<ul>
<span class="icon-bar"></span>
<li><a href="#"><span class="home-icon"></span>Home</a></li>
<span class="icon-bar"></span>
<li class="active"><a href="#"><span class="job-icon"></span>Jobs</a></li>
</button>
<li><a href="#"><span class="canditates-icon"></span>Canditates</a></li>
</div>
<li><a href="#"><span class="client-icon"></span>Clients</a></li>
<ul>
<span class="brack-line"></span>
<li><a href="#"><span class="home-icon"></span>Home</a></li>
<li><a href="#" class="second-menu"><span class="manage-icon"></span>Manage Users</a></li>
<li class="active"><a href="#"><span class="job-icon"></span>Jobs</a></li>
<li><a href="#" class="second-menu"><span class="company-icon"></span>My Company</a></li>
<li><a href="#"><span class="canditates-icon"></span>Canditates</a></li>
<li><a href="#" class="second-menu"><span class="billing-icon"></span>Billing</a></li>
<li><a href="#"><span class="client-icon"></span>Clients</a></li>
</ul>
<span class="brack-line"></span>
</div>
<li><a href="#" class="second-menu"><span class="manage-icon"></span>Manage Users</a></li>
</div>
<li><a href="#" class="second-menu"><span class="company-icon"></span>My Company</a></li>
<div class="main-content-area">
<li><a href="#" class="second-menu"><span class="billing-icon"></span>Billing</a></li>
\ No newline at end of file
</ul>
</div>
</div>
<%
}
%>
<div class="main-content-area">
\ No newline at end of file
cmsWebApp/webroot/testsso.jsp
View file @
c7a9fa82
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
{
{
SecUser
secUser =
SecUser.searchNAME(objTran,
userName
);
SecUser
secUser =
SecUser.searchNAME(objTran,
userName
);
if
(
Utils
.
isValidClient
(
secUser
))
if
(
Utils
.
checkAdminPortalAccess
(
secUser
))
{
{
request
.
getSession
().
invalidate
();
request
.
getSession
().
invalidate
();
request
.
getSession
().
setAttribute
(
AuthorisationToken
.
AUTH_TOKEN_ID
,
secUser
);
request
.
getSession
().
setAttribute
(
AuthorisationToken
.
AUTH_TOKEN_ID
,
secUser
);
...
@@ -32,10 +32,12 @@
...
@@ -32,10 +32,12 @@
request
.
getSession
().
setAttribute
(
SecUser
.
SEC_USER_ID
+".
loggedin
",
""+
new
Date
());
request
.
getSession
().
setAttribute
(
SecUser
.
SEC_USER_ID
+".
loggedin
",
""+
new
Date
());
request
.
getSession
().
setAttribute
(
SessionSecUserDecorator
.
REFRESH_SECURITY
,
Boolean
.
TRUE
);
request
.
getSession
().
setAttribute
(
SessionSecUserDecorator
.
REFRESH_SECURITY
,
Boolean
.
TRUE
);
String
url =
WebUtils.getArticleLink(request,
objTran
,
WebUtils
.
ADMIN_HOME
,
"
Page
");
objTran
.
commit
();
objTran
.
commit
();
objTran
.
commitResources
();
objTran
.
commitResources
();
response
.
sendRedirect
(
"
AdminPortal-CreateJob
.
htm
"
);
response
.
sendRedirect
(
url
);
}
}
else
else
{
{
...
...
sql/upgrades/20170626_AdminPortalAccessPriv.xml
0 → 100644
View file @
c7a9fa82
<?xml version="1.0"?>
<!-- @AutoRun -->
<OBJECTS
name=
""
>
<NODE
name=
"Script"
factory=
"Vector"
>
<NODE
name=
"insertOp"
factory=
"Participant"
class=
"oneit.sql.transfer.InsertOperation"
>
<tableName
factory=
"String"
>
oneit_sec_privilege
</tableName>
<value
name=
'object_id'
factory=
'Participant'
class=
"oneit.sql.transfer.DBTransferer$ObjectID"
keyName=
"TL_AccessAdminPortal"
/>
<value
name=
'object_last_updated_date'
class=
"oneit.sql.transfer.DBTransferer$Timestamp"
/>
<value
name=
'object_created_date'
class=
"oneit.sql.transfer.DBTransferer$Timestamp"
/>
<value
name=
'name'
factory=
'String'
>
TL_AccessAdminPortal
</value>
<value
name=
'description'
factory=
'String'
>
Can access admin portal
</value>
<value
name=
'category'
factory=
'String'
>
Talentology
</value>
<value
name=
'grant_priv_name'
factory=
'Null'
/>
</NODE>
<NODE
name=
"insertOp"
factory=
"Participant"
class=
"oneit.sql.transfer.InsertOperation"
query=
"select object_id roleid from oneit_sec_role where name='TL_Client'"
>
<tableName
factory=
"String"
>
oneit_sec_role_priv_link
</tableName>
<value
name=
'object_id'
factory=
'Participant'
class=
"oneit.sql.transfer.DBTransferer$ObjectID"
/>
<value
name=
'object_last_updated_date'
class=
"oneit.sql.transfer.DBTransferer$Timestamp"
/>
<value
name=
'object_created_date'
class=
"oneit.sql.transfer.DBTransferer$Timestamp"
/>
<value
name=
'role_id'
factory=
'Participant'
class=
"oneit.sql.transfer.InsertOperation$QueryColumn"
column=
"roleid"
/>
<value
name=
'priv_id'
factory=
'Participant'
class=
"oneit.sql.transfer.DBTransferer$ObjectID"
keyName=
"TL_AccessAdminPortal"
/>
</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