Commit 2e8441b7 by Nilu

bulk update functionality update in HT003

parent bea59561
...@@ -16,13 +16,13 @@ import oneit.servlets.forms.SuccessfulResult; ...@@ -16,13 +16,13 @@ import oneit.servlets.forms.SuccessfulResult;
import oneit.servlets.process.ORMProcessState; import oneit.servlets.process.ORMProcessState;
import oneit.servlets.process.SaveFP; import oneit.servlets.process.SaveFP;
import oneit.utils.BusinessException; import oneit.utils.BusinessException;
import oneit.utils.Debug;
import oneit.utils.filter.CollectionFilter; import oneit.utils.filter.CollectionFilter;
import oneit.utils.filter.Filter; import oneit.utils.filter.Filter;
import performa.intercom.utils.IntercomUtils; import performa.intercom.utils.IntercomUtils;
import performa.orm.CompanyUser; import performa.orm.CompanyUser;
import performa.orm.Job; import performa.orm.Job;
import performa.orm.JobApplication; import performa.orm.JobApplication;
import performa.orm.types.AppProcessOption;
import performa.orm.types.ApplicationStatus; import performa.orm.types.ApplicationStatus;
...@@ -35,9 +35,12 @@ public class BulkUpdateFP extends SaveFP ...@@ -35,9 +35,12 @@ public class BulkUpdateFP extends SaveFP
List<JobApplication> applications = ObjstoreUtils.getActioned(request, "IsSelected", process.getTransaction(), JobApplication.REFERENCE_JobApplication); List<JobApplication> applications = ObjstoreUtils.getActioned(request, "IsSelected", process.getTransaction(), JobApplication.REFERENCE_JobApplication);
Job job = (Job) request.getAttribute("Job"); Job job = (Job) request.getAttribute("Job");
Debug.assertion(job != null, "No job found . Call from " + getClass().getName());
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.getAppProcessOption() == AppProcessOption.TO_SHORTLIST && job.getNoOfCandidatesApplied() > job.getMaxShortlistApplicants() && applications != null) if(job.getAppStatusWorkFlow() != null && job.getAppStatusWorkFlow().getApplicationStatus() == ApplicationStatus.SHORTLISTED
&& job.getNoOfCandidatesApplied() > job.getMaxShortlistApplicants() && applications != null)
{ {
Filter<JobApplication> filter = JobApplication.SearchByAll().andApplicationStatus(new EqualsFilter<>(ApplicationStatus.SHORTLISTED)); Filter<JobApplication> filter = JobApplication.SearchByAll().andApplicationStatus(new EqualsFilter<>(ApplicationStatus.SHORTLISTED));
Collection alreadyShortlisted = CollectionFilter.filter(applications, filter); Collection alreadyShortlisted = CollectionFilter.filter(applications, filter);
...@@ -46,28 +49,15 @@ public class BulkUpdateFP extends SaveFP ...@@ -46,28 +49,15 @@ public class BulkUpdateFP extends SaveFP
BusinessObjectParser.assertFieldCondition(totalShortlisted <= job.getMaxShortlistApplicants() , job , Job.MULTIPLEREFERENCE_JobApplications, "exceedMaxShortlisted"); BusinessObjectParser.assertFieldCondition(totalShortlisted <= job.getMaxShortlistApplicants() , job , Job.MULTIPLEREFERENCE_JobApplications, "exceedMaxShortlisted");
} }
for(JobApplication application : applications) if(job.getAppStatusWorkFlow() != null)
{
if(job.getAppProcessOption() == AppProcessOption.TO_SHORTLIST)
{
application.setApplicationStatus(ApplicationStatus.SHORTLISTED);
}
else if(job.getAppProcessOption() == AppProcessOption.REMOVE_FROM_SHORTLIST)
{
application.setApplicationStatus(ApplicationStatus.SUBMITTED);
}
else if(job.getAppProcessOption() == AppProcessOption.TO_UNSUITABLE)
{ {
application.setApplicationStatus(ApplicationStatus.UNSUITABLE); for(JobApplication application : applications)
}
else if(job.getAppProcessOption() == AppProcessOption.REMOVE_FROM_UNSUITABLE)
{ {
application.setApplicationStatus(ApplicationStatus.SUBMITTED); application.setApplicationStatus(job.getAppStatusWorkFlow().getApplicationStatus());
}
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING1,"In BulkUpdateFP Job Application Status successfully changed : ", application ); LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING1,"In BulkUpdateFP Job Application Status successfully changed : ", application );
} }
}
// restarting process as custom attributes needs to be updated to intercom // restarting process as custom attributes needs to be updated to intercom
completeProcessRestartAndRestoreAttribs(process, request); completeProcessRestartAndRestoreAttribs(process, request);
......
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
<TRANSIENTSINGLE name="AssessmentTemplate" type="AssessmentCriteriaTemplate" /> <TRANSIENTSINGLE name="AssessmentTemplate" type="AssessmentCriteriaTemplate" />
<TRANSIENTSINGLE name="CultureTemplate" type="CultureCriteriaTemplate" /> <TRANSIENTSINGLE name="CultureTemplate" type="CultureCriteriaTemplate" />
<TRANSIENTSINGLE name="JobTemplate" type="Job" /> <TRANSIENTSINGLE name="JobTemplate" type="Job" />
<TRANSIENTSINGLE name="AppStatusWorkFlow" type="WorkFlow" />
<TABLE name="tl_job" tablePrefix="object" polymorphic="FALSE"> <TABLE name="tl_job" tablePrefix="object" polymorphic="FALSE">
......
...@@ -3801,7 +3801,7 @@ no-applicant.inactive a:hover,no-applicant.inactive a:hover span{ ...@@ -3801,7 +3801,7 @@ no-applicant.inactive a:hover,no-applicant.inactive a:hover span{
.main-applicants-filter{ .main-applicants-filter{
float: left; float: left;
width: 100%; width: 100%;
margin-bottom: 50px; /*margin-bottom: 50px;*/
} }
.appli-list-shorting{ .appli-list-shorting{
display: inline-block; display: inline-block;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<% <%
Job job = (Job) process.getAttribute("Job"); Job job = (Job) process.getAttribute("Job");
ApplicationStatus appStatus = (ApplicationStatus) getData(request, "ApplicationStatus"); ApplicationStatus appStatus = (ApplicationStatus) getData(request, "WorkFlowStatus");
String applicantsPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS); String applicantsPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS);
// String secondTab = WebUtils.getSamePageInRenderMode(request, WebUtils.APPLICANTS_SHORTLIST); // String secondTab = WebUtils.getSamePageInRenderMode(request, WebUtils.APPLICANTS_SHORTLIST);
// String thirdTab = WebUtils.getSamePageInRenderMode(request, WebUtils.UNSUITABLE_APPS); // String thirdTab = WebUtils.getSamePageInRenderMode(request, WebUtils.UNSUITABLE_APPS);
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<li class="<%= "incomplete " + (noOfIncomplete > 0 ? "has-applicant" : "no-applicant") %> <%= appStatus == ApplicationStatus.DRAFT ? "active" : "inactive" %>"> <li class="<%= "incomplete " + (noOfIncomplete > 0 ? "has-applicant" : "no-applicant") %> <%= appStatus == ApplicationStatus.DRAFT ? "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("TabNumber", 1).toMap()) .mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowStatus", ApplicationStatus.DRAFT).toMap())
.toMap() %>"> .toMap() %>">
<span> <span>
<oneit:toString value="<%= noOfIncomplete %>" mode="Integer" /> <oneit:toString value="<%= noOfIncomplete %>" mode="Integer" />
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
<li class="<%= noOfCandidates > 0 ? "has-applicant" : "" %> <%= (appStatus == workflow.getApplicationStatus()) ? "active" : "inactive" %>"> <li class="<%= noOfCandidates > 0 ? "has-applicant" : "" %> <%= (appStatus == workflow.getApplicationStatus()) ? "active" : "inactive" %>">
<oneit:button value=" " name="gotoPage" skin="link" disabled="<%= noOfCandidates > 0 ? "false" : "true" %>" <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("TabNumber", workflow.getSortOrder()).toMap()) .mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowStatus", workflow.getApplicationStatus()).toMap())
.toMap() %>"> .toMap() %>">
<span> <span>
<oneit:toString value="<%= noOfCandidates %>" mode="Integer" /> <oneit:toString value="<%= noOfCandidates %>" mode="Integer" />
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
<div class="unsutable <%= noOfUnsuitable > 0 ? "has-applicant" : "no-applicant" %> <%= appStatus == ApplicationStatus.UNSUITABLE ? "active" : "inactive" %>"> <div class="unsutable <%= noOfUnsuitable > 0 ? "has-applicant" : "no-applicant" %> <%= appStatus == ApplicationStatus.UNSUITABLE ? "active" : "inactive" %>">
<oneit:button id="unsuitableBtn" value=" " name="gotoPage" skin="link" disabled="<%= noOfUnsuitable > 0 ? "false" : "true" %>" <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("TabNumber", 9).toMap()) .mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("WorkFlowStatus", ApplicationStatus.UNSUITABLE).toMap())
.toMap() %>"> .toMap() %>">
<span> <span>
<oneit:toString value="<%= noOfUnsuitable %>" mode="Integer" /> <oneit:toString value="<%= noOfUnsuitable %>" mode="Integer" />
......
...@@ -7,10 +7,10 @@ ...@@ -7,10 +7,10 @@
<% <%
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 appStatus = (ApplicationStatus) getData(request, "appStatus"); ApplicationStatus appStatus = (ApplicationStatus) getData(request, "AppStatus");
ApplicationStatus workflowStatus = (ApplicationStatus) getData(request, "workflowStatus"); ApplicationStatus workflowStatus = (ApplicationStatus) getData(request, "WorkFlowStatus");
Boolean showOrderBy = getData(request, "showOrderBy")!= null ? (Boolean) getData(request, "showOrderBy") : Boolean.FALSE; Boolean showOrderBy = getData(request, "ShowOrderBy")!= null ? (Boolean) getData(request, "ShowOrderBy") : Boolean.FALSE;
boolean showList = (boolean) getData(request, "ShowList"); boolean showList = (boolean) getData(request, "ShowList");
SearchApplicant searchApplicant = (SearchApplicant) getData(request, "SearchApplicant"); SearchApplicant searchApplicant = (SearchApplicant) getData(request, "SearchApplicant");
String applicantsPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS) + "&JobID=" + job.getID(); String applicantsPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS) + "&JobID=" + job.getID();
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function() $(document).ready(function()
{ {
$(".bullk-app-process").change(function() $("[name$='AppStatusWorkFlow']").change(function()
{ {
$('.bulk-update').click(); $('.bulk-update').click();
}); });
...@@ -30,15 +30,10 @@ ...@@ -30,15 +30,10 @@
$(".applicant").change(function() { $(".applicant").change(function() {
enableBulkEdit(); enableBulkEdit();
}); });
$('#AppProcessOption option:selected').removeAttr('selected');
$('#AppProcessOption option:nth-child(1)').attr('selected','selected');
$('#select2-AppProcessOption-container').empty();
$('#select2-AppProcessOption-container').data("title", $('#select2-AppProcessOption-container').attr("title")).removeAttr("title");
}); });
function enableBulkEdit() { function enableBulkEdit() {
$(".bullk-app-process").prop("disabled",$('input[class=applicant]:checked').length===0); $("[name$='AppStatusWorkFlow']").prop("disabled",$('input[class=applicant]:checked').length===0);
} }
$('#searchText').keypress(function (e) { $('#searchText').keypress(function (e) {
...@@ -52,17 +47,18 @@ ...@@ -52,17 +47,18 @@
<div class="appli-list-shorting"> <div class="appli-list-shorting">
<div class="appli-shorting-dropdown appli-left"> <div class="appli-shorting-dropdown appli-left">
<span class="appli-order-label">Bulk Update</span> <span class="appli-order-label">Bulk Update</span>
<oneit:ormEnum obj="<%= job %>" attributeName="AppProcessOption" cssClass="form-control bullk-app-process" id="AppProcessOption" <div class="wider-select bullk-app-process">
enums="<%= job.getValidProcessOptions(appStatus) %>"/> <tagfile:ormsingleasso_select obj="<%= job %>" assocName="AppStatusWorkFlow" cssClass="form-control app-process" id="AppProcessOption"
options="<%= job.getWorkFlowsSet().toArray(new WorkFlow[0]) %>"/>
</div>
<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 ("attribNamesToRestore", Collections.singleton("Job")) .mapEntry("procParams", CollectionUtils.mapEntry("WorkFlowStatus", appStatus).mapEntry("Job", job).toMap())
.mapEntry ("attribNamesToRestore", new HashSet<String> (Arrays.asList(new String[] {"Job", "WorkFlowStatus"})))
.mapEntry("Job", job) .mapEntry("Job", job)
.toMap() %>" /> .toMap() %>" />
</div> </div>
<div class="appli-filter"> <div class="appli-filter">
<ul class=""> <ul class="">
<li class="lable-appli-shorting">View</li> <li class="lable-appli-shorting">View</li>
...@@ -136,6 +132,10 @@ ...@@ -136,6 +132,10 @@
} }
%> %>
</div> </div>
<div class="checkbox-list">
<input type='checkbox' id='select_all' value='select_all' class='norecalc'>
<label>&nbsp;&nbsp;Select all applicants</label>
</div>
</div> </div>
</oneit:dynIncluded> </oneit:dynIncluded>
...@@ -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, "ApplicationStatus"); ApplicationStatus appStatus = (ApplicationStatus) getData(request, "WorkFlowStatus");
String applicationPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION); String applicationPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION);
%> %>
...@@ -126,8 +126,8 @@ ...@@ -126,8 +126,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("ApplicationStatus", appStatus).mapEntry("Job", job).toMap()) .mapEntry("procParams", CollectionUtils.mapEntry("WorkFlowStatus", appStatus).mapEntry("Job", job).toMap())
.mapEntry ("attribNamesToRestore", new HashSet<String> (Arrays.asList(new String[] {"Job", "ApplicationStatus"}))) .mapEntry ("attribNamesToRestore", new HashSet<String> (Arrays.asList(new String[] {"Job", "WorkFlowStatus"})))
.mapEntry("JobApplication", jobApplication) .mapEntry("JobApplication", jobApplication)
.toMap() %>" /> .toMap() %>" />
</div> </div>
......
...@@ -23,12 +23,12 @@ ...@@ -23,12 +23,12 @@
String applicationPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION); String applicationPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION);
AppSortOption appSortOpt = null; AppSortOption appSortOpt = null;
ApplicationStatus appStatus = null; ApplicationStatus appStatus = null;
int tabNumber = process.getAttribute("TabNumber") != null ? (int) process.getAttribute("TabNumber") : 2; ApplicationStatus workflowStatus = process.getAttribute("WorkFlowStatus") != null ? (ApplicationStatus) process.getAttribute("WorkFlowStatus") : ApplicationStatus.SUBMITTED;
boolean showList = process.getAttribute("ShowList") != null ? (boolean) process.getAttribute("ShowList") : true; boolean showList = process.getAttribute("ShowList") != null ? (boolean) process.getAttribute("ShowList") : true;
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;
Map<String, String[]> parameterMap = request.getParameterMap(); Map<String, String[]> parameterMap = request.getParameterMap();
boolean isApplicantPage = tabNumber == 2; boolean isApplicantPage = workflowStatus == ApplicationStatus.SUBMITTED;
searchApplicant.setJob(job); searchApplicant.setJob(job);
...@@ -72,10 +72,10 @@ ...@@ -72,10 +72,10 @@
} }
List<JobApplication> applicantList = Arrays.asList(applications); List<JobApplication> applicantList = Arrays.asList(applications);
WorkFlow workflow = job.getWorkFlowBySortOrder(tabNumber); // WorkFlow workflow = job.getWorkFlowByStatus(workflowStatus);
// filter applicants by status // filter applicants by status
oneit.utils.filter.Filter<JobApplication> filter = JobApplication.SearchByAll().andApplicationStatus(new EqualsFilter<>(isApplicantPage ? appStatus : workflow.getApplicationStatus())); oneit.utils.filter.Filter<JobApplication> filter = JobApplication.SearchByAll().andApplicationStatus(new EqualsFilter<>(isApplicantPage ? appStatus : workflowStatus));
oneit.utils.filter.Filter<JobApplication> applicantFilter = JobApplication.SearchByAll().andApplicationStatus(new NotEqualsFilter<>(ApplicationStatus.DRAFT)); oneit.utils.filter.Filter<JobApplication> applicantFilter = JobApplication.SearchByAll().andApplicationStatus(new NotEqualsFilter<>(ApplicationStatus.DRAFT));
// if Applicant Status, then show all application completed applicants // if Applicant Status, then show all application completed applicants
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
process.setAttribute("AppSortOption", appSortOpt); process.setAttribute("AppSortOption", appSortOpt);
process.setAttribute("ApplicationStatus", appStatus); process.setAttribute("ApplicationStatus", appStatus);
process.setAttribute("TabNumber", tabNumber); process.setAttribute("WorkFlowStatus", workflowStatus);
process.setAttribute("ShowList", showList); process.setAttribute("ShowList", showList);
%> %>
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
<div class="dashboard-content-area"> <div class="dashboard-content-area">
<oneit:dynInclude page="/extensions/adminportal/inc/applicant_view_tabs.jsp" <oneit:dynInclude page="/extensions/adminportal/inc/applicant_view_tabs.jsp"
ApplicationStatus="<%= workflow.getApplicationStatus() %>" WorkFlowStatus="<%= workflowStatus %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/> data="<%= CollectionUtils.EMPTY_MAP%>"/>
...@@ -101,10 +101,10 @@ ...@@ -101,10 +101,10 @@
<oneit:dynInclude page="/extensions/adminportal/inc/application_sorting_bar.jsp" <oneit:dynInclude page="/extensions/adminportal/inc/application_sorting_bar.jsp"
ShowList="<%= showList %>" ShowList="<%= showList %>"
SearchApplicant="<%= searchApplicant %>" SearchApplicant="<%= searchApplicant %>"
showOrderBy="<%= sortedApplications.size() > 1 %>" ShowOrderBy="<%= sortedApplications.size() > 1 %>"
appStatus="<%= appStatus %>" AppStatus="<%= appStatus %>"
workflowStatus="<%= workflow.getApplicationStatus() %>" WorkFlowStatus="<%= workflowStatus %>"
sortOption="<%= appSortOpt %>" SortOption="<%= appSortOpt %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/> data="<%= CollectionUtils.EMPTY_MAP%>"/>
<% <%
...@@ -114,13 +114,13 @@ ...@@ -114,13 +114,13 @@
<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 %>"
ApplicationStatus="<%= workflow.getApplicationStatus() %>" WorkFlowStatus="<%= workflowStatus %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/> data="<%= CollectionUtils.EMPTY_MAP%>"/>
<% <%
} }
else else
{ {
if(workflow.getApplicationStatus() == ApplicationStatus.SHORTLISTED) if(workflowStatus == ApplicationStatus.SHORTLISTED)
{ {
%> %>
<oneit:dynInclude page="/extensions/adminportal/inc/view_applicants_shortlist_grid.jsp" <oneit:dynInclude page="/extensions/adminportal/inc/view_applicants_shortlist_grid.jsp"
......
<%@ page extends="oneit.servlets.jsp.JSPInclude" %>
<%@ include file="/inc/stdimports50.jsp" %><%-- This is in cougar --%>
<%@ include file="/inc/stdcms.jsp" %><%-- This is in cougar --%>
<%@ include file="/extensions/performa/inc/stdimports.jsp" %>
<%@page import="oneit.utils.text.FormatUtils"%>
<oneit:dynIncluded>
<%
Job job = (Job) process.getAttribute("Job");
if(job==null && request.getParameter("JobID")!=null)
{
job = Job.getJobByID(transaction, Long.parseLong(request.getParameter("JobID")));
process.setAttribute("Job", job);
}
Debug.assertion(job != null, "Job is null in admin portal view applicants");
String currentPage = WebUtils.getSamePageInRenderMode(request, WebUtils.APPLICANTS_SHORTLIST);
AppSortOption appSortOpt = (AppSortOption) process.getAttribute("AppSortOption");
if(request.getParameter("AppSortOption") != null)
{
appSortOpt = AppSortOption.forName((String) request.getParameter("AppSortOption"));
}
if(appSortOpt == null)
{
appSortOpt = AppSortOption.RANK;
}
JobApplication[] applications = (JobApplication[]) process.getAttribute("ShortListedApplications");
if(applications==null)
{
applications = job.getShortlistedApplications() != null ? job.getShortlistedApplications().toArray(new JobApplication[0]) : null;
process.setAttribute("ShortListedApplications", applications);
}
List<JobApplication> sortedApplications = applications!=null ? Utils.getApplicationsSorted(applications, appSortOpt) : new ArrayList<JobApplication>();
process.setAttribute("AppSortOption", appSortOpt);
%>
<script type="text/javascript">
$(document).ready(function()
{
recalcFunction = setupRecalc ($("form#viewApplicants"), {'recalcOnError':true});
});
</script>
<oneit:form name="viewApplicants" method="post" enctype="multipart/form-data">
<div class="dashboard-content-area">
<oneit:dynInclude page="/extensions/adminportal/inc/applicant_view_tabs.jsp" TabNumber="2" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="second-part view-app-area">
<oneit:dynInclude page="/extensions/adminportal/inc/application_sorting_bar.jsp"
sortOption="<%= appSortOpt %>"
currentPage="<%= currentPage %>"
tabNumber="1"
appStatus="<%= ApplicationStatus.SHORTLISTED %>"
showOrderBy="<%= sortedApplications.size() > 1 %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<oneit:dynInclude page="/extensions/adminportal/inc/application_list_data.jsp"
applications="<%= sortedApplications %>"
currentPage="<%= currentPage %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
</div>
</div>
</oneit:form>
</oneit:dynIncluded>
\ No newline at end of file
<%@ page extends="oneit.servlets.jsp.JSPInclude" %>
<%@ include file="/inc/stdimports50.jsp" %><%-- This is in cougar --%>
<%@ include file="/inc/stdcms.jsp" %><%-- This is in cougar --%>
<%@ include file="/extensions/performa/inc/stdimports.jsp" %>
<oneit:dynIncluded>
<%
Job job = (Job) process.getAttribute("Job");
if(job==null && request.getParameter("JobID")!=null)
{
job = Job.getJobByID(transaction, Long.parseLong(request.getParameter("JobID")));
process.setAttribute("Job", job);
}
Debug.assertion(job != null, "Job is null in admin portal view applicants");
String currentPage = WebUtils.getSamePageInRenderMode(request, WebUtils.UNSUITABLE_APPS);
String applicationPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION);
AppSortOption appSortOpt = (AppSortOption) process.getAttribute("AppSortOption");
if(request.getParameter("AppSortOption") != null)
{
appSortOpt = AppSortOption.forName((String) request.getParameter("AppSortOption"));
}
if(appSortOpt == null)
{
appSortOpt = AppSortOption.RANK;
}
JobApplication[] applications = (JobApplication[]) process.getAttribute("UnsuitableApplications");
if(applications==null)
{
applications = JobApplication.SearchByAll()
.andJob(new EqualsFilter<>(job))
.andApplicationStatus(new EqualsFilter<>(ApplicationStatus.UNSUITABLE))
.search(transaction);
process.setAttribute("UnsuitableApplications", applications);
}
List<JobApplication> sortedApplications = applications!=null ? Utils.getApplicationsSorted(applications, appSortOpt) : new ArrayList<JobApplication>();
process.setAttribute("AppSortOption", appSortOpt);
%>
<script type="text/javascript">
$(document).ready(function()
{
recalcFunction = setupRecalc ($("form#viewApplicants"), {'recalcOnError':true});
});
</script>
<oneit:form name="viewApplicants" method="post" enctype="multipart/form-data">
<div class="dashboard-content-area">
<oneit:dynInclude page="/extensions/adminportal/inc/applicant_view_tabs.jsp"
TabNumber="3"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="second-part view-app-area">
<oneit:dynInclude page="/extensions/adminportal/inc/application_sorting_bar.jsp"
sortOption="<%= appSortOpt %>"
currentPage="<%= currentPage %>"
appStatus="<%= ApplicationStatus.UNSUITABLE %>"
showOrderBy="<%= sortedApplications.size() > 1 %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<oneit:dynInclude page="/extensions/adminportal/inc/application_list_data.jsp"
applications="<%= sortedApplications %>"
currentPage="<%= currentPage %>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
</div>
</div>
</oneit:form>
</oneit:dynIncluded>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment