Commit 0f03f4c6 by Nilu

adding job search to HT002

parent 2015c7ce
......@@ -81,10 +81,21 @@
</SEARCH>
<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 + "%" '
paramFilter="tl_job.job_title ILIKE ${Name} OR
tl_job.ref_number ILIKE ${Name}">
paramFilter="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})">
</PARAM>
</SEARCH>
</BUSINESSCLASS>
......
......@@ -652,7 +652,7 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
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 += "";
}
......
......@@ -62,6 +62,8 @@
<FORM name="*.selectHiringTeam" factory="Participant" class="performa.form.SelectHiringTeamFP"/>
<FORM name="*.additionalTeam" factory="Participant" class="performa.form.AddAdditionalHiringTeamFP"/>
<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 name="job_assessment_criteria_add_jsp" factory="Participant">
......
......@@ -18,6 +18,20 @@
CompanyUser companyUser = txUser.getExtension(CompanyUser.REFERENCE_CompanyUser);
HiringTeam hiringTeam = companyUser.getSelectedTeam();
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
if( request.getParameter("JobSortOption") != null)
......@@ -73,21 +87,10 @@
}
session.setAttribute("Client", selectedClient);
String jobListName = "Job" + hiringTeam.getID() +jobStatus;
Job[] jobs = (Job[]) process.getAttribute(jobListName);
if(jobs == null)
{
jobs = Job.SearchByAll().andJobStatus(new EqualsFilter<>(jobStatus))
.andHiringTeam(new EqualsFilter<>(hiringTeam))
.search(transaction);
process.setAttribute(jobListName, jobs);
}
List<Job> jobList = Arrays.asList(jobs);
// filter jobs by client
if(selectedClient != null)
{
oneit.utils.filter.Filter<Job> filter = Job.SearchByAll().andClient(new EqualsFilter<>(selectedClient));
......@@ -95,13 +98,37 @@
jobList = new ArrayList<>(CollectionFilter.filter(jobList, filter));
}
// filter jobs by hiring team
if(hiringTeam != null)
{
oneit.utils.filter.Filter<Job> filter = Job.SearchByAll().andHiringTeam(new EqualsFilter<>(hiringTeam));
jobList = new ArrayList<>(CollectionFilter.filter(jobList, filter));
}
// filter jobs by job status
if(jobStatus != null)
{
oneit.utils.filter.Filter<Job> filter = Job.SearchByAll().andJobStatus(new EqualsFilter<>(jobStatus));
jobList = new ArrayList<>(CollectionFilter.filter(jobList, filter));
}
List<Job> sortedJobs = Utils.getJobsSorted(jobList, jobSortOpt, jobStatus);
process.setAttribute("JobSortOption", jobSortOpt);
process.setAttribute("JobStatus", jobStatus);
%>
<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">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
......@@ -110,6 +137,12 @@
<div class="d-job-title all-jobs-title">
<%= jobStatus == null ? "All" : jobStatus.getDescription() %> Jobs
</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)
{
......
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