Commit 0f03f4c6 by Nilu

adding job search to HT002

parent 2015c7ce
...@@ -81,10 +81,21 @@ ...@@ -81,10 +81,21 @@
</SEARCH> </SEARCH>
<SEARCH type="Details" paramFilter="tl_job.object_id is not null" orderBy="tl_job.object_id"> <SEARCH type="Details" paramFilter="tl_job.object_id is not null" orderBy="tl_job.object_id">
<!--<TABLE name="ss_address" join="ss_address.object_id = ss_strata_company.address_id"/>-->
<PARAM name="Name" type="String" transform=' "%" + Name + "%" ' <PARAM name="Name" type="String" transform=' "%" + Name + "%" '
paramFilter="tl_job.job_title ILIKE ${Name} OR paramFilter="tl_job.object_id IN (
tl_job.ref_number ILIKE ${Name}"> SELECT tl_job.object_id
FROM tl_job
LEFT JOIN tl_job_application ON tl_job_application.job_id = tl_job.object_id
LEFT JOIN oneit_sec_user_extension ON oneit_sec_user_extension.object_id = tl_job_application.candidate_id
LEFT JOIN oneit_sec_user ON oneit_sec_user.object_id = oneit_sec_user_extension.user_id
WHERE
tl_job.job_title ILIKE ${Name} OR
tl_job.ref_number ILIKE ${Name} OR
oneit_sec_user_extension.phone ILIKE ${Name} OR
oneit_sec_user.user_name ILIKE ${Name} OR
oneit_sec_user.first_name ILIKE ${Name} OR
oneit_sec_user.last_name ILIKE ${Name} OR
oneit_sec_user.email ILIKE ${Name})">
</PARAM> </PARAM>
</SEARCH> </SEARCH>
</BUSINESSCLASS> </BUSINESSCLASS>
......
...@@ -652,7 +652,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr ...@@ -652,7 +652,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
if (criteria.containsKey("Name")) if (criteria.containsKey("Name"))
{ {
preFilter += " AND (tl_job.job_title ILIKE ${Name} OR tl_job.ref_number ILIKE ${Name}) "; preFilter += " AND (tl_job.object_id IN ( SELECT tl_job.object_id FROM tl_job LEFT JOIN tl_job_application ON tl_job_application.job_id = tl_job.object_id LEFT JOIN oneit_sec_user_extension ON oneit_sec_user_extension.object_id = tl_job_application.candidate_id LEFT JOIN oneit_sec_user ON oneit_sec_user.object_id = oneit_sec_user_extension.user_id WHERE tl_job.job_title ILIKE ${Name} OR tl_job.ref_number ILIKE ${Name} OR oneit_sec_user_extension.phone ILIKE ${Name} OR oneit_sec_user.user_name ILIKE ${Name} OR oneit_sec_user.first_name ILIKE ${Name} OR oneit_sec_user.last_name ILIKE ${Name} OR oneit_sec_user.email ILIKE ${Name})) ";
preFilter += ""; preFilter += "";
} }
......
...@@ -62,6 +62,8 @@ ...@@ -62,6 +62,8 @@
<FORM name="*.selectHiringTeam" factory="Participant" class="performa.form.SelectHiringTeamFP"/> <FORM name="*.selectHiringTeam" factory="Participant" class="performa.form.SelectHiringTeamFP"/>
<FORM name="*.additionalTeam" factory="Participant" class="performa.form.AddAdditionalHiringTeamFP"/> <FORM name="*.additionalTeam" factory="Participant" class="performa.form.AddAdditionalHiringTeamFP"/>
<FORM name="*.gotoCreateJob" factory="Participant" class="performa.form.NavigateToCreateJobFP"/> <FORM name="*.gotoCreateJob" factory="Participant" class="performa.form.NavigateToCreateJobFP"/>
<FORM name="*.search" factory="Participant" class="oneit.servlets.orm.RunSearchExecutorFP"/>
<DATA class="oneit.servlets.orm.RunSearchExecutorDF"/>
</NODE> </NODE>
<NODE name="job_assessment_criteria_add_jsp" factory="Participant"> <NODE name="job_assessment_criteria_add_jsp" factory="Participant">
......
...@@ -18,6 +18,20 @@ ...@@ -18,6 +18,20 @@
CompanyUser companyUser = txUser.getExtension(CompanyUser.REFERENCE_CompanyUser); CompanyUser companyUser = txUser.getExtension(CompanyUser.REFERENCE_CompanyUser);
HiringTeam hiringTeam = companyUser.getSelectedTeam(); HiringTeam hiringTeam = companyUser.getSelectedTeam();
Map<String, String[]> parameterMap = request.getParameterMap(); Map<String, String[]> parameterMap = request.getParameterMap();
SearchJob searchJob = (SearchJob) RunSearchExecutorFP.setupExecutor(request, SearchJob.REFERENCE_SearchJob, true);
Job[] jobs = (Job[])process.getAttribute("jobs");
if(jobs == null)
{
jobs = (Job[]) searchJob.doSearch();
}
if (getData (request, GenericObjSearchDF.GENERIC_SEARCH_RESULTS) != null)
{
jobs = (Job[])getData (request, GenericObjSearchDF.GENERIC_SEARCH_RESULTS);
}
process.setAttribute("jobs", jobs);
// handle job sort option // handle job sort option
if( request.getParameter("JobSortOption") != null) if( request.getParameter("JobSortOption") != null)
...@@ -74,23 +88,28 @@ ...@@ -74,23 +88,28 @@
session.setAttribute("Client", selectedClient); session.setAttribute("Client", selectedClient);
String jobListName = "Job" + hiringTeam.getID() +jobStatus; List<Job> jobList = Arrays.asList(jobs);
Job[] jobs = (Job[]) process.getAttribute(jobListName);
if(jobs == null) // filter jobs by client
if(selectedClient != null)
{ {
jobs = Job.SearchByAll().andJobStatus(new EqualsFilter<>(jobStatus)) oneit.utils.filter.Filter<Job> filter = Job.SearchByAll().andClient(new EqualsFilter<>(selectedClient));
.andHiringTeam(new EqualsFilter<>(hiringTeam))
.search(transaction);
process.setAttribute(jobListName, jobs); jobList = new ArrayList<>(CollectionFilter.filter(jobList, filter));
} }
List<Job> jobList = Arrays.asList(jobs); // filter jobs by hiring team
if(hiringTeam != null)
{
oneit.utils.filter.Filter<Job> filter = Job.SearchByAll().andHiringTeam(new EqualsFilter<>(hiringTeam));
if(selectedClient != null) jobList = new ArrayList<>(CollectionFilter.filter(jobList, filter));
}
// filter jobs by job status
if(jobStatus != null)
{ {
oneit.utils.filter.Filter<Job> filter = Job.SearchByAll().andClient(new EqualsFilter<>(selectedClient)); oneit.utils.filter.Filter<Job> filter = Job.SearchByAll().andJobStatus(new EqualsFilter<>(jobStatus));
jobList = new ArrayList<>(CollectionFilter.filter(jobList, filter)); jobList = new ArrayList<>(CollectionFilter.filter(jobList, filter));
} }
...@@ -101,7 +120,15 @@ ...@@ -101,7 +120,15 @@
process.setAttribute("JobStatus", jobStatus); process.setAttribute("JobStatus", jobStatus);
%> %>
<oneit:form name="editJob" method="post" enctype="multipart/form-data"> <oneit:form name="editJob" method="post" enctype="multipart/form-data">
<script type="text/javascript">
$('#searchText').keypress(function (e) {
if (e.which === 13) {
$('input[name = Search]').click();
return false;
}
});
</script>
<div class="dashboard-content-area second-part"> <div class="dashboard-content-area second-part">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
...@@ -110,6 +137,12 @@ ...@@ -110,6 +137,12 @@
<div class="d-job-title all-jobs-title"> <div class="d-job-title all-jobs-title">
<%= jobStatus == null ? "All" : jobStatus.getDescription() %> Jobs <%= jobStatus == null ? "All" : jobStatus.getDescription() %> Jobs
</div> </div>
<div class="shorting-dropdown">
<div class="order-label">Search Jobs</div>
<oneit:ormInput obj="<%= searchJob %>" type="text" attributeName="Details" cssClass="form-control" id="searchText" />
</div>
<oneit:button value="Search" name="search" cssClass="btn btn-primary" style="display:none;"/>
<% <%
if(jobs.length > 1) if(jobs.length > 1)
{ {
......
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