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
d8b69c1e
Commit
d8b69c1e
authored
Nov 06, 2019
by
nilu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
S51619299 # Client - Incoming Issues #Messaging & Workflow Changes
parent
1dffa8ed
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
177 additions
and
116 deletions
+177
-116
Job.java
cmsWebApp/src/performa/orm/Job.java
+1
-1
JobApplication.java
cmsWebApp/src/performa/orm/JobApplication.java
+23
-0
BaseSearchApplicant.java
cmsWebApp/src/performa/search/BaseSearchApplicant.java
+0
-0
SearchApplicant.java
cmsWebApp/src/performa/search/SearchApplicant.java
+17
-1
SearchApplicant.xml
cmsWebApp/src/performa/search/SearchApplicant.xml
+2
-0
WorkflowDataMigration.java
cmsWebApp/src/performa/utils/WorkflowDataMigration.java
+1
-1
common.css
cmsWebApp/webroot/css/common.css
+26
-12
applicant_view_tabs.jsp
...ebroot/extensions/adminportal/inc/applicant_view_tabs.jsp
+53
-20
application_sorting_bar.jsp
...ot/extensions/adminportal/inc/application_sorting_bar.jsp
+37
-29
job_list.jsp
cmsWebApp/webroot/extensions/adminportal/inc/job_list.jsp
+1
-22
view_applicants_list.jsp
...broot/extensions/adminportal/inc/view_applicants_list.jsp
+4
-1
view_applicants.jsp
cmsWebApp/webroot/extensions/adminportal/view_applicants.jsp
+12
-29
No files found.
cmsWebApp/src/performa/orm/Job.java
View file @
d8b69c1e
...
...
@@ -622,7 +622,7 @@ public class Job extends BaseJob
public
List
<
WorkFlowStage
>
getSortedMiddleStages
()
{
Filter
<
WorkFlowStage
>
filter
=
WorkFlowStage
.
SearchByAll
().
andStageType
(
new
NotInFilter
<>(
StageType
.
INITIAL
,
StageType
.
UNSUITABLE
,
StageType
.
WITHDREW
));
Filter
<
WorkFlowStage
>
filter
=
WorkFlowStage
.
SearchByAll
().
andStageType
(
new
EqualsFilter
<>(
StageType
.
GENERIC
));
return
ObjstoreUtils
.
sort
(
pipelineJob
().
toWorkFlowTemplate
().
toWorkFlowStages
(
filter
).
uniqueVals
(),
new
ObjectTransform
[]{
WorkFlowStage
.
pipesWorkFlowStage
().
toSortOrder
()},
...
...
cmsWebApp/src/performa/orm/JobApplication.java
View file @
d8b69c1e
...
...
@@ -796,4 +796,26 @@ public class JobApplication extends BaseJobApplication
{
return
isTrue
(
super
.
getPreferRemote
());
}
public
Boolean
hasCompletedStep
(
StepType
stepType
)
{
if
(
stepType
==
StepType
.
DIVERSITY
&&
isDiversityIncluded
())
{
return
diversityCompleted
();
}
else
if
(
stepType
==
StepType
.
REQUIREMENT_FIT
)
{
return
selectionCompleted
();
}
else
if
(
stepType
==
StepType
.
CULTURE_FIT
)
{
return
cultureCompleted
();
}
else
if
(
stepType
==
StepType
.
ROLE_FIT
)
{
return
assessmentCompleted
();
}
return
true
;
}
}
\ No newline at end of file
cmsWebApp/src/performa/search/BaseSearchApplicant.java
View file @
d8b69c1e
This diff is collapsed.
Click to expand it.
cmsWebApp/src/performa/search/SearchApplicant.java
View file @
d8b69c1e
...
...
@@ -4,6 +4,7 @@ import java.util.ArrayList;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
oneit.logging.LogLevel
;
import
oneit.logging.LogMgr
;
import
oneit.logging.LoggingArea
;
...
...
@@ -51,7 +52,22 @@ public class SearchApplicant extends BaseSearchApplicant
app
.
setApplicationStatus
(
appStatus
);
if
(
getFilter
()
!=
null
)
if
(!
getShowIncomplete
())
{
Set
<
WorkFlowStep
>
steps
=
app
.
pipelineJobApplication
().
toWorkFlowStage
().
toSteps
().
uniqueVals
();
for
(
WorkFlowStep
step
:
steps
)
{
skip
=
!
app
.
hasCompletedStep
(
step
.
getStepType
());
if
(
skip
)
{
break
;
}
}
}
if
(!
skip
&&
getFilter
()
!=
null
)
{
skip
=
applyFilters
(
app
);
}
...
...
cmsWebApp/src/performa/search/SearchApplicant.xml
View file @
d8b69c1e
...
...
@@ -8,6 +8,8 @@
<IMPORT
value=
"performa.orm.*"
/>
<IMPORT
value=
"performa.orm.types.*"
/>
<TRANSIENT
name=
"ShowIncomplete"
type=
"Boolean"
defaultValue=
"Boolean.FALSE"
/>
<TABLE
tablePrefix=
"object"
polymorphic=
"FALSE"
>
<ATTRIB
name=
"Details"
type=
"String"
dbcol=
"xxxx"
/>
...
...
cmsWebApp/src/performa/utils/WorkflowDataMigration.java
View file @
d8b69c1e
...
...
@@ -108,7 +108,7 @@ public class WorkflowDataMigration
for
(
JobApplication
jobApplication
:
job
.
getJobApplicationsSet
())
{
jobApplication
.
setApplicantSource
(
jobApplication
.
getIsEmailIngest
(
)
?
ApplicantSource
.
INGEST
:
ApplicantSource
.
APPLY_URL
);
jobApplication
.
setApplicantSource
(
jobApplication
.
isTrue
(
jobApplication
.
getIsEmailIngest
()
)
?
ApplicantSource
.
INGEST
:
ApplicantSource
.
APPLY_URL
);
jobApplication
.
setWorkFlowStage
(
getWFStageByStatus
(
wfTemplate
,
jobApplication
.
getApplicationStatus
()));
}
}
...
...
cmsWebApp/webroot/css/common.css
View file @
d8b69c1e
...
...
@@ -2735,24 +2735,24 @@ a.forgot-pass {
float
:
left
;
}
.job-post
{
width
:
32.9
%
;
width
:
45
%
;
padding-left
:
39px
;
padding-top
:
25px
;
padding-bottom
:
25px
;
border-right
:
solid
1px
rgba
(
229
,
232
,
235
,
0.5
);
}
.job-application
{
width
:
2
1.2
%
;
width
:
2
0
%
;
padding
:
24px
15px
26px
50px
;
border-right
:
solid
1px
rgba
(
229
,
232
,
235
,
0.5
);
}
.job-shortlisted
{
width
:
21.2
%
;
width
:
10
%
;
padding
:
24px
15px
26px
50px
;
border-right
:
solid
1px
rgba
(
229
,
232
,
235
,
0.5
);
}
.job-states
{
width
:
2
4
%
;
width
:
2
5
%
;
padding
:
28px
28px
;
}
.job-post-name
{
...
...
@@ -3041,7 +3041,12 @@ a.forgot-pass {
.shorting-dropdown
.search-input
{
border
:
solid
1px
#b9bbbd
;
}
label
.show-incomplete
{
margin-right
:
20px
;
font-size
:
13px
;
color
:
#4E5258
;
font-family
:
"Usual-Regular"
;
}
.select2type
.dropdown-toggle
{
font-size
:
12px
;
...
...
@@ -4472,7 +4477,7 @@ no-applicant.inactive a:hover,no-applicant.inactive a:hover span{
color
:
#4a4a4a
;
font-size
:
20px
;
padding
:
14px
0
17px
21px
;
width
:
2
2
%
;
width
:
2
0
%
;
}
.appli-list-name.wider-box
{
width
:
37%
;
...
...
@@ -4493,13 +4498,21 @@ no-applicant.inactive a:hover,no-applicant.inactive a:hover span{
.diversity
.checkbox-list
input
[
type
=
"checkbox"
]
:disabled
+
label
{
opacity
:
1
;
}
.appli-message
{
width
:
5%
;
color
:
#4a4a4a
;
font-size
:
11px
;
letter-spacing
:
1px
;
padding
:
15px
18px
15px
;
text-transform
:
uppercase
;
}
.appli-jcs
{
color
:
#4a4a4a
;
font-size
:
11px
;
letter-spacing
:
1px
;
padding
:
26px
18px
5px
;
text-transform
:
uppercase
;
width
:
1
5
%
;
width
:
1
4
%
;
}
.appli-jcs2
{
color
:
#4a4a4a
;
...
...
@@ -4595,7 +4608,7 @@ no-applicant.inactive a:hover,no-applicant.inactive a:hover span{
.appli-status
{
border
:
medium
none
;
padding
:
15px
23px
0
;
width
:
1
5
%
;
width
:
1
0
%
;
}
.appli-status.include-diversity
{
width
:
10%
;
...
...
@@ -5478,9 +5491,9 @@ img.alert-icon {float: left;}
.d-three-box
{
max-width
:
100%
;
width
:
32.3%
;}
.d-create-job-btn
{
margin
:
15px
0
;}
.job-post
{
width
:
100%
;
border-bottom
:
1px
solid
rgba
(
229
,
232
,
235
,
0.5
);}
.job-application
{
width
:
33.2
%
}
.job-shortlisted
{
width
:
33.2
%
}
.job-states
{
width
:
33.2
%
;
padding-top
:
24px
;
padding-bottom
:
24px
;}
.job-application
{
width
:
40
%
}
.job-shortlisted
{
width
:
20
%
}
.job-states
{
width
:
40
%
;
padding-top
:
24px
;
padding-bottom
:
24px
;}
.job-filter
>
ul
{
padding-right
:
0
;}
.job-filter
{
display
:
inline-block
;
position
:
relative
;
top
:
0
;
width
:
100%
;
margin-bottom
:
18px
;
margin-top
:
8px
;}
.shorting-dropdown
{
float
:
right
;}
...
...
@@ -5837,7 +5850,8 @@ img.alert-icon {float: left;}
.search-bar
{
width
:
100%
;}
.social-login
li
{
width
:
31.2%
;}
.ratting-box
span
{
display
:
inline-block
;
margin
:
10px
0
;
width
:
100%
;}
.job-application
,
.job-shortlisted
{
width
:
50%
;}
.job-application
{
width
:
70%
;}
.job-shortlisted
{
width
:
30%
;}
.job-states
{
width
:
100%
;
border-top
:
1px
solid
rgba
(
229
,
232
,
235
,
0.5
);}
.job-list
{
border-left
:
3px
solid
#03ac66
;}
.all-jobs-title
{
margin-top
:
0
;}
...
...
cmsWebApp/webroot/extensions/adminportal/inc/applicant_view_tabs.jsp
View file @
d8b69c1e
...
...
@@ -14,9 +14,16 @@
String applicantsPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS);
List<JobApplication> applications = (List<JobApplication>) getData(request, "applications");
int noOfIncomplete = job.getNoOfCandidatesFor(job.getWorkFlowByStageType(StageType.INCOMPLETE), job.getWorkFlowByStageType(StageType.POST_INGEST));
int noOfUnsuitable = job.getNoOfCandidatesFor(job.getWorkFlowByStageType(StageType.UNSUITABLE));
int allCandidates = job.getNoOfCandidatesApplied();
WorkFlowStage initialWorkFlow = job.getWorkFlowByStageType(StageType.INITIAL);
WorkFlowStage successfulWorkFlow = job.getWorkFlowByStageType(StageType.SUCCESSFUL);
WorkFlowStage unsuitableWorkFlow = job.getWorkFlowByStageType(StageType.UNSUITABLE);
WorkFlowStage withdrewWorkFlow = job.getWorkFlowByStageType(StageType.WITHDREW);
int noOfIncomplete = job.getNoOfCandidatesFor(initialWorkFlow);
int noOfSuccessful = job.getNoOfCandidatesFor(successfulWorkFlow);
int noOfUnsuitable = job.getNoOfCandidatesFor(unsuitableWorkFlow);
int noOfWithdrew = job.getNoOfCandidatesFor(withdrewWorkFlow);
int allCandidates = job.pipelineJob().toJobApplications().uniqueVals().size();
%>
<oneit:dynIncluded>
...
...
@@ -31,28 +38,28 @@
AppView="<%= appView %>"/>
<div class="int-timeline">
<ul>
<li class="<%= "incomplete " + (
noOfIncomplete > 0 ? "has-applicant" : "no-applicant") %> <%= stageType == StageType.INCOMPLETE || stageType == StageType.POST_INGEST
? "active" : "inactive" %>">
<oneit:button
id="unsuitableBtn" value=" " name="gotoPage" skin="link" disabled="<%= noOfIncomplete
> 0 ? "false" : "true" %>"
<li class="<%= "incomplete " + (
allCandidates > 0 ? "has-applicant" : "" )%> <%= (workFlowStage == null)
? "active" : "inactive" %>">
<oneit:button
value=" " name="gotoPage" skin="link" disabled="<%= allCandidates
> 0 ? "false" : "true" %>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowStage",
job.getWorkFlowByStageType(StageType.INCOMPLETE)
).toMap())
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowStage",
null
).toMap())
.toMap() %>">
<span>
<oneit:toString value="<%=
noOfIncomplete
%>" mode="Integer" />
<oneit:toString value="<%=
allCandidates
%>" mode="Integer" />
</span>
<div class="app-b-title">
<%= job.getWorkFlowStageBySortOrder(1) %>
</div>
<div class="app-b-title">All Applicants</div>
</oneit:button>
</li>
<li class="<%=
allCandidates > 0 ? "has-applicant" : "" %> <%= (workFlowStage == null)
? "active" : "inactive" %>">
<oneit:button
value=" " name="gotoPage" skin="link" disabled="<%= allCandidates
> 0 ? "false" : "true" %>"
<li class="<%=
noOfIncomplete > 0 ? "has-applicant" : "no-applicant" %> <%= stageType == StageType.INITIAL
? "active" : "inactive" %>">
<oneit:button
id="unsuitableBtn" value=" " name="gotoPage" skin="link" disabled="<%= noOfIncomplete
> 0 ? "false" : "true" %>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowStage",
null
).toMap())
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowStage",
initialWorkFlow
).toMap())
.toMap() %>">
<span>
<oneit:toString value="<%=
allCandidates
%>" mode="Integer" />
<oneit:toString value="<%=
noOfIncomplete
%>" mode="Integer" />
</span>
<div class="app-b-title">All Applicants</div>
<div class="app-b-title">
<%= initialWorkFlow %>
</div>
</oneit:button>
</li>
<%
...
...
@@ -60,7 +67,7 @@
{
int noOfCandidates = job.getNoOfCandidatesFor(workflow);
%>
<li class="<%= noOfCandidates > 0 ? "has-applicant" : "" %> <%= workflow.equals(workFlowStage) ? "active" : "inactive" %>">
<li class="<%= noOfCandidates > 0 ? "has-applicant" : "" %> <%= workflow.equals(workFlowStage)
&& stageType == StageType.GENERIC
? "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("WorkFlowStage", workflow).toMap())
...
...
@@ -69,7 +76,7 @@
<oneit:toString value="<%= noOfCandidates %>" mode="Integer" />
</span>
<div class="app-b-title">
<%= workflow.getName() %>
<%= workflow.getName() %>
</div>
</oneit:button>
</li>
...
...
@@ -78,16 +85,42 @@
%>
</ul>
</div>
<div class="unsutable <%= noOfWithdrew > 0 ? "has-applicant" : "no-applicant" %> <%= stageType == StageType.WITHDREW ? "active" : "inactive" %>">
<oneit:button value=" " name="gotoPage" skin="link" disabled="<%= noOfWithdrew > 0 ? "false" : "true" %>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowStage", withdrewWorkFlow).toMap())
.toMap() %>">
<span>
<oneit:toString value="<%= noOfWithdrew %>" mode="Integer" />
</span>
<div class="app-b-title">
<%= withdrewWorkFlow %>
</div>
</oneit:button>
</div>
<div class="unsutable <%= noOfUnsuitable > 0 ? "has-applicant" : "no-applicant" %> <%= stageType == StageType.UNSUITABLE ? "active" : "inactive" %>">
<oneit:button
id="unsuitableBtn"
value=" " name="gotoPage" skin="link" disabled="<%= noOfUnsuitable > 0 ? "false" : "true" %>"
<oneit:button value=" " name="gotoPage" skin="link" disabled="<%= noOfUnsuitable > 0 ? "false" : "true" %>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowStage",
job.getWorkFlowByStageType(StageType.UNSUITABLE)
).toMap())
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowStage",
unsuitableWorkFlow
).toMap())
.toMap() %>">
<span>
<oneit:toString value="<%= noOfUnsuitable %>" mode="Integer" />
</span>
<div class="app-b-title">
<%= job.getWorkFlowStageBySortOrder(9)%>
<%= unsuitableWorkFlow%>
</div>
</oneit:button>
</div>
<div class="unsutable <%= noOfSuccessful > 0 ? "has-applicant" : "no-applicant" %> <%= stageType == StageType.SUCCESSFUL ? "active" : "inactive" %>">
<oneit:button value=" " name="gotoPage" skin="link" disabled="<%= noOfSuccessful > 0 ? "false" : "true" %>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowStage", successfulWorkFlow).toMap())
.toMap() %>">
<span>
<oneit:toString value="<%= noOfSuccessful %>" mode="Integer" />
</span>
<div class="app-b-title">
<%= successfulWorkFlow %>
</div>
</oneit:button>
</div>
...
...
cmsWebApp/webroot/extensions/adminportal/inc/application_sorting_bar.jsp
View file @
d8b69c1e
...
...
@@ -10,7 +10,7 @@
AppSortOption appSortOpt = (AppSortOption) getData(request, "SortOption");
WorkFlowStage workFlowStage = (WorkFlowStage) getData(request, "WorkFlowStage");
StageType stageType = (StageType) getData(request, "StageType");
boolean isDraft = stageType == StageType.IN
COMPLETE
;
boolean isDraft = stageType == StageType.IN
ITIAL
;
ApplicationFilter appFilter = (ApplicationFilter) getData(request, "ApplicationFilter");
Boolean showOrderBy = getData(request, "ShowOrderBy")!= null ? (Boolean) getData(request, "ShowOrderBy") : Boolean.FALSE;
AppView appView = (AppView) getData(request,"AppView");
...
...
@@ -50,6 +50,10 @@
el: '#app',
data: <%= Utils.getApplicantSortingData(searchApplicant)%>
});
$(".switch input[type='checkbox']").change(function() {
$("button[name$='search']").click();
});
});
function enableBulkEdit() {
...
...
@@ -83,36 +87,31 @@
.toMap() %>" />
</div>
<%
if(
!(CollectionUtils.equals(stageType, StageType.INCOMPLETE) && hiringTeam.isTrue(hiringTeam.getOnTrial()
)))
if(
hiringTeam.isFalse(hiringTeam.getOnTrial(
)))
{
%>
<div class="appli-filter">
<%
if(!CollectionUtils.equals(stageType, StageType.INCOMPLETE))
{
%>
<ul class="">
<li class="lable-appli-shorting">View</li>
<li class="<%= (appView == AppView.LIST ? "active" : "" ) + " short-list"%>">
<oneit:button value="List" name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("AppView", AppView.LIST).toMap())
.toMap() %>"/>
</li>
<li class="<%= (appView == AppView.GRID ? "active" : "" ) + " grid-list"%>">
<oneit:button value="Grid" name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("AppView", AppView.GRID).toMap())
.toMap() %>"/>
</li>
<li class="<%= (appView == AppView.DETAILED_GRID ? "active" : "" ) + " detailed-grid-list"%>">
<oneit:button value="Detailed Grid" name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("AppView", AppView.DETAILED_GRID).toMap())
.toMap() %>"/>
</li>
</ul>
<% } %>
<ul class="">
<li class="lable-appli-shorting">View</li>
<li class="<%= (appView == AppView.LIST ? "active" : "" ) + " short-list"%>">
<oneit:button value="List" name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("AppView", AppView.LIST).toMap())
.toMap() %>"/>
</li>
<li class="<%= (appView == AppView.GRID ? "active" : "" ) + " grid-list"%>">
<oneit:button value="Grid" name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("AppView", AppView.GRID).toMap())
.toMap() %>"/>
</li>
<li class="<%= (appView == AppView.DETAILED_GRID ? "active" : "" ) + " detailed-grid-list"%>">
<oneit:button value="Detailed Grid" name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("AppView", AppView.DETAILED_GRID).toMap())
.toMap() %>"/>
</li>
</ul>
</div>
<div class="shorting-dropdown application_sorting_bar">
<div class="appli-order-label">Search Applicants</div>
...
...
@@ -160,9 +159,18 @@
}
%>
</div>
<div class="checkbox-list select-all">
<div class="checkbox-list select-all
pull-left
">
<input type='checkbox' id='select_all' value='select_all' class='norecalc'>
<label for="select_all" class="select-all-jobs"> Select all applicants</label>
</div>
<div class="pull-right">
<label class="show-incomplete pull-left">Show Incomplete</label>
<label class="switch">
<oneit:recalcClass htmlTag="span" classScript="searchApplicant.getShowIncomplete() ? 'checkbox checked': 'checkbox unchecked'" searchApplicant="<%= searchApplicant %>">
<oneit:ormInput obj="<%= searchApplicant %>" attributeName="ShowIncomplete" type="checkbox"/>
</oneit:recalcClass>
<div class="slider round"></div>
</label>
</div>
</div>
</oneit:dynIncluded>
cmsWebApp/webroot/extensions/adminportal/inc/job_list.jsp
View file @
d8b69c1e
...
...
@@ -140,8 +140,6 @@
for(Job job: jobs)
{
int shortlisted = job.getNoOfCandidatesFor(job.getWorkFlowByStageType(StageType.SUCCESSFUL));
int maxShortlist = job.getMaxShortlistApplicants();
String editJobPage = nextPage;
// go to edit job if job is in draft status
...
...
@@ -267,29 +265,10 @@
<div class="ja-icon">
<div class="conic-circle">
<p style="display:none;">
<oneit:toString value="<%=
shortlisted * (100 / maxShortlist)
%>" mode="PercentageWholeNumber" />
<oneit:toString value="<%=
10
%>" mode="PercentageWholeNumber" />
</p>
<%
if(shortlisted == maxShortlist)
{
%>
<img src="images/stroke-3.svg" class="right-mark-img" />
<%
}
%>
</div>
</div>
<div class="ja-count">
<oneit:button value=" " name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("ApplicationStatus", StageType.INTERVIEW).toMap())
.toMap() %>" disabled="<%= job.getJobStatus() == JobStatus.DRAFT ? "true" : "false" %>">
<oneit:toString value="<%= shortlisted %>" mode="Integer" nullValue="0"/>
</oneit:button>
/
<oneit:toString value="<%= maxShortlist %>" mode="Integer" nullValue="0"/>
<span class="grey-span">successful</span>
</div>
</div>
</div>
<div class="job-states jl-c wider-select">
...
...
cmsWebApp/webroot/extensions/adminportal/inc/view_applicants_list.jsp
View file @
d8b69c1e
...
...
@@ -82,6 +82,9 @@
<oneit:toString value="<%= jobApplication.getOverallRank() %>" mode="Integer" />
</div>
</div>
<div class="appli-message appli-l eq-second-height">
<div class="ja-icon"><img src="images/job-list-user.svg"></div>
</div>
<%
String widthClass = (job.showAssessmentCriteriaSection() && job.showCultureCriteriaSection()) ? "appli-jcs" :
(job.showAssessmentCriteriaSection() || job.showCultureCriteriaSection()) ? "appli-jcs2" : "appli-jcs3";
...
...
@@ -129,7 +132,7 @@
</div>
</div>
<span class="<%= missingReq ? "missing-requirements-icon" :
"requirements-correct-icon"
%>"></span>
<span class="<%= missingReq ? "missing-requirements-icon" :
criteriaVal == 100 ? "requirements-correct-icon" : ""
%>"></span>
</span>
<span class="<%= missingReq ? "red-requirements" : "" %>">
requirements
...
...
cmsWebApp/webroot/extensions/adminportal/view_applicants.jsp
View file @
d8b69c1e
...
...
@@ -82,9 +82,7 @@
workFlowStage = (WorkFlowStage) process.getAttribute("WorkFlowStage");
}
StageType stageType = workFlowStage != null ? workFlowStage.getStageType() : null;
boolean isApplicantPage = workFlowStage == null;
boolean isDraftPage = stageType == StageType.INCOMPLETE;
StageType stageType = workFlowStage != null ? workFlowStage.getStageType() : null;
// handle application filter (showing dropdown)
if(parameterMap.containsKey("ApplicationFilter") && !request.getParameter("ApplicationFilter").isEmpty())
...
...
@@ -101,15 +99,14 @@
}
List<JobApplication> applicantList = Arrays.asList(applications);
// WorkFlowStage workflow = job.getWorkFlowByStageType(stageType);
// filter applicants by status
oneit.utils.filter.Filter<JobApplication> filter = JobApplication.SearchByAll().andWorkFlowStage(new EqualsFilter<>(workFlowStage));
oneit.utils.filter.Filter<JobApplication> applicantFilter = JobApplication.SearchByAll().andWorkFlowStage(new NotInFilter<>(job.getIncompleteApplicantStages()));
oneit.utils.filter.Filter<JobApplication> draftFilter = JobApplication.SearchByAll().andWorkFlowStage(new InFilter<>(job.getIncompleteApplicantStages()));
oneit.utils.filter.Filter<JobApplication> filter = JobApplication.SearchByAll().andWorkFlowStage(new EqualsFilter<>(workFlowStage));
// if Applicant Status, then show all application completed applicants
applicantList = new ArrayList<>(CollectionFilter.filter(applicantList, isDraftPage ? draftFilter : (isApplicantPage ? applicantFilter : filter)));
if(workFlowStage != null)
{
applicantList = new ArrayList<>(CollectionFilter.filter(applicantList, filter));
}
if(appFilter != ApplicationFilter.ALL_APPLICATIONS)
{
...
...
@@ -121,7 +118,7 @@
session.setAttribute("AppView", (AppView) process.getAttribute("AppView"));
}
AppView appView = (session.getAttribute("AppView") != null && !CollectionUtils.equals(stageType,StageType.IN
COMPLETE
))? (AppView) session.getAttribute("AppView") : AppView.LIST;
AppView appView = (session.getAttribute("AppView") != null && !CollectionUtils.equals(stageType,StageType.IN
ITIAL
))? (AppView) session.getAttribute("AppView") : AppView.LIST;
List<JobApplication> sortedApplications = Utils.getApplicationsSorted(applicantList, appSortOpt);
process.setAttribute("AppSortOption", appSortOpt);
...
...
@@ -154,27 +151,13 @@
<%
if(appView == AppView.LIST)
{
if(stageType == StageType.INCOMPLETE)
{
%>
<oneit:dynInclude page="/extensions/adminportal/inc/incomplete_applicants_list.jsp"
applications="<%= sortedApplications %>"
currentPage="<%= currentPage %>"
StageType="<%= stageType %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<%
}
else
{
%>
<oneit:dynInclude page="/extensions/adminportal/inc/view_applicants_list.jsp"
applications="<%= sortedApplications %>"
currentPage="<%= currentPage %>"
StageType="<%= stageType %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<oneit:dynInclude page="/extensions/adminportal/inc/view_applicants_list.jsp"
applications="<%= sortedApplications %>"
currentPage="<%= currentPage %>"
StageType="<%= stageType %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<%
}
}
else if(appView == AppView.GRID)
{
...
...
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