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
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
)
{
Filter
<
JobApplication
>
filter
=
JobApplication
.
SearchByStageType
().
byStageTypesIn
(
CollectionUtils
.
createSet
(
StageType
.
INTERVIEW
));
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"
);
}
...
...
cmsWebApp/src/performa/orm/Job.java
View file @
f85fc2a8
...
...
@@ -48,25 +48,9 @@ public class Job extends BaseJob
cultureCriteria
.
setCultureElement
(
cultureElement
);
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
{
setRandomKey
(
RandomStringGen
.
getRandomStringGen
().
generateAlphaNum
(
4
));
...
...
@@ -245,15 +229,15 @@ public class Job extends BaseJob
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
();
}
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
();
}
...
...
@@ -680,7 +664,7 @@ public class Job extends BaseJob
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
(),
new
ObjectTransform
[]{
WorkFlowStage
.
pipesWorkFlowStage
().
toSortOrder
()},
...
...
@@ -701,6 +685,13 @@ public class Job extends BaseJob
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
()
{
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
;
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
{
...
...
@@ -24,6 +10,12 @@ public class WorkFlowStage extends BaseWorkFlowStage
{
// 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 @@
<%
Job job = (Job) process.getAttribute("Job");
StageType appStatus = (StageType) getData(request, "WorkFlowStatus
");
WorkFlowStage workFlow = (WorkFlowStage) getData(request, "WorkFlow")
;
WorkFlowStage workFlowStage = (WorkFlowStage) getData(request, "WorkFlowStage
");
StageType stageType = workFlowStage != null ? workFlowStage.getStageType() : null
;
AppView appView = (AppView) getData(request, "AppView");
String applicantsPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS);
List<JobApplication> applications = (List<JobApplication>) getData(request, "applications");
int noOfIncomplete = job.getNoOfCandidatesFor(StageType.INCOMPLETE, StageType.POST_INGEST);
int noOfUnsuitable = job.getNoOfCandidatesFor(StageType.UNSUITABLE);
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();
%>
<oneit:dynIncluded>
...
...
@@ -26,14 +27,14 @@
<oneit:dynInclude page="/extensions/adminportal/inc/job_title_bar.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"
applicantPage="<%= false %>"
applications="<%= applications %>"
WorkFlow="<%= workFlow %>"
WorkFlow="<%= workFlow
Stage
%>"
AppView="<%= appView %>"/>
<div class="int-timeline">
<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" %>"
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() %>">
<span>
<oneit:toString value="<%= noOfIncomplete %>" mode="Integer" />
...
...
@@ -43,15 +44,26 @@
</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" %>"
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())
{
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" %>"
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() %>">
<span>
<oneit:toString value="<%= noOfCandidates %>" mode="Integer" />
...
...
@@ -66,10 +78,10 @@
%>
</ul>
</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" %>"
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() %>">
<span>
<oneit:toString value="<%= noOfUnsuitable %>" mode="Integer" />
...
...
cmsWebApp/webroot/extensions/adminportal/inc/application_sorting_bar.jsp
View file @
f85fc2a8
...
...
@@ -8,13 +8,14 @@
<%
Job job = (Job) process.getAttribute("Job");
AppSortOption appSortOpt = (AppSortOption) getData(request, "SortOption");
ApplicationStatus workflowStatus = (ApplicationStatus) getData(request, "WorkFlowStatus");
boolean isDraft = workflowStatus == ApplicationStatus.DRAFT;
WorkFlowStage workFlowStage = (WorkFlowStage) getData(request, "WorkFlowStage");
StageType stageType = (StageType) getData(request, "StageType");
boolean isDraft = stageType == StageType.INCOMPLETE;
ApplicationFilter appFilter = (ApplicationFilter) getData(request, "ApplicationFilter");
Boolean showOrderBy = getData(request, "ShowOrderBy")!= null ? (Boolean) getData(request, "ShowOrderBy") : Boolean.FALSE;
AppView appView = (AppView) getData(request,"AppView");
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(),
new ObjectTransform[]{WorkFlowStage.pipesWorkFlowStage().toSortOrder()},
new Comparator[]{CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST});
...
...
@@ -26,7 +27,7 @@
<script type="text/javascript">
$(document).ready(function()
{
$("[name$='App
StatusWorkFlow
']").change(function()
$("[name$='App
WorkFlowStage
']").change(function()
{
$('.bulk-update').click();
});
...
...
@@ -76,18 +77,18 @@
<oneit:button name="bulkupdate" value=" " cssClass="bulk-update" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
.mapEntry ("restartProcess", Boolean.TRUE)
.mapEntry("procParams", CollectionUtils.mapEntry("WorkFlowSta
tus", workflowStatus
).mapEntry("Job", job).toMap())
.mapEntry ("attribNamesToRestore", new HashSet<String> (Arrays.asList(new String[] {"Job", "WorkFlowSta
tus
"})))
.mapEntry("procParams", CollectionUtils.mapEntry("WorkFlowSta
ge", workFlowStage
).mapEntry("Job", job).toMap())
.mapEntry ("attribNamesToRestore", new HashSet<String> (Arrays.asList(new String[] {"Job", "WorkFlowSta
ge
"})))
.mapEntry("Job", job)
.toMap() %>" />
</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">
<%
if(!CollectionUtils.equals(
workflowStatus,ApplicationStatus.DRAFT
))
if(!CollectionUtils.equals(
stageType, StageType.INCOMPLETE
))
{
%>
<ul class="">
...
...
cmsWebApp/webroot/extensions/adminportal/inc/incomplete_applicants_list.jsp
View file @
f85fc2a8
...
...
@@ -9,7 +9,7 @@
Job job = (Job) process.getAttribute("Job");
List<JobApplication> applications = (List<JobApplication>) getData(request, "applications");
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);
List<WorkFlowStage> sortedWorkFlows = ObjstoreUtils.sort(job.getIncompleteApplicantStages(),
new ObjectTransform[]{WorkFlowStage.pipesWorkFlowStage().toSortOrder()},
...
...
@@ -235,8 +235,8 @@
<oneit:button name="changeApplicationStatus" value=" " cssClass="<%= "save-application" + jobApplication.getID().toString() + " hidden"%>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", currentPage)
.mapEntry ("restartProcess", Boolean.TRUE)
.mapEntry("procParams", CollectionUtils.mapEntry("
WorkFlowStatus", appStatus
).mapEntry("Job", job).toMap())
.mapEntry ("attribNamesToRestore", new HashSet<String> (Arrays.asList(new String[] {"Job", "
WorkFlowStatus
"})))
.mapEntry("procParams", CollectionUtils.mapEntry("
StageType", stageType
).mapEntry("Job", job).toMap())
.mapEntry ("attribNamesToRestore", new HashSet<String> (Arrays.asList(new String[] {"Job", "
StageType
"})))
.mapEntry("JobApplication", jobApplication)
.toMap() %>" />
</div>
...
...
cmsWebApp/webroot/extensions/adminportal/inc/job_list.jsp
View file @
f85fc2a8
...
...
@@ -140,7 +140,7 @@
for(Job job: jobs)
{
int shortlisted = job.getNoOfCandidatesFor(
StageType.INTERVIEW
);
int shortlisted = job.getNoOfCandidatesFor(
job.getWorkFlowByStageType(StageType.SUCCESSFUL)
);
int maxShortlist = job.getMaxShortlistApplicants();
String editJobPage = nextPage;
...
...
@@ -288,7 +288,7 @@
</oneit:button>
/
<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>
...
...
cmsWebApp/webroot/extensions/adminportal/inc/job_title_bar.jsp
View file @
f85fc2a8
...
...
@@ -5,13 +5,13 @@
<%@ include file="/extensions/performa/inc/stdimports.jsp" %>
<%
Job job = (Job) process.getAttribute("Job");
boolean applicantPage = (boolean) getData(request, "applicantPage");
AppView appView = (AppView) getData(request, "AppView");
WorkFlow
workFlow = (WorkFlow
) getData(request, "WorkFlow");
String editJobPage = WebUtils.getSamePageInRenderMode(request, WebUtils.EDIT_JOB);
String sharePage = WebUtils.getSamePageInRenderMode(request, WebUtils.CREATED_JOB);
String jobPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS);
Job
job = (Job) process.getAttribute("Job");
boolean
applicantPage = (boolean) getData(request, "applicantPage");
AppView
appView = (AppView) getData(request, "AppView");
WorkFlow
Stage workFlow = (WorkFlowStage
) getData(request, "WorkFlow");
String
editJobPage = WebUtils.getSamePageInRenderMode(request, WebUtils.EDIT_JOB);
String
sharePage = WebUtils.getSamePageInRenderMode(request, WebUtils.CREATED_JOB);
String
jobPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS);
List<JobApplication> applications = (List<JobApplication>) getData(request, "applications");
%>
...
...
cmsWebApp/webroot/extensions/adminportal/inc/view_applicants_list.jsp
View file @
f85fc2a8
...
...
@@ -10,7 +10,7 @@
HiringTeam hiringTeam = job.getHiringTeam();
List<JobApplication> applications = (List<JobApplication>) getData(request, "applications");
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);
List<WorkFlowStage> sortedWorkFlows = ObjstoreUtils.sort(job.getApplicantStages(),
new ObjectTransform[]{WorkFlowStage.pipesWorkFlowStage().toSortOrder()},
...
...
@@ -21,7 +21,7 @@
<script type="text/javascript">
$(document).ready(function()
{
$("[name$='WorkFlow']").change(function()
$("[name$='WorkFlow
Stage
']").change(function()
{
var id = $(this).closest('.appli-row').attr('id');
$('.save-application' + id).click();
...
...
@@ -69,7 +69,7 @@
.toMap() %>">
<oneit:toString value="<%= jobApplication.getCandidate() %>" mode="EscapeHTML" />
<div class="appli-int-status">
<oneit:toString value="<%= jobApplication.get
ApplicantStatusStr
() %>" mode="EscapeHTML" />
<oneit:toString value="<%= jobApplication.get
WorkFlowStage
() %>" mode="EscapeHTML" />
</div>
</oneit:button>
<%
...
...
@@ -143,15 +143,15 @@
%>
<div class="appli-status appli-l eq-second-height">
<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]) %>"/>
</div>
</div>
<oneit:button name="changeApplicationStatus" value=" " cssClass="<%= "save-application" + jobApplication.getID().toString() + " hidden"%>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", currentPage)
.mapEntry ("restartProcess", Boolean.TRUE)
.mapEntry("procParams", CollectionUtils.mapEntry("
WorkFlowStatus", appStatus
).mapEntry("Job", job).toMap())
.mapEntry ("attribNamesToRestore", new HashSet<String> (Arrays.asList(new String[] {"Job", "
WorkFlowStatus
"})))
.mapEntry("procParams", CollectionUtils.mapEntry("
StageType", stageType
).mapEntry("Job", job).toMap())
.mapEntry ("attribNamesToRestore", new HashSet<String> (Arrays.asList(new String[] {"Job", "
StageType
"})))
.mapEntry("JobApplication", jobApplication)
.toMap() %>" />
</div>
...
...
cmsWebApp/webroot/extensions/adminportal/view_applicants.jsp
View file @
f85fc2a8
...
...
@@ -42,7 +42,7 @@
String applicationPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION);
AppSortOption appSortOpt = null;
ApplicationFilter appFilter = null;
ApplicationStatus workflowStatus
= null;
WorkFlowStage workFlowStage
= null;
SearchApplicant searchApplicant = (SearchApplicant) RunSearchExecutorFP.setupExecutor(request, SearchApplicant.REFERENCE_SearchApplicant, true);
JobApplication[] applications = null;
...
...
@@ -77,21 +77,14 @@
}
// 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"));
}
else if(process.getAttribute("WorkFlowStatus") != null)
{
workflowStatus = (ApplicationStatus) process.getAttribute("WorkFlowStatus");
}
else
{
workflowStatus = ApplicationStatus.SUBMITTED;
workFlowStage = (WorkFlowStage) process.getAttribute("WorkFlowStage");
}
boolean isApplicantPage = workflowStatus == ApplicationStatus.SUBMITTED;
boolean isDraftPage = workflowStatus == ApplicationStatus.DRAFT;
StageType stageType = workFlowStage != null ? workFlowStage.getStageType() : null;
boolean isApplicantPage = workFlowStage == null;
boolean isDraftPage = stageType == StageType.INCOMPLETE;
// handle application filter (showing dropdown)
if(parameterMap.containsKey("ApplicationFilter") && !request.getParameter("ApplicationFilter").isEmpty())
...
...
@@ -108,12 +101,12 @@
}
List<JobApplication> applicantList = Arrays.asList(applications);
WorkFlow workflow = job.getWorkFlowByStatus(workflowStatus
);
// WorkFlowStage workflow = job.getWorkFlowByStageType(stageType
);
// filter applicants by status
oneit.utils.filter.Filter<JobApplication> filter = JobApplication.SearchByAll().and
ApplicationStatus(new EqualsFilter<>(workflowStatus
));
oneit.utils.filter.Filter<JobApplication> applicantFilter = JobApplication.SearchByAll().and
ApplicationStatus(new NotInFilter<>(ApplicationStatus.DRAFT, ApplicationStatus.POST_INGEST
));
oneit.utils.filter.Filter<JobApplication> draftFilter = JobApplication.SearchByAll().and
ApplicationStatus(new InFilter<>(ApplicationStatus.DRAFT, ApplicationStatus.POST_INGEST
));
oneit.utils.filter.Filter<JobApplication> filter = JobApplication.SearchByAll().and
WorkFlowStage(new EqualsFilter<>(workFlowStage
));
oneit.utils.filter.Filter<JobApplication> applicantFilter = JobApplication.SearchByAll().and
WorkFlowStage(new NotInFilter<>(job.getIncompleteApplicantStages()
));
oneit.utils.filter.Filter<JobApplication> draftFilter = JobApplication.SearchByAll().and
WorkFlowStage(new InFilter<>(job.getIncompleteApplicantStages()
));
// if Applicant Status, then show all application completed applicants
applicantList = new ArrayList<>(CollectionFilter.filter(applicantList, isDraftPage ? draftFilter : (isApplicantPage ? applicantFilter : filter)));
...
...
@@ -128,12 +121,12 @@
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);
process.setAttribute("AppSortOption", appSortOpt);
process.setAttribute("ApplicationFilter", appFilter);
process.setAttribute("WorkFlowSta
tus", workflowStatus
);
process.setAttribute("WorkFlowSta
ge", workFlowStage
);
process.setAttribute("AppView", appView);
%>
...
...
@@ -143,8 +136,7 @@
<oneit:dynInclude page="/extensions/adminportal/inc/applicant_view_tabs.jsp"
AppView="<%= appView %>"
applications="<%= sortedApplications %>"
WorkFlowStatus="<%= workflowStatus %>"
WorkFlow="<%= workflow %>"
WorkFlowStage="<%= workFlowStage %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
...
...
@@ -154,20 +146,21 @@
SearchApplicant="<%= searchApplicant %>"
ShowOrderBy="<%= sortedApplications.size() > 1 %>"
ApplicationFilter="<%= appFilter %>"
WorkFlowStatus="<%= workflowStatus %>"
WorkFlowStage="<%= workFlowStage %>"
StageType="<%= stageType %>"
SortOption="<%= appSortOpt %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<%
if(appView == AppView.LIST)
{
if(
workflowStatus == ApplicationStatus.DRAFT
)
if(
stageType == StageType.INCOMPLETE
)
{
%>
<oneit:dynInclude page="/extensions/adminportal/inc/incomplete_applicants_list.jsp"
applications="<%= sortedApplications %>"
currentPage="<%= currentPage %>"
WorkFlowStatus="<%= workflowStatus
%>"
StageType="<%= stageType
%>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<%
}
...
...
@@ -177,7 +170,7 @@
<oneit:dynInclude page="/extensions/adminportal/inc/view_applicants_list.jsp"
applications="<%= sortedApplications %>"
currentPage="<%= currentPage %>"
WorkFlowStatus="<%= workflowStatus
%>"
StageType="<%= stageType
%>"
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