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
1cf9d52e
Commit
1cf9d52e
authored
Sep 11, 2019
by
Chamath
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ApplicatioStatus and Workflow usage replacements.
parent
a9d0d9db
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
267 additions
and
68 deletions
+267
-68
BulkUpdateFP.java
cmsWebApp/src/performa/form/BulkUpdateFP.java
+13
-21
BaseJob.java
cmsWebApp/src/performa/orm/BaseJob.java
+0
-0
BaseJobApplication.java
cmsWebApp/src/performa/orm/BaseJobApplication.java
+126
-0
Job.java
cmsWebApp/src/performa/orm/Job.java
+14
-14
Job.xml
cmsWebApp/src/performa/orm/Job.xml
+1
-0
JobApplication.xml
cmsWebApp/src/performa/orm/JobApplication.xml
+8
-0
JobApplicationPersistenceMgr.java
cmsWebApp/src/performa/orm/JobApplicationPersistenceMgr.java
+56
-0
edit_job.jsp
cmsWebApp/webroot/extensions/adminportal/edit_job.jsp
+1
-1
edit_job_template.jsp
...bApp/webroot/extensions/adminportal/edit_job_template.jsp
+2
-2
applicant_view_tabs.jsp
...ebroot/extensions/adminportal/inc/applicant_view_tabs.jsp
+14
-12
application_sorting_bar.jsp
...ot/extensions/adminportal/inc/application_sorting_bar.jsp
+4
-4
incomplete_applicants_list.jsp
...extensions/adminportal/inc/incomplete_applicants_list.jsp
+3
-3
job_list.jsp
cmsWebApp/webroot/extensions/adminportal/inc/job_list.jsp
+3
-2
view_applicants_list.jsp
...broot/extensions/adminportal/inc/view_applicants_list.jsp
+3
-3
view_application_tab_applicant.jsp
...nsions/adminportal/inc/view_application_tab_applicant.jsp
+6
-3
job_detail.jsp
cmsWebApp/webroot/extensions/adminportal/job_detail.jsp
+3
-3
view_applicants.jsp
cmsWebApp/webroot/extensions/adminportal/view_applicants.jsp
+10
-0
No files found.
cmsWebApp/src/performa/form/BulkUpdateFP.java
View file @
1cf9d52e
package
performa
.
form
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
import
javax.servlet.http.HttpServletRequest
;
import
oneit.logging.LogLevel
;
import
oneit.logging.LogMgr
;
import
oneit.logging.*
;
import
oneit.objstore.StorageException
;
import
oneit.objstore.parser.BusinessObjectParser
;
import
oneit.objstore.rdbms.filters.EqualsFilter
;
import
oneit.objstore.utils.ObjstoreUtils
;
import
oneit.servlets.forms.SubmissionDetails
;
import
oneit.servlets.forms.SuccessfulResult
;
import
oneit.servlets.process.ORMProcessState
;
import
oneit.servlets.process.SaveFP
;
import
oneit.utils.BusinessException
;
import
oneit.servlets.forms.*
;
import
oneit.servlets.process.*
;
import
oneit.utils.*
;
import
oneit.utils.Debug
;
import
oneit.utils.filter.CollectionFilter
;
import
oneit.utils.filter.Filter
;
import
performa.orm.Job
;
import
performa.orm.JobApplication
;
import
performa.orm.types.ApplicationStatus
;
import
oneit.utils.filter.*
;
import
performa.orm.*
;
import
performa.orm.types.StageType
;
public
class
BulkUpdateFP
extends
SaveFP
...
...
@@ -36,21 +28,21 @@ 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
.
getApp
StatusWorkFlow
()
!=
null
&&
job
.
getAppStatusWorkFlow
().
getApplicationStatus
()
==
ApplicationStatus
.
SHORTLISTED
if
(
job
.
getApp
WorkFlowStage
()!=
null
&&
job
.
getAppWorkFlowStage
().
getStageType
()==
StageType
.
INTERVIEW
&&
job
.
getNoOfCandidatesApplied
()
>
job
.
getMaxShortlistApplicants
()
&&
applications
!=
null
)
{
Filter
<
JobApplication
>
filter
=
JobApplication
.
SearchBy
All
().
andApplicationStatus
(
new
EqualsFilter
<>(
ApplicationStatus
.
SHORTLISTED
));
Filter
<
JobApplication
>
filter
=
JobApplication
.
SearchBy
StageType
().
byStageTypesIn
(
CollectionUtils
.
createSet
(
StageType
.
INTERVIEW
));
Collection
alreadyShortlisted
=
CollectionFilter
.
filter
(
applications
,
filter
);
int
totalShortlisted
=
applications
.
size
()
-
alreadyShortlisted
.
size
()
+
job
.
getNoOfCandidatesFor
(
ApplicationStatus
.
SHORTLISTED
);
int
totalShortlisted
=
applications
.
size
()
-
alreadyShortlisted
.
size
()
+
job
.
getNoOfCandidatesFor
(
StageType
.
INTERVIEW
);
BusinessObjectParser
.
assertFieldCondition
(
totalShortlisted
<=
job
.
getMaxShortlistApplicants
()
,
job
,
Job
.
MULTIPLEREFERENCE_JobApplications
,
"exceedMaxShortlisted"
);
}
if
(
job
.
getApp
StatusWorkFlow
()
!=
null
)
if
(
job
.
getApp
WorkFlowStage
()
!=
null
)
{
for
(
JobApplication
application
:
applications
)
{
application
.
set
ApplicationStatus
(
job
.
getAppStatusWorkFlow
().
getApplicationStatus
());
application
.
set
WorkFlowStage
(
job
.
getAppWorkFlowStage
());
LogMgr
.
log
(
JobApplication
.
LOG
,
LogLevel
.
PROCESSING1
,
"In BulkUpdateFP Job Application Status successfully changed : "
,
application
);
}
...
...
cmsWebApp/src/performa/orm/BaseJob.java
View file @
1cf9d52e
This diff is collapsed.
Click to expand it.
cmsWebApp/src/performa/orm/BaseJobApplication.java
View file @
1cf9d52e
...
...
@@ -72,6 +72,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
public
static
final
String
SEARCH_All
=
"All"
;
public
static
final
String
SEARCH_CandidateJob
=
"CandidateJob"
;
public
static
final
String
SEARCH_Details
=
"Details"
;
public
static
final
String
SEARCH_StageType
=
"StageType"
;
// Static constants corresponding to attribute helpers
...
...
@@ -4406,6 +4407,131 @@ public abstract class BaseJobApplication extends BaseBusinessClass
.
byName
(
Name
).
search
(
transaction
);
}
public
static
SearchStageType
SearchByStageType
()
{
return
new
SearchStageType
();
}
public
static
class
SearchStageType
extends
SearchObject
<
JobApplication
>
{
public
SearchStageType
byStageTypesNotIn
(
Set
<
StageType
>
StageTypesNotIn
)
{
by
(
"StageTypesNotIn"
,
StageTypesNotIn
);
return
this
;
}
public
SearchStageType
byStageTypesIn
(
Set
<
StageType
>
StageTypesIn
)
{
by
(
"StageTypesIn"
,
StageTypesIn
);
return
this
;
}
public
SearchStageType
andObjectID
(
QueryFilter
<
Long
>
filter
)
{
filter
.
addFilter
(
context
,
"tl_job_application.object_id"
,
FIELD_ObjectID
);
return
this
;
}
public
SearchStageType
andObjectCreated
(
QueryFilter
<
Date
>
filter
)
{
filter
.
addFilter
(
context
,
"tl_job_application.object_created_date"
,
FIELD_ObjectCreated
);
return
this
;
}
public
SearchStageType
andObjectLastModified
(
QueryFilter
<
Date
>
filter
)
{
filter
.
addFilter
(
context
,
"tl_job_application.object_last_updated_date"
,
FIELD_ObjectLastModified
);
return
this
;
}
public
SearchStageType
andCV
(
QueryFilter
<
BinaryContent
>
filter
)
{
filter
.
addFilter
(
context
,
"tl_job_application.cv"
,
"CV"
);
return
this
;
}
public
SearchStageType
andCoverLetter
(
QueryFilter
<
BinaryContent
>
filter
)
{
filter
.
addFilter
(
context
,
"tl_job_application.cover_letter"
,
"CoverLetter"
);
return
this
;
}
public
SearchStageType
andApplicationStatus
(
QueryFilter
<
ApplicationStatus
>
filter
)
{
filter
.
addFilter
(
context
,
"tl_job_application.application_status"
,
"ApplicationStatus"
);
return
this
;
}
public
SearchStageType
andSubmittedDate
(
QueryFilter
<
Date
>
filter
)
{
filter
.
addFilter
(
context
,
"tl_job_application.submitted_date"
,
"SubmittedDate"
);
return
this
;
}
public
SearchStageType
andGoogleAddressText
(
QueryFilter
<
String
>
filter
)
{
filter
.
addFilter
(
context
,
"tl_job_application.google_address_text"
,
"GoogleAddressText"
);
return
this
;
}
public
SearchStageType
andPreferRemote
(
QueryFilter
<
Boolean
>
filter
)
{
filter
.
addFilter
(
context
,
"tl_job_application.prefer_remote"
,
"PreferRemote"
);
return
this
;
}
public
SearchStageType
andHappyToRelocate
(
QueryFilter
<
Boolean
>
filter
)
{
filter
.
addFilter
(
context
,
"tl_job_application.happy_to_relocate"
,
"HappyToRelocate"
);
return
this
;
}
public
SearchStageType
andIsEmailIngest
(
QueryFilter
<
Boolean
>
filter
)
{
filter
.
addFilter
(
context
,
"tl_job_application.is_email_ingest"
,
"IsEmailIngest"
);
return
this
;
}
public
SearchStageType
andCandidate
(
QueryFilter
<
Candidate
>
filter
)
{
filter
.
addFilter
(
context
,
"tl_job_application.candidate_id"
,
"Candidate"
);
return
this
;
}
public
SearchStageType
andJob
(
QueryFilter
<
Job
>
filter
)
{
filter
.
addFilter
(
context
,
"tl_job_application.job_id"
,
"Job"
);
return
this
;
}
public
SearchStageType
andWorkFlowStage
(
QueryFilter
<
WorkFlowStage
>
filter
)
{
filter
.
addFilter
(
context
,
"tl_job_application.work_flow_stage_id"
,
"WorkFlowStage"
);
return
this
;
}
public
JobApplication
[]
search
(
ObjectTransaction
transaction
)
throws
StorageException
{
BaseBusinessClass
[]
results
=
super
.
search
(
transaction
,
REFERENCE_JobApplication
,
SEARCH_StageType
,
criteria
);
Set
<
JobApplication
>
typedResults
=
new
LinkedHashSet
<
JobApplication
>
();
for
(
BaseBusinessClass
bbcResult
:
results
)
{
JobApplication
aResult
=
(
JobApplication
)
bbcResult
;
typedResults
.
add
(
aResult
);
}
return
ObjstoreUtils
.
removeDeleted
(
transaction
,
typedResults
).
toArray
(
new
JobApplication
[
0
]);
}
}
public
static
JobApplication
[]
searchStageType
(
ObjectTransaction
transaction
,
Set
<
StageType
>
StageTypesNotIn
,
Set
<
StageType
>
StageTypesIn
)
throws
StorageException
{
return
SearchByStageType
()
.
byStageTypesNotIn
(
StageTypesNotIn
).
byStageTypesIn
(
StageTypesIn
).
search
(
transaction
);
}
public
Object
getAttribute
(
String
attribName
)
...
...
cmsWebApp/src/performa/orm/Job.java
View file @
1cf9d52e
...
...
@@ -245,15 +245,15 @@ public class Job extends BaseJob
public
int
getNoOfCandidatesApplied
()
{
Filter
<
JobApplication
>
filter
=
JobApplication
.
SearchBy
All
().
andApplicationStatus
(
new
NotInFilter
<>(
ApplicationStatus
.
DRAFT
,
ApplicationStatus
.
POST_INGEST
));
Filter
<
JobApplication
>
filter
=
JobApplication
.
SearchBy
StageType
().
byStageTypesNotIn
(
CollectionUtils
.
createSet
(
StageType
.
INCOMPLETE
,
StageType
.
POST_INGEST
));
return
pipelineJob
().
toJobApplications
(
filter
).
toCandidate
().
vals
().
size
();
}
public
int
getNoOfCandidatesFor
(
ApplicationStatus
...
status
)
public
int
getNoOfCandidatesFor
(
StageType
...
status
)
{
Filter
<
JobApplication
>
filter
=
JobApplication
.
SearchBy
All
().
andApplicationStatus
(
new
InFilter
<>
(
status
));
Filter
<
JobApplication
>
filter
=
JobApplication
.
SearchBy
StageType
().
byStageTypesIn
(
CollectionUtils
.
createSet
(
status
));
return
pipelineJob
().
toJobApplications
(
filter
).
toCandidate
().
vals
().
size
();
}
...
...
@@ -261,7 +261,7 @@ public class Job extends BaseJob
public
Collection
<
JobApplication
>
getSubmittedApplications
()
{
Filter
<
JobApplication
>
filter
=
JobApplication
.
SearchBy
All
().
andApplicationStatus
(
new
NotInFilter
<>(
ApplicationStatus
.
DRAF
T
));
Filter
<
JobApplication
>
filter
=
JobApplication
.
SearchBy
StageType
().
byStageTypesNotIn
(
CollectionUtils
.
createSet
(
StageType
.
INCOMPLETE
,
StageType
.
POST_INGES
T
));
return
CollectionFilter
.
filter
(
getJobApplicationsSet
(),
filter
);
}
...
...
@@ -678,12 +678,12 @@ public class Job extends BaseJob
new
Comparator
[]{
CollectionUtils
.
DEFAULT_COMPARATOR_NULLS_FIRST
});
}
public
List
<
WorkFlow
>
getSortedMiddleWorkFlow
s
()
public
List
<
WorkFlow
Stage
>
getSortedMiddleStage
s
()
{
Filter
<
WorkFlow
>
filter
=
WorkFlow
.
SearchByAll
().
andSortOrder
(
new
LessThanFilter
<>(
9
)).
andSortOrder
(
new
GreaterThanFilter
<>(
1
));
Filter
<
WorkFlow
Stage
>
filter
=
WorkFlowStage
.
SearchByAll
().
andSortOrder
(
new
LessThanFilter
<>(
9
)).
andSortOrder
(
new
GreaterThanFilter
<>(
1
));
return
ObjstoreUtils
.
sort
(
pipelineJob
().
toWorkFlows
(
filter
).
uniqueVals
(),
new
ObjectTransform
[]{
WorkFlow
.
pipesWorkFlow
().
toSortOrder
()},
return
ObjstoreUtils
.
sort
(
pipelineJob
().
toWorkFlow
Template
().
toWorkFlowStage
s
(
filter
).
uniqueVals
(),
new
ObjectTransform
[]{
WorkFlow
Stage
.
pipesWorkFlowStage
().
toSortOrder
()},
new
Comparator
[]{
CollectionUtils
.
DEFAULT_COMPARATOR_NULLS_FIRST
});
}
...
...
@@ -701,16 +701,16 @@ public class Job extends BaseJob
return
pipelineJob
().
toWorkFlows
(
filter
).
val
();
}
public
Set
<
WorkFlow
>
getIncompleteApplicantWF
s
()
public
Set
<
WorkFlow
Stage
>
getIncompleteApplicantStage
s
()
{
Filter
<
WorkFlow
>
filter
=
WorkFlow
.
SearchByAll
().
andApplicationStatus
(
new
InFilter
<>(
ApplicationStatus
.
DRAFT
,
ApplicationStatus
.
UNSUITABLE
));
return
pipelineJob
().
toWorkFlows
(
filter
).
uniqueVals
();
Filter
<
WorkFlow
Stage
>
filter
=
WorkFlowStage
.
SearchByAll
().
andStageType
(
new
InFilter
<>(
StageType
.
INCOMPLETE
,
StageType
.
POST_INGEST
,
StageType
.
UNSUITABLE
));
return
pipelineJob
().
toWorkFlow
Template
().
toWorkFlowStage
s
(
filter
).
uniqueVals
();
}
public
Set
<
WorkFlow
>
getApplicantWF
s
()
public
Set
<
WorkFlow
Stage
>
getApplicantStage
s
()
{
Filter
<
WorkFlow
>
filter
=
WorkFlow
.
SearchByAll
().
andApplicationStatus
(
new
NotEqualsFilter
<>(
ApplicationStatus
.
DRAF
T
));
return
pipelineJob
().
toWorkFlows
(
filter
).
uniqueVals
();
Filter
<
WorkFlow
Stage
>
filter
=
WorkFlowStage
.
SearchByAll
().
andStageType
(
new
NotInFilter
<>(
StageType
.
INCOMPLETE
,
StageType
.
POST_INGES
T
));
return
pipelineJob
().
toWorkFlow
Template
().
toWorkFlowStage
s
(
filter
).
uniqueVals
();
}
public
List
<
JobApplication
>
filterEssentialRequirements
(
boolean
meetsRequirements
,
List
<
JobApplication
>
applicantList
)
...
...
cmsWebApp/src/performa/orm/Job.xml
View file @
1cf9d52e
...
...
@@ -30,6 +30,7 @@
<TRANSIENTSINGLE
name=
"CultureTemplate"
type=
"CultureCriteriaTemplate"
/>
<TRANSIENTSINGLE
name=
"JobTemplate"
type=
"Job"
/>
<TRANSIENTSINGLE
name=
"AppStatusWorkFlow"
type=
"WorkFlow"
/>
<TRANSIENTSINGLE
name=
"AppWorkFlowStage"
type=
"WorkFlowStage"
/>
<TABLE
name=
"tl_job"
tablePrefix=
"object"
polymorphic=
"FALSE"
>
...
...
cmsWebApp/src/performa/orm/JobApplication.xml
View file @
1cf9d52e
...
...
@@ -61,6 +61,13 @@
oneit_sec_user.email ILIKE ${Name})"
>
</PARAM>
</SEARCH>
<SEARCH
type=
"StageType"
paramFilter=
"tl_job_application.object_id is not null"
>
<TABLE
name=
"tl_work_flow_stage"
join=
"tl_work_flow_stage.object_id = tl_job_application.work_flow_stage_id"
/>
<PARAM
name=
"StageTypesNotIn"
type=
"Set<StageType>"
paramFilter=
"tl_work_flow_stage.stage_type not in ${StageTypesNotIn} "
/>
<PARAM
name=
"StageTypesIn"
type=
"Set<StageType>"
paramFilter=
"tl_work_flow_stage.stage_type in ${StageTypesNotIn} "
/>
</SEARCH>
</BUSINESSCLASS>
</ROOT>
\ No newline at end of file
cmsWebApp/src/performa/orm/JobApplicationPersistenceMgr.java
View file @
1cf9d52e
...
...
@@ -313,6 +313,10 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr
{
throw
new
RuntimeException
(
"NOT implemented: executeSearchQueryDetails"
);
}
public
ResultSet
executeSearchQueryStageType
(
SQLManager
sqlMgr
,
Set
<
StageType
>
StageTypesNotIn
,
Set
<
StageType
>
StageTypesIn
)
throws
SQLException
{
throw
new
RuntimeException
(
"NOT implemented: executeSearchQueryStageType"
);
}
...
...
@@ -574,6 +578,58 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr
return
results
;
}
else
if
(
searchType
.
equals
(
JobApplication
.
SEARCH_StageType
))
{
// Local scope for transformed variables
{
}
String
orderBy
=
" "
;
String
tables
=
", tl_work_flow_stage "
;
Set
<
String
>
joinTableSet
=
new
HashSet
<
String
>();
String
filter
;
Object
[]
searchParams
;
// paramFilter: tl_job_application.object_id is not null
String
preFilter
=
"(tl_job_application.object_id is not null)"
+
" AND (tl_work_flow_stage.object_id = tl_job_application.work_flow_stage_id) "
;
if
(
criteria
.
containsKey
(
"StageTypesNotIn"
))
{
preFilter
+=
" AND (tl_work_flow_stage.stage_type not in ${StageTypesNotIn} ) "
;
preFilter
+=
""
;
}
if
(
criteria
.
containsKey
(
"StageTypesIn"
))
{
preFilter
+=
" AND (tl_work_flow_stage.stage_type in ${StageTypesNotIn} ) "
;
preFilter
+=
""
;
}
preFilter
+=
context
.
getLoadingAttributes
().
getCustomSQL
()
;
SearchParamTransform
tx
=
new
SearchParamTransform
(
criteria
);
filter
=
StringUtils
.
replaceParams
(
preFilter
,
tx
);
searchParams
=
tx
.
getParamsArray
();
Integer
maxRows
=
context
.
getLoadingAttributes
().
getMaxRows
();
boolean
truncateExtra
=
!
context
.
getLoadingAttributes
().
isFailIfMaxExceeded
();
String
query
=
"SELECT "
+
SELECT_COLUMNS
+
"FROM {PREFIX}tl_job_application "
+
tables
+
tableSetToSQL
(
joinTableSet
)
+
"WHERE "
+
SELECT_JOINS
+
" "
+
filter
+
orderBy
;
BaseBusinessClass
[]
results
=
loadQuery
(
allPSets
,
sqlMgr
,
context
,
query
,
searchParams
,
maxRows
,
truncateExtra
);
return
results
;
}
else
{
...
...
cmsWebApp/webroot/extensions/adminportal/edit_job.jsp
View file @
1cf9d52e
...
...
@@ -200,7 +200,7 @@
</div>
<div class="col-md-8 workflow-tabs">
<%
for (WorkFlow workflow : job.getSortedWorkFlows())
for (WorkFlow
Stage
workflow : job.getSortedWorkFlows())
{
%>
<span class="skill-label">
...
...
cmsWebApp/webroot/extensions/adminportal/edit_job_template.jsp
View file @
1cf9d52e
...
...
@@ -476,9 +476,9 @@
</div>
<div id="middle-workflows">
<%
List<WorkFlow> sortedWorkflows = template.getSortedMiddleWorkFlows();
List<WorkFlow
Stage
> sortedWorkflows = template.getSortedMiddleWorkFlows();
int index = 0;
for (WorkFlow workflow : sortedWorkflows)
for (WorkFlow
Stage
workflow : sortedWorkflows)
{
index++;
%>
...
...
cmsWebApp/webroot/extensions/adminportal/inc/applicant_view_tabs.jsp
View file @
1cf9d52e
<%@page import="performa.orm.types.StageType"%>
<%@page import="performa.orm.WorkFlowStage"%>
<%@ page extends="oneit.servlets.jsp.JSPInclude" %>
<%@ include file="/inc/stdimports50.jsp" %><%-- This is in cougar --%>
...
...
@@ -6,14 +8,14 @@
<%
Job job = (Job) process.getAttribute("Job");
ApplicationStatus appStatus = (ApplicationStatus
) getData(request, "WorkFlowStatus");
WorkFlow
workFlow = (WorkFlow
) getData(request, "WorkFlow");
StageType appStatus = (StageType
) getData(request, "WorkFlowStatus");
WorkFlow
Stage workFlow = (WorkFlowStage
) getData(request, "WorkFlow");
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(
ApplicationStatus.DRAFT, ApplicationStatus
.POST_INGEST);
int noOfUnsuitable = job.getNoOfCandidatesFor(
ApplicationStatus
.UNSUITABLE);
int noOfIncomplete = job.getNoOfCandidatesFor(
StageType.INCOMPLETE, StageType
.POST_INGEST);
int noOfUnsuitable = job.getNoOfCandidatesFor(
StageType
.UNSUITABLE);
%>
<oneit:dynIncluded>
...
...
@@ -28,10 +30,10 @@
AppView="<%= appView %>"/>
<div class="int-timeline">
<ul>
<li class="<%= "incomplete " + (noOfIncomplete > 0 ? "has-applicant" : "no-applicant") %> <%= appStatus ==
ApplicationStatus.DRAF
T ? "active" : "inactive" %>">
<li class="<%= "incomplete " + (noOfIncomplete > 0 ? "has-applicant" : "no-applicant") %> <%= appStatus ==
StageType.INCOMPLETE || appStatus == StageType.POST_INGES
T ? "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("WorkFlowStatus",
ApplicationStatus.DRAFT
).toMap())
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowStatus",
StageType.INCOMPLETE
).toMap())
.toMap() %>">
<span>
<oneit:toString value="<%= noOfIncomplete %>" mode="Integer" />
...
...
@@ -42,14 +44,14 @@
</oneit:button>
</li>
<%
for (WorkFlow
workflow : job.getSortedMiddleWorkFlow
s())
for (WorkFlow
Stage workflow : job.getSortedMiddleStage
s())
{
int noOfCandidates = workflow.getSortOrder() == 2 ? job.getNoOfCandidatesApplied() : job.getNoOfCandidatesFor(workflow.get
ApplicationStatus
());
int noOfCandidates = workflow.getSortOrder() == 2 ? job.getNoOfCandidatesApplied() : job.getNoOfCandidatesFor(workflow.get
StageType
());
%>
<li class="<%= noOfCandidates > 0 ? "has-applicant" : "" %> <%= (appStatus == workflow.get
ApplicationStatus
()) ? "active" : "inactive" %>">
<li class="<%= noOfCandidates > 0 ? "has-applicant" : "" %> <%= (appStatus == workflow.get
StageType
()) ? "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("WorkFlowStatus", workflow.get
ApplicationStatus
()).toMap())
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowStatus", workflow.get
StageType
()).toMap())
.toMap() %>">
<span>
<oneit:toString value="<%= noOfCandidates %>" mode="Integer" />
...
...
@@ -64,10 +66,10 @@
%>
</ul>
</div>
<div class="unsutable <%= noOfUnsuitable > 0 ? "has-applicant" : "no-applicant" %> <%= appStatus ==
ApplicationStatus
.UNSUITABLE ? "active" : "inactive" %>">
<div class="unsutable <%= noOfUnsuitable > 0 ? "has-applicant" : "no-applicant" %> <%= appStatus ==
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("WorkFlowStatus",
ApplicationStatus
.UNSUITABLE).toMap())
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowStatus",
StageType
.UNSUITABLE).toMap())
.toMap() %>">
<span>
<oneit:toString value="<%= noOfUnsuitable %>" mode="Integer" />
...
...
cmsWebApp/webroot/extensions/adminportal/inc/application_sorting_bar.jsp
View file @
1cf9d52e
...
...
@@ -15,8 +15,8 @@
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();
List<WorkFlow
> sortedWorkFlows = ObjstoreUtils.sort(job.getApplicantWF
s(),
new ObjectTransform[]{WorkFlow
.pipesWorkFlow
().toSortOrder()},
List<WorkFlow
Stage> sortedWorkFlows = ObjstoreUtils.sort(job.getApplicantStage
s(),
new ObjectTransform[]{WorkFlow
Stage.pipesWorkFlowStage
().toSortOrder()},
new Comparator[]{CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST});
HiringTeam hiringTeam = job.getHiringTeam();
String keyName = WebUtils.getEnumSetKey(request, searchApplicant, SearchApplicant.FIELD_Filter, AppFilter.FACTORY_AppFilter);
...
...
@@ -70,8 +70,8 @@
<div class="shorting-dropdown appli-left">
<span class="appli-order-label">Bulk Update</span>
<div class="wider-select bullk-app-process">
<tagfile:ormsingleasso_select obj="<%= job %>" assocName="App
StatusWorkFlow
" cssClass="form-control app-process" id="AppProcessOption"
options="<%= sortedWorkFlows.toArray(new WorkFlow[0]) %>"/>
<tagfile:ormsingleasso_select obj="<%= job %>" assocName="App
WorkFlowStage
" cssClass="form-control app-process" id="AppProcessOption"
options="<%= sortedWorkFlows.toArray(new WorkFlow
Stage
[0]) %>"/>
</div>
<oneit:button name="bulkupdate" value=" " cssClass="bulk-update" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicantsPage)
...
...
cmsWebApp/webroot/extensions/adminportal/inc/incomplete_applicants_list.jsp
View file @
1cf9d52e
...
...
@@ -11,8 +11,8 @@
String currentPage = (String) getData(request, "currentPage");
ApplicationStatus appStatus = (ApplicationStatus) getData(request, "WorkFlowStatus");
String applicationPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION);
List<WorkFlow
> sortedWorkFlows = ObjstoreUtils.sort(job.getIncompleteApplicantWF
s(),
new ObjectTransform[]{WorkFlow
.pipesWorkFlow
().toSortOrder()},
List<WorkFlow
Stage> sortedWorkFlows = ObjstoreUtils.sort(job.getIncompleteApplicantStage
s(),
new ObjectTransform[]{WorkFlow
Stage.pipesWorkFlowStage
().toSortOrder()},
new Comparator[]{CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST});
HiringTeam hiringTeam = job.getHiringTeam();
boolean hasDiversity = job.hasDiversityQuestions();
...
...
@@ -226,7 +226,7 @@
%>
<div class="appli-list-drop">
<tagfile:ormsingleasso_select obj="<%= jobApplication %>" assocName="WorkFlow" cssClass="form-control app-process"
options="<%= sortedWorkFlows.toArray(new WorkFlow[0]) %>"/>
options="<%= sortedWorkFlows.toArray(new WorkFlow
Stage
[0]) %>"/>
</div>
<%
}
...
...
cmsWebApp/webroot/extensions/adminportal/inc/job_list.jsp
View file @
1cf9d52e
<%@page import="performa.orm.types.StageType"%>
<%@ page extends="oneit.servlets.jsp.JSPInclude" %>
<%@ include file="/inc/stdimports50.jsp" %><%-- This is in cougar --%>
...
...
@@ -139,7 +140,7 @@
for(Job job: jobs)
{
int shortlisted = job.getNoOfCandidatesFor(
ApplicationStatus.SHORTLISTED
);
int shortlisted = job.getNoOfCandidatesFor(
StageType.INTERVIEW
);
int maxShortlist = job.getMaxShortlistApplicants();
String editJobPage = nextPage;
...
...
@@ -281,7 +282,7 @@
<div class="ja-count">
<oneit:button value=" " name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("ApplicationStatus",
ApplicationStatus.SHORTLISTED
).toMap())
.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>
...
...
cmsWebApp/webroot/extensions/adminportal/inc/view_applicants_list.jsp
View file @
1cf9d52e
...
...
@@ -12,8 +12,8 @@
String currentPage = (String) getData(request, "currentPage");
ApplicationStatus appStatus = (ApplicationStatus) getData(request, "WorkFlowStatus");
String applicationPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION);
List<WorkFlow
> sortedWorkFlows = ObjstoreUtils.sort(job.getApplicantWF
s(),
new ObjectTransform[]{WorkFlow
.pipesWorkFlow
().toSortOrder()},
List<WorkFlow
Stage> sortedWorkFlows = ObjstoreUtils.sort(job.getApplicantStage
s(),
new ObjectTransform[]{WorkFlow
Stage.pipesWorkFlowStage
().toSortOrder()},
new Comparator[]{CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST});
%>
...
...
@@ -144,7 +144,7 @@
<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"
options="<%= sortedWorkFlows.toArray(new WorkFlow[0]) %>"/>
options="<%= sortedWorkFlows.toArray(new WorkFlow
Stage
[0]) %>"/>
</div>
</div>
<oneit:button name="changeApplicationStatus" value=" " cssClass="<%= "save-application" + jobApplication.getID().toString() + " hidden"%>"
...
...
cmsWebApp/webroot/extensions/adminportal/inc/view_application_tab_applicant.jsp
View file @
1cf9d52e
<%@page import="performa.orm.types.StageType"%>
<%@page import="performa.orm.*"%>
<%@ page extends="oneit.servlets.jsp.JSPInclude" %>
<%@ include file="/inc/stdimports50.jsp" %><%-- This is in cougar --%>
...
...
@@ -18,8 +20,9 @@
boolean missingReq = jobApplication.hasFailedEssentialRequirements();
boolean hasAllReq = jobApplication.hasAllEssentialRequirements();
WorkFlow workflow = job.getWorkFlowByStatus(jobApplication.getApplicationStatus());
List<WorkFlow> sortedWorkFlows = ObjstoreUtils.sort(jobApplication.getApplicationStatus() == ApplicationStatus.DRAFT ? job.getIncompleteApplicantWFs() : job.getApplicantWFs(),
new ObjectTransform[]{WorkFlow.pipesWorkFlow().toSortOrder()},
List<WorkFlowStage> sortedWorkFlows = ObjstoreUtils.sort(jobApplication.getWorkFlowStage().getStageType() == StageType.INCOMPLETE ||
jobApplication.getWorkFlowStage().getStageType() == StageType.POST_INGEST ? job.getIncompleteApplicantStages() : job.getApplicantStages(),
new ObjectTransform[]{WorkFlowStage.pipesWorkFlowStage().toSortOrder()},
new Comparator[]{CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST});
Integer overallRank = jobApplication.getOverallRank();
boolean onTrial = hiringTeam.isTrue(hiringTeam.getOnTrial());
...
...
@@ -149,7 +152,7 @@
<span class="appli-status-short">
<tagfile:ormsingleasso_select obj="<%= jobApplication %>" assocName="WorkFlow" cssClass="form-control app-process"
options="<%= sortedWorkFlows.toArray(new WorkFlow[0]) %>"/>
options="<%= sortedWorkFlows.toArray(new WorkFlow
Stage
[0]) %>"/>
<oneit:button name="changeApplicationStatus" value=" " cssClass="save-application hidden"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", currentPage)
.mapEntry ("restartProcess", Boolean.TRUE)
...
...
cmsWebApp/webroot/extensions/adminportal/job_detail.jsp
View file @
1cf9d52e
...
...
@@ -484,9 +484,9 @@
</div>
<div id="middle-workflows">
<%
List<WorkFlow
> sortedWorkflows = job.getSortedMiddleWorkFlow
s();
List<WorkFlow
Stage> sortedWorkflows = job.getSortedMiddleStage
s();
int index = 0;
for (WorkFlow workflow : sortedWorkflows)
for (WorkFlow
Stage
workflow : sortedWorkflows)
{
index++;
%>
...
...
@@ -497,7 +497,7 @@
<span><%= workflow.getSortOrder() %></span>
<oneit:ormInput obj="<%= workflow %>" type="text" attributeName="Name" cssClass="form-control" />
<%
if(workflow.get
ApplicationStatus() != ApplicationStatus.SUBMITTED && workflow.getApplicationStatus() != ApplicationStatus.SHORTLISTED
)
if(workflow.get
StageType() != StageType.INTERVIEW && workflow.getStageType() != StageType.INTERVIEW
)
{
String deleteVarKey = FormTag.getVariableKey (request);
...
...
cmsWebApp/webroot/extensions/adminportal/view_applicants.jsp
View file @
1cf9d52e
<%@page import="oneit.utils.CollectionUtils"%>
<%@page import="oneit.objstore.rdbms.filters.*"%>
<%@page import="java.util.*"%>
<%@page import="oneit.servlets.orm.*"%>
<%@page import="performa.search.*"%>
<%@page import="performa.orm.types.*"%>
<%@page import="performa.utils.*"%>
<%@page import="oneit.security.SecUser"%>
<%@page import="oneit.utils.Debug"%>
<%@page import="performa.orm.*"%>
<%@ page extends="oneit.servlets.jsp.JSPInclude" %>
<%@ include file="/inc/stdimports50.jsp" %><%-- This is in cougar --%>
...
...
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