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
d19c0a79
Commit
d19c0a79
authored
Oct 19, 2018
by
Nilu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
HT003 refactoring and essential requirements missing sections
parent
de861b68
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
144 additions
and
158 deletions
+144
-158
ChangeApplicationStatusFP.java
cmsWebApp/src/performa/form/ChangeApplicationStatusFP.java
+1
-18
BaseJobApplication.java
cmsWebApp/src/performa/orm/BaseJobApplication.java
+0
-0
Job.java
cmsWebApp/src/performa/orm/Job.java
+14
-1
JobApplication.xml
cmsWebApp/src/performa/orm/JobApplication.xml
+2
-0
WorkFlow.java
cmsWebApp/src/performa/orm/WorkFlow.java
+7
-16
AnalysisEngine.java
cmsWebApp/src/performa/utils/AnalysisEngine.java
+3
-1
common.css
cmsWebApp/webroot/css/common.css
+6
-0
GeneralConfig_adminPortal.xml
...root/extensions/adminportal/GeneralConfig_adminPortal.xml
+1
-1
applicant_view_tabs.jsp
...ebroot/extensions/adminportal/inc/applicant_view_tabs.jsp
+11
-10
application_sorting_bar.jsp
...ot/extensions/adminportal/inc/application_sorting_bar.jsp
+30
-34
job_list.jsp
cmsWebApp/webroot/extensions/adminportal/inc/job_list.jsp
+8
-6
view_applicants_grid.jsp
...broot/extensions/adminportal/inc/view_applicants_grid.jsp
+4
-56
view_applicants_list.jsp
...broot/extensions/adminportal/inc/view_applicants_list.jsp
+15
-7
view_applicants_shortlist_grid.jsp
...nsions/adminportal/inc/view_applicants_shortlist_grid.jsp
+0
-0
view_applicants.jsp
cmsWebApp/webroot/extensions/adminportal/view_applicants.jsp
+42
-8
No files found.
cmsWebApp/src/performa/form/ChangeApplicationStatusFP.java
View file @
d19c0a79
...
...
@@ -14,8 +14,6 @@ import oneit.utils.BusinessException;
import
performa.intercom.utils.IntercomUtils
;
import
performa.orm.CompanyUser
;
import
performa.orm.JobApplication
;
import
performa.orm.types.AppProcessOption
;
import
performa.orm.types.ApplicationStatus
;
public
class
ChangeApplicationStatusFP
extends
SaveFP
{
...
...
@@ -27,22 +25,7 @@ public class ChangeApplicationStatusFP extends SaveFP
LogMgr
.
log
(
JobApplication
.
LOG
,
LogLevel
.
PROCESSING1
,
"In ChangeApplicationStatusFP changing status of Job Application : "
,
jobApplication
);
if
(
jobApplication
.
getAppProcessOption
()
==
AppProcessOption
.
TO_SHORTLIST
)
{
jobApplication
.
setApplicationStatus
(
ApplicationStatus
.
SHORTLISTED
);
}
else
if
(
jobApplication
.
getAppProcessOption
()
==
AppProcessOption
.
REMOVE_FROM_SHORTLIST
)
{
jobApplication
.
setApplicationStatus
(
ApplicationStatus
.
SUBMITTED
);
}
else
if
(
jobApplication
.
getAppProcessOption
()
==
AppProcessOption
.
TO_UNSUITABLE
)
{
jobApplication
.
setApplicationStatus
(
ApplicationStatus
.
UNSUITABLE
);
}
else
if
(
jobApplication
.
getAppProcessOption
()
==
AppProcessOption
.
REMOVE_FROM_UNSUITABLE
)
{
jobApplication
.
setApplicationStatus
(
ApplicationStatus
.
SUBMITTED
);
}
jobApplication
.
setApplicationStatus
(
jobApplication
.
getWorkFlow
().
getApplicationStatus
());
LogMgr
.
log
(
JobApplication
.
LOG
,
LogLevel
.
PROCESSING1
,
"In ChangeApplicationStatusFP Job Application Status successfully changed : "
,
jobApplication
);
...
...
cmsWebApp/src/performa/orm/BaseJobApplication.java
View file @
d19c0a79
This diff is collapsed.
Click to expand it.
cmsWebApp/src/performa/orm/Job.java
View file @
d19c0a79
...
...
@@ -52,7 +52,7 @@ public class Job extends BaseJob
createWorkFlow
(
ApplicationStatus
.
DRAFT
,
1
);
createWorkFlow
(
ApplicationStatus
.
SUBMITTED
,
2
);
createWorkFlow
(
ApplicationStatus
.
SHORTLISTED
,
3
);
createWorkFlow
(
ApplicationStatus
.
UNSUITABLE
,
4
);
createWorkFlow
(
ApplicationStatus
.
UNSUITABLE
,
9
);
}
public
WorkFlow
createWorkFlow
(
ApplicationStatus
status
,
int
sortOrder
)
throws
FieldException
...
...
@@ -419,6 +419,11 @@ public class Job extends BaseJob
return
options
;
}
public
List
<
ApplicationStatus
>
getValidApplicationStatuses
()
{
return
new
ArrayList
<>(
pipelineJob
().
toWorkFlows
().
toApplicationStatus
().
uniqueVals
());
}
public
String
getPageTitle
()
{
...
...
@@ -611,4 +616,11 @@ public class Job extends BaseJob
return
pipelineJob
().
toWorkFlows
(
filter
).
val
();
}
public
WorkFlow
getWorkFlowByStatus
(
ApplicationStatus
appStatus
)
{
Filter
<
WorkFlow
>
filter
=
WorkFlow
.
SearchByAll
().
andApplicationStatus
(
new
EqualsFilter
<>(
appStatus
));
return
pipelineJob
().
toWorkFlows
(
filter
).
val
();
}
}
\ No newline at end of file
cmsWebApp/src/performa/orm/JobApplication.xml
View file @
d19c0a79
...
...
@@ -14,6 +14,8 @@
<TRANSIENT
name=
"CultureFit"
type=
"Map"
attribHelper=
"BLOBAttributeHelper"
attribHelperInstance=
"BLOBAttributeHelper.INSTANCE"
/>
<TRANSIENT
name=
"FactorScoreDetails"
type=
"Map"
attribHelper=
"BLOBAttributeHelper"
attribHelperInstance=
"BLOBAttributeHelper.INSTANCE"
/>
<TRANSIENTSINGLE
name=
"WorkFlow"
type=
"WorkFlow"
/>
<TABLE
name=
"tl_job_application"
tablePrefix=
"object"
polymorphic=
"FALSE"
>
<ATTRIB
name=
"CV"
type=
"BinaryContent"
dbcol=
"cv"
binaryHandler=
"loggedin"
attribHelper=
"BLOBAttributeHelper"
attribHelperInstance=
"BLOBAttributeHelper.INSTANCE"
mandatory=
"false"
/>
...
...
cmsWebApp/src/performa/orm/WorkFlow.java
View file @
d19c0a79
package
performa
.
orm
;
import
java.io.*
;
import
java.util.*
;
import
oneit.appservices.config.*
;
import
oneit.logging.*
;
import
oneit.objstore.*
;
import
oneit.utils.*
;
import
performa.orm.types.*
;
public
class
WorkFlow
extends
BaseWorkFlow
{
...
...
@@ -24,6 +10,10 @@ public class WorkFlow extends BaseWorkFlow
{
// Do not add any code to this, always put it in initialiseNewObject
}
}
@Override
public
String
getToString
()
{
return
getName
();
}
}
\ No newline at end of file
cmsWebApp/src/performa/utils/AnalysisEngine.java
View file @
d19c0a79
...
...
@@ -363,7 +363,9 @@ public class AnalysisEngine
for
(
AssessmentCriteriaAnswer
answer
:
assessmentCriteriaAnswers
)
{
if
(
answer
.
getAssessmentCriteria
()
!=
null
&&
answer
.
getAssessmentCriteria
().
getImportance
()
!=
null
)
// only desirable and highly desirable requirements should be calculated for score
if
(
answer
.
getAssessmentCriteria
()
!=
null
&&
answer
.
getAssessmentCriteria
().
getImportance
()
!=
null
&&
answer
.
getAssessmentCriteria
().
getImportance
()
!=
Importance
.
ESSENTIAL
)
{
Importance
importance
=
answer
.
getAssessmentCriteria
().
getImportance
();
int
maxScore
=
importance
.
getWeightingScore
();
...
...
cmsWebApp/webroot/css/common.css
View file @
d19c0a79
...
...
@@ -3943,6 +3943,9 @@ no-applicant.inactive a:hover,no-applicant.inactive a:hover span{
.appli-view-bar
.progress-bar
{
background
:
#667281
;
}
.appli-view-bar
.progress-bar.green
{
background
:
#67B413
;
}
.appli-percent-no
{
font-size
:
36px
;
font-weight
:
300
;
...
...
@@ -6468,3 +6471,5 @@ input{
.job-edit-pop
.jBox-content
{
padding
:
0
}
.job-edit-pop
.jBox-container
{
border-radius
:
2px
!important
;
width
:
240px
;
box-shadow
:
0
3px
9px
0
rgba
(
0
,
0
,
0
,
0.35
);
background-color
:
#FFFFFF
;}
.job-edit-menu
.job-edit-menu-item
{
display
:
block
;
font-weight
:
500
;
height
:
45px
;
padding
:
24px
;
border-bottom
:
1px
solid
#DBDBDF
;
font-size
:
11px
;
line-height
:
1px
;
letter-spacing
:
1px
;
color
:
#03A0E7
;}
.red-requirements
{
color
:
#F9623D
;}
\ No newline at end of file
cmsWebApp/webroot/extensions/adminportal/GeneralConfig_adminPortal.xml
View file @
d19c0a79
...
...
@@ -30,7 +30,7 @@
<RenderMode
name=
"Page"
preIncludeJSP=
"extensions/adminportal/list_jobs.jsp"
/>
<RenderMode
name=
"EditJob"
preIncludeJSP=
"extensions/adminportal/edit_job.jsp"
/>
<RenderMode
name=
"ViewApplicants"
preIncludeJSP=
"extensions/adminportal/view_applicants.jsp"
/>
<RenderMode
name=
"ViewApplicantsGrid"
preIncludeJSP=
"extensions/adminportal/view_applicants
s
_grid.jsp"
/>
<RenderMode
name=
"ViewApplicantsGrid"
preIncludeJSP=
"extensions/adminportal/view_applicants_grid.jsp"
/>
<RenderMode
name=
"ApplicantsShortlist"
preIncludeJSP=
"extensions/adminportal/view_applicants_shortlist.jsp"
/>
<RenderMode
name=
"ApplicantsGrid"
preIncludeJSP=
"extensions/adminportal/view_applicants_shortlist_grid.jsp"
/>
<RenderMode
name=
"UnsuitableApps"
preIncludeJSP=
"extensions/adminportal/view_applicants_unsuitable.jsp"
/>
...
...
cmsWebApp/webroot/extensions/adminportal/inc/applicant_view_tabs.jsp
View file @
d19c0a79
...
...
@@ -6,7 +6,7 @@
<%
Job job = (Job) process.getAttribute("Job");
int tabNumber = (int) getData(request, "TabNumber
");
ApplicationStatus appStatus = (ApplicationStatus) getData(request, "ApplicationStatus
");
String applicantsPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS);
// String secondTab = WebUtils.getSamePageInRenderMode(request, WebUtils.APPLICANTS_SHORTLIST);
// String thirdTab = WebUtils.getSamePageInRenderMode(request, WebUtils.UNSUITABLE_APPS);
...
...
@@ -20,16 +20,17 @@
<div class="first-part">
<oneit:dynInclude page="/extensions/adminportal/inc/job_title_bar.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="int-timeline">
<ul>
<li class="<%= "incomplete " + (noOfIncomplete > 0 ? "has-applicant" : "no-applicant") %> <%= tabNumber == 1
? "active" : "inactive" %>">
<oneit:button id="unsuitableBtn" value=" " name="gotoPage" skin="link" disabled="<%= noOfUnsuitabl
e > 0 ? "false" : "true" %>"
<li class="<%= "incomplete " + (noOfIncomplete > 0 ? "has-applicant" : "no-applicant") %> <%= appStatus == ApplicationStatus.DRAFT
? "active" : "inactive" %>">
<oneit:button id="unsuitableBtn" value=" " name="gotoPage" skin="link" disabled="<%= noOfIncomplet
e > 0 ? "false" : "true" %>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("TabNumber", 1
).toMap())
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("ApplicationStatus", ApplicationStatus.DRAFT
).toMap())
.toMap() %>">
<span>
<oneit:toString value="<%= noOfIncomplete %>" mode="Integer" />
</span>
<%= job.getWorkFlowBySortOrder(1).getName(
) %>
<%= job.getWorkFlowBySortOrder(1
) %>
</oneit:button>
</li>
<%
...
...
@@ -37,10 +38,10 @@
{
int noOfCandidates = workflow.getSortOrder() == 2 ? job.getNoOfCandidatesApplied() : job.getNoOfCandidatesFor(workflow.getApplicationStatus());
%>
<li class="<%= noOfCandidates > 0 ? "has-applicant" : "" %> <%= (tabNumber == workflow.getSortOrder
()) ? "active" : "inactive" %>">
<li class="<%= noOfCandidates > 0 ? "has-applicant" : "" %> <%= (appStatus == workflow.getApplicationStatus
()) ? "active" : "inactive" %>">
<oneit:button value=" " name="gotoPage" skin="link" disabled="<%= noOfCandidates > 0 ? "false" : "true" %>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("TabNumber", workflow.getSortOrder
()).toMap())
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("ApplicationStatus", workflow.getApplicationStatus
()).toMap())
.toMap() %>">
<span>
<oneit:toString value="<%= noOfCandidates %>" mode="Integer" />
...
...
@@ -53,15 +54,15 @@
%>
</ul>
</div>
<div class="unsutable <%= noOfUnsuitable > 0 ? "has-applicant" : "no-applicant" %> <%=
tabNumber == 9
? "active" : "inactive" %>">
<div class="unsutable <%= noOfUnsuitable > 0 ? "has-applicant" : "no-applicant" %> <%=
appStatus == ApplicationStatus.UNSUITABLE
? "active" : "inactive" %>">
<oneit:button id="unsuitableBtn" value=" " name="gotoPage" skin="link" disabled="<%= noOfUnsuitable > 0 ? "false" : "true" %>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("
TabNumber", 9
).toMap())
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("
ApplicationStatus", ApplicationStatus.UNSUITABLE
).toMap())
.toMap() %>">
<span>
<oneit:toString value="<%= noOfUnsuitable %>" mode="Integer" />
</span>
<%= job.getWorkFlowBySortOrder(9)
.getName()
%>
<%= job.getWorkFlowBySortOrder(9)%>
</oneit:button>
</div>
</div>
...
...
cmsWebApp/webroot/extensions/adminportal/inc/application_sorting_bar.jsp
View file @
d19c0a79
...
...
@@ -7,11 +7,13 @@
<%
Job job = (Job) process.getAttribute("Job");
String currentPage = (String) getData(request, "currentPage");
AppSortOption appSortOpt = (AppSortOption) getData(request, "sortOption");
String tabNumber = (String) getData(request, "tabNumber");
ApplicationStatus appStatus = (ApplicationStatus) getData(request, "appStatus");
Boolean showOrderBy = getData(request, "showOrderBy")!= null ? (Boolean) getData(request, "showOrderBy") : Boolean.FALSE;
boolean showList = (boolean) getData(request, "ShowList");
SearchApplicant searchApplicant = (SearchApplicant) getData(request, "SearchApplicant");
String applicantsPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS);
%>
<oneit:dynIncluded>
...
...
@@ -54,68 +56,46 @@
enums="<%= job.getValidProcessOptions(appStatus) %>"/>
<oneit:button name="bulkupdate" value=" " cssClass="bulk-update" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage",
current
Page)
requestAttribs="<%= CollectionUtils.mapEntry("nextPage",
applicants
Page)
.mapEntry ("restartProcess", Boolean.TRUE)
.mapEntry ("attribNamesToRestore", Collections.singleton("Job"))
.mapEntry("Job", job)
.toMap() %>" />
</div>
<%
if(tabNumber != null)
{
String firstTab = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS);
String secondTab = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS_GRID);
if(appStatus != null && appStatus == ApplicationStatus.SHORTLISTED)
{
firstTab = WebUtils.getSamePageInRenderMode(request, WebUtils.APPLICANTS_SHORTLIST);
secondTab = WebUtils.getSamePageInRenderMode(request, WebUtils.APPLICANTS_GRID);
}
%>
<div class="appli-filter">
<ul class="">
<li class="lable-appli-shorting">View</li>
<li class="<%= (tabNumber == "1"
? "active" : "" ) + " short-list"%>">
<li class="<%= (showList
? "active" : "" ) + " short-list"%>">
<oneit:button value="List" name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", firstTab
)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job
).toMap())
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage
)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("ShowList", true
).toMap())
.toMap() %>"/>
</li>
<li class="<%= (tabNumber == "2"
? "active" : "" ) + " grid-list"%>">
<li class="<%= (!showList
? "active" : "" ) + " grid-list"%>">
<oneit:button value="Grid" name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", secondTab
)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job
).toMap())
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage
)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("ShowList", false
).toMap())
.toMap() %>"/>
</li>
</ul>
</div>
<%--
<div class="appli-shorting-dropdown">
<span class="appli-order-label">Export</span>
<select class="form-control">
<option>PDF</option>
<option>CSV</option>
</select>
</div>
--%>
<%
}
%>
<div class="shorting-dropdown">
<div class="order-label">Search Applicants</div>
<oneit:ormInput obj="<%= searchApplicant %>" type="text" attributeName="Details" cssClass="form-control search-input" id="searchText" />
</div>
<oneit:button value="Search" name="search" cssClass="btn btn-primary" style="display:none;"/>
<%
if(showOrderBy)
{
%>
<div class="
appli-
shorting-dropdown">
<div class="shorting-dropdown">
<span class="appli-order-label">order by</span>
<select class="form-control" onChange="location=this.value">
<%
for (AppSortOption sortOption : AppSortOption.getAppSortOptionArray())
{
String optionLink =
current
Page + "&JobID=" + job.getID() + "&AppSortOption=" + sortOption.getName();
String optionLink =
applicants
Page + "&JobID=" + job.getID() + "&AppSortOption=" + sortOption.getName();
%>
<option <%= (appSortOpt != null && appSortOpt == sortOption ? "selected" : "" )%> value="<%= optionLink %>">
<oneit:toString value="<%= sortOption.getDescription() %>" mode="EscapeHTML"/>
...
...
@@ -128,6 +108,22 @@
<%
}
%>
<div class="shorting-dropdown">
<span class="appli-order-label">Showing</span>
<select class="form-control" onChange="location=this.value">
<%
for (AppSortOption sortOption : AppSortOption.getAppSortOptionArray())
{
String optionLink = applicantsPage + "&JobID=" + job.getID() + "&AppSortOption=" + sortOption.getName();
%>
<option <%= (appSortOpt != null && appSortOpt == sortOption ? "selected" : "" )%> value="<%= optionLink %>">
<oneit:toString value="<%= sortOption.getDescription() %>" mode="EscapeHTML"/>
</option>
<%
}
%>
</select>
</div>
</div>
</div>
...
...
cmsWebApp/webroot/extensions/adminportal/inc/job_list.jsp
View file @
d19c0a79
...
...
@@ -43,15 +43,16 @@
{
int shortlisted = job.getNoOfCandidatesFor(ApplicationStatus.SHORTLISTED);
int maxShortlist = job.getMaxShortlistApplicants();
String goToPage = shortlisted > 0 ? shortlistPage : nextPage;
%>
<div class="job-list" id="<%= job.getID() %>">
<div class="job-row" >
<div class="job-post jl-c eq-second-height" style="height: 107px;">
<div class="job-post-name">
<a href="<%= goToPage+"&JobID="+job.getObjectID() %>">
<oneit:button value=" " name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap())
.toMap() %>">
<oneit:toString value="<%= job.getJobTitle() %>" mode="EscapeHTML" />
</a>
<%
if(job.getReferenceNumber() != null)
{
...
...
@@ -60,6 +61,7 @@
<%
}
%>
</oneit:button>
</div>
<div class="job-company-name">
<span class="superlaw">
...
...
@@ -99,7 +101,7 @@
<div class="ja-icon"><img src="images/job-list-user.svg"></div>
<div class="ja-count">
<oneit:button value=" " name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage",
goTo
Page)
requestAttribs="<%= CollectionUtils.mapEntry("nextPage",
next
Page)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap())
.toMap() %>" disabled="<%= job.getJobStatus() == JobStatus.DRAFT ? "true" : "false" %>">
<oneit:toString value="<%= job.getNoOfCandidatesApplied() %>" mode="EscapeHTML" nullValue="0"/>
...
...
@@ -125,8 +127,8 @@
</div>
<div class="ja-count">
<oneit:button value=" " name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage",
shortlis
tPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap())
requestAttribs="<%= CollectionUtils.mapEntry("nextPage",
nex
tPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).
mapEntry("ApplicationStatus", ApplicationStatus.SHORTLISTED).
toMap())
.toMap() %>" disabled="<%= job.getJobStatus() == JobStatus.DRAFT ? "true" : "false" %>">
<oneit:toString value="<%= shortlisted %>" mode="Integer" nullValue="0"/>
</oneit:button>
...
...
cmsWebApp/webroot/extensions/adminportal/
view_applicants
s_grid.jsp
→
cmsWebApp/webroot/extensions/adminportal/
inc/view_applicant
s_grid.jsp
View file @
d19c0a79
...
...
@@ -8,47 +8,14 @@
<oneit:dynIncluded>
<%
Job job = (Job) process.getAttribute("Job");
if(job==null && request.getParameter("JobID")!=null)
{
job = Job.getJobByID(transaction, Long.parseLong(request.getParameter("JobID")));
process.setAttribute("Job", job);
}
Debug.assertion(job != null, "Job is null in admin portal view applicants");
List<JobApplication> applications = (List<JobApplication>) getData(request, "applications");
String applicationPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION);
String currentPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS_GRID);
AppSortOption appSortOpt = (AppSortOption) process.getAttribute("AppSortOption");
if(request.getParameter("AppSortOption") != null)
{
appSortOpt = AppSortOption.forName((String) request.getParameter("AppSortOption"));
}
if(appSortOpt == null)
{
appSortOpt = AppSortOption.RANK;
}
JobApplication[] applications = (JobApplication[]) process.getAttribute("JobApplications");
if(applications==null)
{
applications = JobApplication.SearchByAll()
.andJob(new EqualsFilter<>(job))
.andApplicationStatus(new NotEqualsFilter<>(ApplicationStatus.DRAFT))
.search(transaction);
process.setAttribute("JobApplications", applications);
}
List<JobApplication> sortedApplications = applications!=null ? Utils.getApplicationsSorted(applications, appSortOpt) : new ArrayList<JobApplication>();
process.setAttribute("AppSortOption", appSortOpt);
%>
<script type="text/javascript">
$(document).ready(function()
{
...
...
@@ -91,27 +58,12 @@
});
</script>
<oneit:form name="viewApplicants" method="post" enctype="multipart/form-data">
<div class="dashboard-content-area">
<oneit:dynInclude page="/extensions/adminportal/inc/applicant_view_tabs.jsp" TabNumber="1" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="second-part view-app-area">
<oneit:dynInclude page="/extensions/adminportal/inc/application_sorting_bar.jsp"
sortOption="<%= appSortOpt %>"
currentPage="<%= currentPage %>"
tabNumber="2"
showOrderBy="<%= sortedApplications.size() > 1 %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="five-boxs">
<%
int index = 0;
for(JobApplication jobApplication : sortedA
pplications)
for(JobApplication jobApplication : a
pplications)
{
String appID = "app-id-" + jobApplication.getID().toString();
Integer overallRank = jobApplication.getOverallRank();
...
...
@@ -131,7 +83,7 @@
</div>
<oneit:button value=" " name="gotoPage" cssClass="<%= jobApplication.getID() + ""%>" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).mapEntry("Applications", sortedA
pplications).toMap())
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).mapEntry("Applications", a
pplications).toMap())
.toMap() %>">
<div class="overall-suitablity">
<div class="<%= "overall " + (isTopRank ? "f-60" : "")%>">overall rank</div>
...
...
@@ -188,7 +140,4 @@
}
%>
</div>
</div>
</div>
</oneit:form>
</oneit:dynIncluded>
\ No newline at end of file
cmsWebApp/webroot/extensions/adminportal/inc/
application_list_data
.jsp
→
cmsWebApp/webroot/extensions/adminportal/inc/
view_applicants_list
.jsp
View file @
d19c0a79
...
...
@@ -9,7 +9,7 @@
Job job = (Job) process.getAttribute("Job");
List<JobApplication> applications = (List<JobApplication>) getData(request, "applications");
String currentPage = (String) getData(request, "currentPage");
int tabNumber = (int) getData(request, "TabNumber
");
ApplicationStatus appStatus = (ApplicationStatus) getData(request, "ApplicationStatus
");
String applicationPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION);
%>
...
...
@@ -17,7 +17,7 @@
<script type="text/javascript">
$(document).ready(function()
{
$("
.app-process
").change(function()
$("
[name$='WorkFlow']
").change(function()
{
var id = $(this).closest('.appli-row').attr('id');
$('.save-application' + id).click();
...
...
@@ -30,12 +30,17 @@
for(JobApplication jobApplication : applications)
{
long criteriaVal = jobApplication.getRequirementFitScore();
String roleFit = FormatUtils.stringify(jobApplication.getRoleFitPercentage(), "PercentageTwoDP", "0");
String culture = FormatUtils.stringify(jobApplication.getCultureFitScore(), "PercentageWholeNumber", "0");
String criteria = FormatUtils.stringify(jobApplication.getRequirementFitScore(), "PercentageWholeNumber", "0");
String appID = "app-id-" + jobApplication.getID().toString();
Integer overallRank = jobApplication.getOverallRank();
Boolean isTopRank = CollectionUtils.equals(overallRank, 1);
WorkFlow workflow = job.getWorkFlowByStatus(jobApplication.getApplicationStatus());
boolean missingReq = jobApplication.hasFailedEssentialRequirements();
jobApplication.setWorkFlow(workflow);
%>
<div class="appli-row" id="<%= jobApplication.getID() %>">
<div class="appli-checkbox appli-l eq-second-height">
...
...
@@ -67,7 +72,7 @@
<%
String widthClass = "appli-jcs2";
if(job.getIncludeAssessmentCriteria()
==
Boolean.TRUE)
if(job.getIncludeAssessmentCriteria()
==
Boolean.TRUE)
{
widthClass = "appli-jcs";
}
...
...
@@ -99,26 +104,29 @@
<div class="<%= widthClass %> appli-l eq-second-height">
<span class="appli-view-bar">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="<%= criteria %>" aria-valuemin="0" aria-valuemax="100"
<div class="progress-bar
<%= (criteriaVal == 100 ? " green" : "")%>
" role="progressbar" aria-valuenow="<%= criteria %>" aria-valuemin="0" aria-valuemax="100"
style="<%= "width: " + criteria %>">
</div>
</div>
</span>
<span class="<%= missingReq ? "red-requirements" : "" %>">
requirements
</span>
</div>
<%
}
%>
<div class="appli-status appli-l eq-second-height">
<div class="appli-list-drop">
<
oneit:ormEnum obj="<%= jobApplication %>" attributeName="AppProcessOption" cssClass="form-control app-process"
enums="<%= jobApplication.getValidProcessOptions(
) %>"/>
<
tagfile:ormsingleasso_select obj="<%= jobApplication %>" assocName="WorkFlow" cssClass="form-control app-process"
options="<%= job.getWorkFlowsSet().toArray(new WorkFlow[0]
) %>"/>
</div>
</div>
<oneit:button name="changeApplicationStatus" value=" " cssClass="<%= "save-application" + jobApplication.getID().toString() + " hidden"%>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", currentPage)
.mapEntry ("restartProcess", Boolean.TRUE)
.mapEntry ("attribNamesToRestore", Collections.singleton("Job"))
.mapEntry("procParams", CollectionUtils.mapEntry("ApplicationStatus", appStatus).mapEntry("Job", job).toMap())
.mapEntry ("attribNamesToRestore", new HashSet<String> (Arrays.asList(new String[] {"Job", "ApplicationStatus"})))
.mapEntry("JobApplication", jobApplication)
.toMap() %>" />
</div>
...
...
cmsWebApp/webroot/extensions/adminportal/inc/view_applicants_shortlist_grid.jsp
0 → 100644
View file @
d19c0a79
This diff is collapsed.
Click to expand it.
cmsWebApp/webroot/extensions/adminportal/view_applicants.jsp
View file @
d19c0a79
...
...
@@ -22,10 +22,12 @@
String currentPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS);
String applicationPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION);
AppSortOption appSortOpt = (AppSortOption) process.getAttribute("AppSortOption");
ApplicationStatus appStatus = process.getAttribute("ApplicationStatus") != null ? (ApplicationStatus) process.getAttribute("ApplicationStatus") : ApplicationStatus.SUBMITTED;
int tabNumber = process.getAttribute("TabNumber") != null ? (int) process.getAttribute("TabNumber") : 2;
boolean showList = process.getAttribute("ShowList") != null ? (boolean) process.getAttribute("ShowList") : true;
SearchApplicant searchApplicant = (SearchApplicant) RunSearchExecutorFP.setupExecutor(request, SearchApplicant.REFERENCE_SearchApplicant, true);
JobApplication[] applications = (JobApplication[]) process.getAttribute("JobApplications");
WorkFlow workflow = job.getWorkFlowByS
ortOrder(tabNumber
);
WorkFlow workflow = job.getWorkFlowByS
tatus(appStatus
);
searchApplicant.setJob(job);
...
...
@@ -55,36 +57,68 @@
// filter applicants by workflow
oneit.utils.filter.Filter<JobApplication> filter = JobApplication.SearchByAll().andApplicationStatus(new EqualsFilter<>(workflow.getApplicationStatus()));
oneit.utils.filter.Filter<JobApplication> applicantFilter = JobApplication.SearchByAll().andApplicationStatus(new NotEqualsFilter<>(ApplicationStatus.DRAFT));
applicantList = new ArrayList<>(CollectionFilter.filter(applicantList, filter));
// if Applicant Status, then show all application completed applicants
applicantList = new ArrayList<>(CollectionFilter.filter(applicantList, appStatus == ApplicationStatus.SUBMITTED ? applicantFilter : filter));
List<JobApplication> sortedApplications = Utils.getApplicationsSorted(applicantList, appSortOpt);
process.setAttribute("AppSortOption", appSortOpt);
process.setAttribute("ApplicationStatus", appStatus);
process.setAttribute("TabNumber", tabNumber);
process.setAttribute("ShowList", showList);
%>
<oneit:form name="viewApplicants" method="post" enctype="multipart/form-data">
<div class="dashboard-content-area">
<oneit:dynInclude page="/extensions/adminportal/inc/applicant_view_tabs.jsp"
TabNumber="<%= tabNumber
%>"
ApplicationStatus="<%= appStatus
%>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="second-part view-app-area">
<oneit:dynInclude page="/extensions/adminportal/inc/application_sorting_bar.jsp"
tabNumber="1"
sortOption="<%= appSortOpt %>"
currentPage="<%= currentPage %>"
ShowList="<%= showList %>"
SearchApplicant="<%= searchApplicant %>"
showOrderBy="<%= sortedApplications.size() > 1 %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<oneit:dynInclude page="/extensions/adminportal/inc/application_list_data.jsp"
<%
if(showList)
{
%>
<oneit:dynInclude page="/extensions/adminportal/inc/view_applicants_list.jsp"
applications="<%= sortedApplications %>"
currentPage="<%= currentPage %>"
ApplicationStatus="<%= appStatus %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<%
}
else
{
if(appStatus == ApplicationStatus.SHORTLISTED)
{
%>
<oneit:dynInclude page="/extensions/adminportal/inc/view_applicants_shortlist_grid.jsp"
applications="<%= sortedApplications %>"
currentPage="<%= currentPage %>"
TabNumber="<%= tabNumber %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<%
}
else
{
%>
<oneit:dynInclude page="/extensions/adminportal/inc/view_applicants_grid.jsp"
applications="<%= sortedApplications %>"
currentPage="<%= currentPage %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<%
}
}
%>
</div>
</div>
</oneit:form>
...
...
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