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
f85fc2a8
Commit
f85fc2a8
authored
Sep 12, 2019
by
nilu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
data migration fixes for applicant view screen
parent
1cf9d52e
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
91 additions
and
101 deletions
+91
-101
BulkUpdateFP.java
cmsWebApp/src/performa/form/BulkUpdateFP.java
+2
-2
Job.java
cmsWebApp/src/performa/orm/Job.java
+12
-21
WorkFlowStage.java
cmsWebApp/src/performa/orm/WorkFlowStage.java
+8
-15
applicant_view_tabs.jsp
...ebroot/extensions/adminportal/inc/applicant_view_tabs.jsp
+24
-12
application_sorting_bar.jsp
...ot/extensions/adminportal/inc/application_sorting_bar.jsp
+9
-8
incomplete_applicants_list.jsp
...extensions/adminportal/inc/incomplete_applicants_list.jsp
+3
-3
job_list.jsp
cmsWebApp/webroot/extensions/adminportal/inc/job_list.jsp
+2
-2
job_title_bar.jsp
...bApp/webroot/extensions/adminportal/inc/job_title_bar.jsp
+7
-7
view_applicants_list.jsp
...broot/extensions/adminportal/inc/view_applicants_list.jsp
+6
-6
view_applicants.jsp
cmsWebApp/webroot/extensions/adminportal/view_applicants.jsp
+18
-25
No files found.
cmsWebApp/src/performa/form/BulkUpdateFP.java
View file @
f85fc2a8
...
@@ -28,12 +28,12 @@ public class BulkUpdateFP extends SaveFP
...
@@ -28,12 +28,12 @@ public class BulkUpdateFP extends SaveFP
LogMgr
.
log
(
JobApplication
.
LOG
,
LogLevel
.
PROCESSING1
,
"In BulkUpdateFP selected application count : "
,
applications
!=
null
?
applications
.
size
()
:
0
,
" of job "
,
job
);
LogMgr
.
log
(
JobApplication
.
LOG
,
LogLevel
.
PROCESSING1
,
"In BulkUpdateFP selected application count : "
,
applications
!=
null
?
applications
.
size
()
:
0
,
" of job "
,
job
);
if
(
job
.
getAppWorkFlowStage
()!=
null
&&
job
.
getAppWorkFlowStage
().
getStageType
()==
StageType
.
INTERVIEW
if
(
job
.
getAppWorkFlowStage
()!=
null
&&
job
.
getAppWorkFlowStage
().
getStageType
()==
StageType
.
SUCCESSFUL
&&
job
.
getNoOfCandidatesApplied
()
>
job
.
getMaxShortlistApplicants
()
&&
applications
!=
null
)
&&
job
.
getNoOfCandidatesApplied
()
>
job
.
getMaxShortlistApplicants
()
&&
applications
!=
null
)
{
{
Filter
<
JobApplication
>
filter
=
JobApplication
.
SearchByStageType
().
byStageTypesIn
(
CollectionUtils
.
createSet
(
StageType
.
INTERVIEW
));
Filter
<
JobApplication
>
filter
=
JobApplication
.
SearchByStageType
().
byStageTypesIn
(
CollectionUtils
.
createSet
(
StageType
.
INTERVIEW
));
Collection
alreadyShortlisted
=
CollectionFilter
.
filter
(
applications
,
filter
);
Collection
alreadyShortlisted
=
CollectionFilter
.
filter
(
applications
,
filter
);
int
totalShortlisted
=
applications
.
size
()
-
alreadyShortlisted
.
size
()
+
job
.
getNoOfCandidatesFor
(
StageType
.
INTERVIEW
);
int
totalShortlisted
=
applications
.
size
()
-
alreadyShortlisted
.
size
()
+
job
.
getNoOfCandidatesFor
(
job
.
getWorkFlowByStageType
(
StageType
.
SUCCESSFUL
)
);
BusinessObjectParser
.
assertFieldCondition
(
totalShortlisted
<=
job
.
getMaxShortlistApplicants
()
,
job
,
Job
.
MULTIPLEREFERENCE_JobApplications
,
"exceedMaxShortlisted"
);
BusinessObjectParser
.
assertFieldCondition
(
totalShortlisted
<=
job
.
getMaxShortlistApplicants
()
,
job
,
Job
.
MULTIPLEREFERENCE_JobApplications
,
"exceedMaxShortlisted"
);
}
}
...
...
cmsWebApp/src/performa/orm/Job.java
View file @
f85fc2a8
...
@@ -48,25 +48,9 @@ public class Job extends BaseJob
...
@@ -48,25 +48,9 @@ public class Job extends BaseJob
cultureCriteria
.
setCultureElement
(
cultureElement
);
cultureCriteria
.
setCultureElement
(
cultureElement
);
addToCultureCriterias
(
cultureCriteria
);
addToCultureCriterias
(
cultureCriteria
);
}
}
createWorkFlow
(
ApplicationStatus
.
DRAFT
,
1
);
createWorkFlow
(
ApplicationStatus
.
SUBMITTED
,
2
);
createWorkFlow
(
ApplicationStatus
.
SHORTLISTED
,
3
);
createWorkFlow
(
ApplicationStatus
.
UNSUITABLE
,
9
);
}
public
WorkFlow
createWorkFlow
(
ApplicationStatus
status
,
int
sortOrder
)
throws
FieldException
{
WorkFlow
workFlow
=
WorkFlow
.
createWorkFlow
(
getTransaction
());
workFlow
.
setName
(
status
.
getDescription
());
workFlow
.
setApplicationStatus
(
status
);
workFlow
.
setSortOrder
(
sortOrder
);
addToWorkFlows
(
workFlow
);
return
workFlow
;
}
}
public
void
initAttribs
()
throws
BusinessException
public
void
initAttribs
()
throws
BusinessException
{
{
setRandomKey
(
RandomStringGen
.
getRandomStringGen
().
generateAlphaNum
(
4
));
setRandomKey
(
RandomStringGen
.
getRandomStringGen
().
generateAlphaNum
(
4
));
...
@@ -245,15 +229,15 @@ public class Job extends BaseJob
...
@@ -245,15 +229,15 @@ public class Job extends BaseJob
public
int
getNoOfCandidatesApplied
()
public
int
getNoOfCandidatesApplied
()
{
{
Filter
<
JobApplication
>
filter
=
JobApplication
.
SearchBy
StageType
().
byStageTypesNotIn
(
CollectionUtils
.
createSet
(
StageType
.
INCOMPLETE
,
StageType
.
POST_INGEST
));
Filter
<
JobApplication
>
filter
=
JobApplication
.
SearchBy
All
().
andWorkFlowStage
(
new
NotInFilter
<>(
pipelineJob
().
toWorkFlowTemplate
().
toWorkFlowStages
(
WorkFlowStage
.
SearchByAll
().
andStageType
(
new
InFilter
<>(
StageType
.
INCOMPLETE
,
StageType
.
POST_INGEST
))).
uniqueVals
()
));
return
pipelineJob
().
toJobApplications
(
filter
).
toCandidate
().
vals
().
size
();
return
pipelineJob
().
toJobApplications
(
filter
).
toCandidate
().
vals
().
size
();
}
}
public
int
getNoOfCandidatesFor
(
StageType
...
statu
s
)
public
int
getNoOfCandidatesFor
(
WorkFlowStage
...
workFlowStage
s
)
{
{
Filter
<
JobApplication
>
filter
=
JobApplication
.
SearchBy
StageType
().
byStageTypesIn
(
CollectionUtils
.
createSet
(
statu
s
));
Filter
<
JobApplication
>
filter
=
JobApplication
.
SearchBy
All
().
andWorkFlowStage
(
new
InFilter
<>(
workFlowStage
s
));
return
pipelineJob
().
toJobApplications
(
filter
).
toCandidate
().
vals
().
size
();
return
pipelineJob
().
toJobApplications
(
filter
).
toCandidate
().
vals
().
size
();
}
}
...
@@ -680,7 +664,7 @@ public class Job extends BaseJob
...
@@ -680,7 +664,7 @@ public class Job extends BaseJob
public
List
<
WorkFlowStage
>
getSortedMiddleStages
()
public
List
<
WorkFlowStage
>
getSortedMiddleStages
()
{
{
Filter
<
WorkFlowStage
>
filter
=
WorkFlowStage
.
SearchByAll
().
andS
ortOrder
(
new
LessThanFilter
<>(
9
)).
andSortOrder
(
new
GreaterThanFilter
<>(
1
));
Filter
<
WorkFlowStage
>
filter
=
WorkFlowStage
.
SearchByAll
().
andS
tageType
(
new
NotInFilter
<>(
StageType
.
POST_INGEST
,
StageType
.
INCOMPLETE
,
StageType
.
UNSUITABLE
,
StageType
.
WITHDREW
));
return
ObjstoreUtils
.
sort
(
pipelineJob
().
toWorkFlowTemplate
().
toWorkFlowStages
(
filter
).
uniqueVals
(),
return
ObjstoreUtils
.
sort
(
pipelineJob
().
toWorkFlowTemplate
().
toWorkFlowStages
(
filter
).
uniqueVals
(),
new
ObjectTransform
[]{
WorkFlowStage
.
pipesWorkFlowStage
().
toSortOrder
()},
new
ObjectTransform
[]{
WorkFlowStage
.
pipesWorkFlowStage
().
toSortOrder
()},
...
@@ -701,6 +685,13 @@ public class Job extends BaseJob
...
@@ -701,6 +685,13 @@ public class Job extends BaseJob
return
pipelineJob
().
toWorkFlows
(
filter
).
val
();
return
pipelineJob
().
toWorkFlows
(
filter
).
val
();
}
}
public
WorkFlowStage
getWorkFlowByStageType
(
StageType
stageType
)
{
Filter
<
WorkFlowStage
>
filter
=
WorkFlowStage
.
SearchByAll
().
andStageType
(
new
EqualsFilter
<>(
stageType
));
return
pipelineJob
().
toWorkFlowTemplate
().
toWorkFlowStages
(
filter
).
val
();
}
public
Set
<
WorkFlowStage
>
getIncompleteApplicantStages
()
public
Set
<
WorkFlowStage
>
getIncompleteApplicantStages
()
{
{
Filter
<
WorkFlowStage
>
filter
=
WorkFlowStage
.
SearchByAll
().
andStageType
(
new
InFilter
<>(
StageType
.
INCOMPLETE
,
StageType
.
POST_INGEST
,
StageType
.
UNSUITABLE
));
Filter
<
WorkFlowStage
>
filter
=
WorkFlowStage
.
SearchByAll
().
andStageType
(
new
InFilter
<>(
StageType
.
INCOMPLETE
,
StageType
.
POST_INGEST
,
StageType
.
UNSUITABLE
));
...
...
cmsWebApp/src/performa/orm/WorkFlowStage.java
View file @
f85fc2a8
package
performa
.
orm
;
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
WorkFlowStage
extends
BaseWorkFlowStage
public
class
WorkFlowStage
extends
BaseWorkFlowStage
{
{
...
@@ -24,6 +10,12 @@ public class WorkFlowStage extends BaseWorkFlowStage
...
@@ -24,6 +10,12 @@ public class WorkFlowStage extends BaseWorkFlowStage
{
{
// Do not add any code to this, always put it in initialiseNewObject
// 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/webroot/extensions/adminportal/inc/applicant_view_tabs.jsp
View file @
f85fc2a8
...
@@ -8,14 +8,15 @@
...
@@ -8,14 +8,15 @@
<%
<%
Job job = (Job) process.getAttribute("Job");
Job job = (Job) process.getAttribute("Job");
StageType appStatus = (StageType) getData(request, "WorkFlowStatus
");
WorkFlowStage workFlowStage = (WorkFlowStage) getData(request, "WorkFlowStage
");
WorkFlowStage workFlow = (WorkFlowStage) getData(request, "WorkFlow")
;
StageType stageType = workFlowStage != null ? workFlowStage.getStageType() : null
;
AppView appView = (AppView) getData(request, "AppView");
AppView appView = (AppView) getData(request, "AppView");
String applicantsPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS);
String applicantsPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS);
List<JobApplication> applications = (List<JobApplication>) getData(request, "applications");
List<JobApplication> applications = (List<JobApplication>) getData(request, "applications");
int noOfIncomplete = job.getNoOfCandidatesFor(StageType.INCOMPLETE, StageType.POST_INGEST);
int noOfIncomplete = job.getNoOfCandidatesFor(job.getWorkFlowByStageType(StageType.INCOMPLETE), job.getWorkFlowByStageType(StageType.POST_INGEST));
int noOfUnsuitable = job.getNoOfCandidatesFor(StageType.UNSUITABLE);
int noOfUnsuitable = job.getNoOfCandidatesFor(job.getWorkFlowByStageType(StageType.UNSUITABLE));
int allCandidates = job.getNoOfCandidatesApplied();
%>
%>
<oneit:dynIncluded>
<oneit:dynIncluded>
...
@@ -26,14 +27,14 @@
...
@@ -26,14 +27,14 @@
<oneit:dynInclude page="/extensions/adminportal/inc/job_title_bar.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"
<oneit:dynInclude page="/extensions/adminportal/inc/job_title_bar.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"
applicantPage="<%= false %>"
applicantPage="<%= false %>"
applications="<%= applications %>"
applications="<%= applications %>"
WorkFlow="<%= workFlow %>"
WorkFlow="<%= workFlow
Stage
%>"
AppView="<%= appView %>"/>
AppView="<%= appView %>"/>
<div class="int-timeline">
<div class="int-timeline">
<ul>
<ul>
<li class="<%= "incomplete " + (noOfIncomplete > 0 ? "has-applicant" : "no-applicant") %> <%=
appStatus == StageType.INCOMPLETE || appStatus
== StageType.POST_INGEST ? "active" : "inactive" %>">
<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" %>"
<oneit:button id="unsuitableBtn" value=" " name="gotoPage" skin="link" disabled="<%= noOfIncomplete > 0 ? "false" : "true" %>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowSta
tus", StageType.INCOMPLETE
).toMap())
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowSta
ge", job.getWorkFlowByStageType(StageType.INCOMPLETE)
).toMap())
.toMap() %>">
.toMap() %>">
<span>
<span>
<oneit:toString value="<%= noOfIncomplete %>" mode="Integer" />
<oneit:toString value="<%= noOfIncomplete %>" mode="Integer" />
...
@@ -43,15 +44,26 @@
...
@@ -43,15 +44,26 @@
</div>
</div>
</oneit:button>
</oneit:button>
</li>
</li>
<li class="<%= 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", null).toMap())
.toMap() %>">
<span>
<oneit:toString value="<%= allCandidates %>" mode="Integer" />
</span>
<div class="app-b-title">All Applicants</div>
</oneit:button>
</li>
<%
<%
for (WorkFlowStage workflow : job.getSortedMiddleStages())
for (WorkFlowStage workflow : job.getSortedMiddleStages())
{
{
int noOfCandidates =
workflow.getSortOrder() == 2 ? job.getNoOfCandidatesApplied() : job.getNoOfCandidatesFor(workflow.getStageType()
);
int noOfCandidates =
job.getNoOfCandidatesFor(workflow
);
%>
%>
<li class="<%= noOfCandidates > 0 ? "has-applicant" : "" %> <%=
(appStatus == workflow.getStageType()
) ? "active" : "inactive" %>">
<li class="<%= noOfCandidates > 0 ? "has-applicant" : "" %> <%=
workflow.equals(workFlowStage
) ? "active" : "inactive" %>">
<oneit:button value=" " name="gotoPage" skin="link" disabled="<%= noOfCandidates > 0 ? "false" : "true" %>"
<oneit:button value=" " name="gotoPage" skin="link" disabled="<%= noOfCandidates > 0 ? "false" : "true" %>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowSta
tus", workflow.getStageType()
).toMap())
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowSta
ge", workflow
).toMap())
.toMap() %>">
.toMap() %>">
<span>
<span>
<oneit:toString value="<%= noOfCandidates %>" mode="Integer" />
<oneit:toString value="<%= noOfCandidates %>" mode="Integer" />
...
@@ -66,10 +78,10 @@
...
@@ -66,10 +78,10 @@
%>
%>
</ul>
</ul>
</div>
</div>
<div class="unsutable <%= noOfUnsuitable > 0 ? "has-applicant" : "no-applicant" %> <%=
appStatus
== StageType.UNSUITABLE ? "active" : "inactive" %>">
<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 id="unsuitableBtn" value=" " name="gotoPage" skin="link" disabled="<%= noOfUnsuitable > 0 ? "false" : "true" %>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowSta
tus", StageType.UNSUITABLE
).toMap())
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowSta
ge", job.getWorkFlowByStageType(StageType.UNSUITABLE)
).toMap())
.toMap() %>">
.toMap() %>">
<span>
<span>
<oneit:toString value="<%= noOfUnsuitable %>" mode="Integer" />
<oneit:toString value="<%= noOfUnsuitable %>" mode="Integer" />
...
...
cmsWebApp/webroot/extensions/adminportal/inc/application_sorting_bar.jsp
View file @
f85fc2a8
...
@@ -8,13 +8,14 @@
...
@@ -8,13 +8,14 @@
<%
<%
Job job = (Job) process.getAttribute("Job");
Job job = (Job) process.getAttribute("Job");
AppSortOption appSortOpt = (AppSortOption) getData(request, "SortOption");
AppSortOption appSortOpt = (AppSortOption) getData(request, "SortOption");
ApplicationStatus workflowStatus = (ApplicationStatus) getData(request, "WorkFlowStatus");
WorkFlowStage workFlowStage = (WorkFlowStage) getData(request, "WorkFlowStage");
boolean isDraft = workflowStatus == ApplicationStatus.DRAFT;
StageType stageType = (StageType) getData(request, "StageType");
boolean isDraft = stageType == StageType.INCOMPLETE;
ApplicationFilter appFilter = (ApplicationFilter) getData(request, "ApplicationFilter");
ApplicationFilter appFilter = (ApplicationFilter) getData(request, "ApplicationFilter");
Boolean showOrderBy = getData(request, "ShowOrderBy")!= null ? (Boolean) getData(request, "ShowOrderBy") : Boolean.FALSE;
Boolean showOrderBy = getData(request, "ShowOrderBy")!= null ? (Boolean) getData(request, "ShowOrderBy") : Boolean.FALSE;
AppView appView = (AppView) getData(request,"AppView");
AppView appView = (AppView) getData(request,"AppView");
SearchApplicant searchApplicant = (SearchApplicant) getData(request, "SearchApplicant");
SearchApplicant searchApplicant = (SearchApplicant) getData(request, "SearchApplicant");
String applicantsPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS) + "&JobID=" + job.getID()
+ "&WorkFlowStatus=" + workflowStatus.getName()
;
String applicantsPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS) + "&JobID=" + job.getID();
List<WorkFlowStage> sortedWorkFlows = ObjstoreUtils.sort(job.getApplicantStages(),
List<WorkFlowStage> sortedWorkFlows = ObjstoreUtils.sort(job.getApplicantStages(),
new ObjectTransform[]{WorkFlowStage.pipesWorkFlowStage().toSortOrder()},
new ObjectTransform[]{WorkFlowStage.pipesWorkFlowStage().toSortOrder()},
new Comparator[]{CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST});
new Comparator[]{CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST});
...
@@ -26,7 +27,7 @@
...
@@ -26,7 +27,7 @@
<script type="text/javascript">
<script type="text/javascript">
$(document).ready(function()
$(document).ready(function()
{
{
$("[name$='App
StatusWorkFlow
']").change(function()
$("[name$='App
WorkFlowStage
']").change(function()
{
{
$('.bulk-update').click();
$('.bulk-update').click();
});
});
...
@@ -76,18 +77,18 @@
...
@@ -76,18 +77,18 @@
<oneit:button name="bulkupdate" value=" " cssClass="bulk-update" skin="link"
<oneit:button name="bulkupdate" value=" " cssClass="bulk-update" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry ("restartProcess", Boolean.TRUE)
.mapEntry ("restartProcess", Boolean.TRUE)
.mapEntry("procParams", CollectionUtils.mapEntry("WorkFlowSta
tus", workflowStatus
).mapEntry("Job", job).toMap())
.mapEntry("procParams", CollectionUtils.mapEntry("WorkFlowSta
ge", workFlowStage
).mapEntry("Job", job).toMap())
.mapEntry ("attribNamesToRestore", new HashSet<String> (Arrays.asList(new String[] {"Job", "WorkFlowSta
tus
"})))
.mapEntry ("attribNamesToRestore", new HashSet<String> (Arrays.asList(new String[] {"Job", "WorkFlowSta
ge
"})))
.mapEntry("Job", job)
.mapEntry("Job", job)
.toMap() %>" />
.toMap() %>" />
</div>
</div>
<%
<%
if(!(CollectionUtils.equals(
workflowStatus,ApplicationStatus.DRAFT
) && hiringTeam.isTrue(hiringTeam.getOnTrial())))
if(!(CollectionUtils.equals(
stageType, StageType.INCOMPLETE
) && hiringTeam.isTrue(hiringTeam.getOnTrial())))
{
{
%>
%>
<div class="appli-filter">
<div class="appli-filter">
<%
<%
if(!CollectionUtils.equals(
workflowStatus,ApplicationStatus.DRAFT
))
if(!CollectionUtils.equals(
stageType, StageType.INCOMPLETE
))
{
{
%>
%>
<ul class="">
<ul class="">
...
...
cmsWebApp/webroot/extensions/adminportal/inc/incomplete_applicants_list.jsp
View file @
f85fc2a8
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
Job job = (Job) process.getAttribute("Job");
Job job = (Job) process.getAttribute("Job");
List<JobApplication> applications = (List<JobApplication>) getData(request, "applications");
List<JobApplication> applications = (List<JobApplication>) getData(request, "applications");
String currentPage = (String) getData(request, "currentPage");
String currentPage = (String) getData(request, "currentPage");
ApplicationStatus appStatus = (ApplicationStatus) getData(request, "WorkFlowStatus
");
StageType stageType = (StageType) getData(request, "StageType
");
String applicationPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION);
String applicationPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION);
List<WorkFlowStage> sortedWorkFlows = ObjstoreUtils.sort(job.getIncompleteApplicantStages(),
List<WorkFlowStage> sortedWorkFlows = ObjstoreUtils.sort(job.getIncompleteApplicantStages(),
new ObjectTransform[]{WorkFlowStage.pipesWorkFlowStage().toSortOrder()},
new ObjectTransform[]{WorkFlowStage.pipesWorkFlowStage().toSortOrder()},
...
@@ -235,8 +235,8 @@
...
@@ -235,8 +235,8 @@
<oneit:button name="changeApplicationStatus" value=" " cssClass="<%= "save-application" + jobApplication.getID().toString() + " hidden"%>"
<oneit:button name="changeApplicationStatus" value=" " cssClass="<%= "save-application" + jobApplication.getID().toString() + " hidden"%>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", currentPage)
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", currentPage)
.mapEntry ("restartProcess", Boolean.TRUE)
.mapEntry ("restartProcess", Boolean.TRUE)
.mapEntry("procParams", CollectionUtils.mapEntry("
WorkFlowStatus", appStatus
).mapEntry("Job", job).toMap())
.mapEntry("procParams", CollectionUtils.mapEntry("
StageType", stageType
).mapEntry("Job", job).toMap())
.mapEntry ("attribNamesToRestore", new HashSet<String> (Arrays.asList(new String[] {"Job", "
WorkFlowStatus
"})))
.mapEntry ("attribNamesToRestore", new HashSet<String> (Arrays.asList(new String[] {"Job", "
StageType
"})))
.mapEntry("JobApplication", jobApplication)
.mapEntry("JobApplication", jobApplication)
.toMap() %>" />
.toMap() %>" />
</div>
</div>
...
...
cmsWebApp/webroot/extensions/adminportal/inc/job_list.jsp
View file @
f85fc2a8
...
@@ -140,7 +140,7 @@
...
@@ -140,7 +140,7 @@
for(Job job: jobs)
for(Job job: jobs)
{
{
int shortlisted = job.getNoOfCandidatesFor(
StageType.INTERVIEW
);
int shortlisted = job.getNoOfCandidatesFor(
job.getWorkFlowByStageType(StageType.SUCCESSFUL)
);
int maxShortlist = job.getMaxShortlistApplicants();
int maxShortlist = job.getMaxShortlistApplicants();
String editJobPage = nextPage;
String editJobPage = nextPage;
...
@@ -288,7 +288,7 @@
...
@@ -288,7 +288,7 @@
</oneit:button>
</oneit:button>
/
/
<oneit:toString value="<%= maxShortlist %>" mode="Integer" nullValue="0"/>
<oneit:toString value="<%= maxShortlist %>" mode="Integer" nullValue="0"/>
<span class="grey-span">s
hortlisted
</span>
<span class="grey-span">s
uccessful
</span>
</div>
</div>
</div>
</div>
</div>
</div>
...
...
cmsWebApp/webroot/extensions/adminportal/inc/job_title_bar.jsp
View file @
f85fc2a8
...
@@ -5,13 +5,13 @@
...
@@ -5,13 +5,13 @@
<%@ include file="/extensions/performa/inc/stdimports.jsp" %>
<%@ include file="/extensions/performa/inc/stdimports.jsp" %>
<%
<%
Job job = (Job) process.getAttribute("Job");
Job
job = (Job) process.getAttribute("Job");
boolean applicantPage = (boolean) getData(request, "applicantPage");
boolean
applicantPage = (boolean) getData(request, "applicantPage");
AppView appView = (AppView) getData(request, "AppView");
AppView
appView = (AppView) getData(request, "AppView");
WorkFlow
workFlow = (WorkFlow
) getData(request, "WorkFlow");
WorkFlow
Stage workFlow = (WorkFlowStage
) getData(request, "WorkFlow");
String editJobPage = WebUtils.getSamePageInRenderMode(request, WebUtils.EDIT_JOB);
String
editJobPage = WebUtils.getSamePageInRenderMode(request, WebUtils.EDIT_JOB);
String sharePage = WebUtils.getSamePageInRenderMode(request, WebUtils.CREATED_JOB);
String
sharePage = WebUtils.getSamePageInRenderMode(request, WebUtils.CREATED_JOB);
String jobPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS);
String
jobPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS);
List<JobApplication> applications = (List<JobApplication>) getData(request, "applications");
List<JobApplication> applications = (List<JobApplication>) getData(request, "applications");
%>
%>
...
...
cmsWebApp/webroot/extensions/adminportal/inc/view_applicants_list.jsp
View file @
f85fc2a8
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
HiringTeam hiringTeam = job.getHiringTeam();
HiringTeam hiringTeam = job.getHiringTeam();
List<JobApplication> applications = (List<JobApplication>) getData(request, "applications");
List<JobApplication> applications = (List<JobApplication>) getData(request, "applications");
String currentPage = (String) getData(request, "currentPage");
String currentPage = (String) getData(request, "currentPage");
ApplicationStatus appStatus = (ApplicationStatus) getData(request, "WorkFlowStatus
");
StageType stageType = (StageType) getData(request, "StageType
");
String applicationPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION);
String applicationPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION);
List<WorkFlowStage> sortedWorkFlows = ObjstoreUtils.sort(job.getApplicantStages(),
List<WorkFlowStage> sortedWorkFlows = ObjstoreUtils.sort(job.getApplicantStages(),
new ObjectTransform[]{WorkFlowStage.pipesWorkFlowStage().toSortOrder()},
new ObjectTransform[]{WorkFlowStage.pipesWorkFlowStage().toSortOrder()},
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
<script type="text/javascript">
<script type="text/javascript">
$(document).ready(function()
$(document).ready(function()
{
{
$("[name$='WorkFlow']").change(function()
$("[name$='WorkFlow
Stage
']").change(function()
{
{
var id = $(this).closest('.appli-row').attr('id');
var id = $(this).closest('.appli-row').attr('id');
$('.save-application' + id).click();
$('.save-application' + id).click();
...
@@ -69,7 +69,7 @@
...
@@ -69,7 +69,7 @@
.toMap() %>">
.toMap() %>">
<oneit:toString value="<%= jobApplication.getCandidate() %>" mode="EscapeHTML" />
<oneit:toString value="<%= jobApplication.getCandidate() %>" mode="EscapeHTML" />
<div class="appli-int-status">
<div class="appli-int-status">
<oneit:toString value="<%= jobApplication.get
ApplicantStatusStr
() %>" mode="EscapeHTML" />
<oneit:toString value="<%= jobApplication.get
WorkFlowStage
() %>" mode="EscapeHTML" />
</div>
</div>
</oneit:button>
</oneit:button>
<%
<%
...
@@ -143,15 +143,15 @@
...
@@ -143,15 +143,15 @@
%>
%>
<div class="appli-status appli-l eq-second-height">
<div class="appli-status appli-l eq-second-height">
<div class="appli-list-drop">
<div class="appli-list-drop">
<tagfile:ormsingleasso_select obj="<%= jobApplication %>" assocName="WorkFlow" cssClass="form-control app-process"
<tagfile:ormsingleasso_select obj="<%= jobApplication %>" assocName="WorkFlow
Stage
" cssClass="form-control app-process"
options="<%= sortedWorkFlows.toArray(new WorkFlowStage[0]) %>"/>
options="<%= sortedWorkFlows.toArray(new WorkFlowStage[0]) %>"/>
</div>
</div>
</div>
</div>
<oneit:button name="changeApplicationStatus" value=" " cssClass="<%= "save-application" + jobApplication.getID().toString() + " hidden"%>"
<oneit:button name="changeApplicationStatus" value=" " cssClass="<%= "save-application" + jobApplication.getID().toString() + " hidden"%>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", currentPage)
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", currentPage)
.mapEntry ("restartProcess", Boolean.TRUE)
.mapEntry ("restartProcess", Boolean.TRUE)
.mapEntry("procParams", CollectionUtils.mapEntry("
WorkFlowStatus", appStatus
).mapEntry("Job", job).toMap())
.mapEntry("procParams", CollectionUtils.mapEntry("
StageType", stageType
).mapEntry("Job", job).toMap())
.mapEntry ("attribNamesToRestore", new HashSet<String> (Arrays.asList(new String[] {"Job", "
WorkFlowStatus
"})))
.mapEntry ("attribNamesToRestore", new HashSet<String> (Arrays.asList(new String[] {"Job", "
StageType
"})))
.mapEntry("JobApplication", jobApplication)
.mapEntry("JobApplication", jobApplication)
.toMap() %>" />
.toMap() %>" />
</div>
</div>
...
...
cmsWebApp/webroot/extensions/adminportal/view_applicants.jsp
View file @
f85fc2a8
...
@@ -42,7 +42,7 @@
...
@@ -42,7 +42,7 @@
String applicationPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION);
String applicationPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION);
AppSortOption appSortOpt = null;
AppSortOption appSortOpt = null;
ApplicationFilter appFilter = null;
ApplicationFilter appFilter = null;
ApplicationStatus workflowStatus
= null;
WorkFlowStage workFlowStage
= null;
SearchApplicant searchApplicant = (SearchApplicant) RunSearchExecutorFP.setupExecutor(request, SearchApplicant.REFERENCE_SearchApplicant, true);
SearchApplicant searchApplicant = (SearchApplicant) RunSearchExecutorFP.setupExecutor(request, SearchApplicant.REFERENCE_SearchApplicant, true);
JobApplication[] applications = null;
JobApplication[] applications = null;
...
@@ -77,21 +77,14 @@
...
@@ -77,21 +77,14 @@
}
}
// handle workflow status
// handle workflow status
if(p
arameterMap.containsKey("WorkFlowStatus") && !request.getParameter("WorkFlowStatus").isEmpty()
)
if(p
rocess.getAttribute("WorkFlowStage") != null
)
{
{
workflowStatus = ApplicationStatus.forName((String) request.getParameter("WorkFlowStatus"));
workFlowStage = (WorkFlowStage) process.getAttribute("WorkFlowStage");
}
else if(process.getAttribute("WorkFlowStatus") != null)
{
workflowStatus = (ApplicationStatus) process.getAttribute("WorkFlowStatus");
}
else
{
workflowStatus = ApplicationStatus.SUBMITTED;
}
}
boolean isApplicantPage = workflowStatus == ApplicationStatus.SUBMITTED;
StageType stageType = workFlowStage != null ? workFlowStage.getStageType() : null;
boolean isDraftPage = workflowStatus == ApplicationStatus.DRAFT;
boolean isApplicantPage = workFlowStage == null;
boolean isDraftPage = stageType == StageType.INCOMPLETE;
// handle application filter (showing dropdown)
// handle application filter (showing dropdown)
if(parameterMap.containsKey("ApplicationFilter") && !request.getParameter("ApplicationFilter").isEmpty())
if(parameterMap.containsKey("ApplicationFilter") && !request.getParameter("ApplicationFilter").isEmpty())
...
@@ -108,12 +101,12 @@
...
@@ -108,12 +101,12 @@
}
}
List<JobApplication> applicantList = Arrays.asList(applications);
List<JobApplication> applicantList = Arrays.asList(applications);
WorkFlow workflow = job.getWorkFlowByStatus(workflowStatus
);
// WorkFlowStage workflow = job.getWorkFlowByStageType(stageType
);
// filter applicants by status
// filter applicants by status
oneit.utils.filter.Filter<JobApplication> filter = JobApplication.SearchByAll().and
ApplicationStatus(new EqualsFilter<>(workflowStatus
));
oneit.utils.filter.Filter<JobApplication> filter = JobApplication.SearchByAll().and
WorkFlowStage(new EqualsFilter<>(workFlowStage
));
oneit.utils.filter.Filter<JobApplication> applicantFilter = JobApplication.SearchByAll().and
ApplicationStatus(new NotInFilter<>(ApplicationStatus.DRAFT, ApplicationStatus.POST_INGEST
));
oneit.utils.filter.Filter<JobApplication> applicantFilter = JobApplication.SearchByAll().and
WorkFlowStage(new NotInFilter<>(job.getIncompleteApplicantStages()
));
oneit.utils.filter.Filter<JobApplication> draftFilter = JobApplication.SearchByAll().and
ApplicationStatus(new InFilter<>(ApplicationStatus.DRAFT, ApplicationStatus.POST_INGEST
));
oneit.utils.filter.Filter<JobApplication> draftFilter = JobApplication.SearchByAll().and
WorkFlowStage(new InFilter<>(job.getIncompleteApplicantStages()
));
// if Applicant Status, then show all application completed applicants
// if Applicant Status, then show all application completed applicants
applicantList = new ArrayList<>(CollectionFilter.filter(applicantList, isDraftPage ? draftFilter : (isApplicantPage ? applicantFilter : filter)));
applicantList = new ArrayList<>(CollectionFilter.filter(applicantList, isDraftPage ? draftFilter : (isApplicantPage ? applicantFilter : filter)));
...
@@ -128,12 +121,12 @@
...
@@ -128,12 +121,12 @@
session.setAttribute("AppView", (AppView) process.getAttribute("AppView"));
session.setAttribute("AppView", (AppView) process.getAttribute("AppView"));
}
}
AppView appView = (session.getAttribute("AppView") != null && !CollectionUtils.equals(
workflowStatus,ApplicationStatus.DRAFT
))? (AppView) session.getAttribute("AppView") : AppView.LIST;
AppView appView = (session.getAttribute("AppView") != null && !CollectionUtils.equals(
stageType,StageType.INCOMPLETE
))? (AppView) session.getAttribute("AppView") : AppView.LIST;
List<JobApplication> sortedApplications = Utils.getApplicationsSorted(applicantList, appSortOpt);
List<JobApplication> sortedApplications = Utils.getApplicationsSorted(applicantList, appSortOpt);
process.setAttribute("AppSortOption", appSortOpt);
process.setAttribute("AppSortOption", appSortOpt);
process.setAttribute("ApplicationFilter", appFilter);
process.setAttribute("ApplicationFilter", appFilter);
process.setAttribute("WorkFlowSta
tus", workflowStatus
);
process.setAttribute("WorkFlowSta
ge", workFlowStage
);
process.setAttribute("AppView", appView);
process.setAttribute("AppView", appView);
%>
%>
...
@@ -143,8 +136,7 @@
...
@@ -143,8 +136,7 @@
<oneit:dynInclude page="/extensions/adminportal/inc/applicant_view_tabs.jsp"
<oneit:dynInclude page="/extensions/adminportal/inc/applicant_view_tabs.jsp"
AppView="<%= appView %>"
AppView="<%= appView %>"
applications="<%= sortedApplications %>"
applications="<%= sortedApplications %>"
WorkFlowStatus="<%= workflowStatus %>"
WorkFlowStage="<%= workFlowStage %>"
WorkFlow="<%= workflow %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
data="<%= CollectionUtils.EMPTY_MAP%>"/>
...
@@ -154,20 +146,21 @@
...
@@ -154,20 +146,21 @@
SearchApplicant="<%= searchApplicant %>"
SearchApplicant="<%= searchApplicant %>"
ShowOrderBy="<%= sortedApplications.size() > 1 %>"
ShowOrderBy="<%= sortedApplications.size() > 1 %>"
ApplicationFilter="<%= appFilter %>"
ApplicationFilter="<%= appFilter %>"
WorkFlowStatus="<%= workflowStatus %>"
WorkFlowStage="<%= workFlowStage %>"
StageType="<%= stageType %>"
SortOption="<%= appSortOpt %>"
SortOption="<%= appSortOpt %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<%
<%
if(appView == AppView.LIST)
if(appView == AppView.LIST)
{
{
if(
workflowStatus == ApplicationStatus.DRAFT
)
if(
stageType == StageType.INCOMPLETE
)
{
{
%>
%>
<oneit:dynInclude page="/extensions/adminportal/inc/incomplete_applicants_list.jsp"
<oneit:dynInclude page="/extensions/adminportal/inc/incomplete_applicants_list.jsp"
applications="<%= sortedApplications %>"
applications="<%= sortedApplications %>"
currentPage="<%= currentPage %>"
currentPage="<%= currentPage %>"
WorkFlowStatus="<%= workflowStatus
%>"
StageType="<%= stageType
%>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<%
<%
}
}
...
@@ -177,7 +170,7 @@
...
@@ -177,7 +170,7 @@
<oneit:dynInclude page="/extensions/adminportal/inc/view_applicants_list.jsp"
<oneit:dynInclude page="/extensions/adminportal/inc/view_applicants_list.jsp"
applications="<%= sortedApplications %>"
applications="<%= sortedApplications %>"
currentPage="<%= currentPage %>"
currentPage="<%= currentPage %>"
WorkFlowStatus="<%= workflowStatus
%>"
StageType="<%= stageType
%>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<%
<%
...
...
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