Commit 809cdf1c by Nilu

Adding HT search to system admin page

parent 2865de91
package performa.search; package performa.search;
import oneit.objstore.BaseBusinessClass; import oneit.objstore.BaseBusinessClass;
import oneit.objstore.rdbms.filters.ILikeFilter;
import performa.orm.HiringTeam; import performa.orm.HiringTeam;
...@@ -17,6 +18,6 @@ public class SearchHiringTeam extends BaseSearchHiringTeam ...@@ -17,6 +18,6 @@ public class SearchHiringTeam extends BaseSearchHiringTeam
@Override @Override
public BaseBusinessClass[] doSearch() public BaseBusinessClass[] doSearch()
{ {
return HiringTeam.searchAll(getTransaction()); return HiringTeam.SearchByAll().andHiringTeamName(new ILikeFilter(getDetails(), "%", "%")).search(getTransaction());
} }
} }
\ No newline at end of file
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
<FORM name="*.assume" factory="Participant" class="performa.form.AssumeHTAdminFP"> <FORM name="*.assume" factory="Participant" class="performa.form.AssumeHTAdminFP">
<NODE name="loginFP" factory="Named" nodename="CMSLoginFP"/> <NODE name="loginFP" factory="Named" nodename="CMSLoginFP"/>
</FORM> </FORM>
<FORM name="*.search" factory="Participant" class="oneit.servlets.orm.RunSearchExecutorFP"/>
<DATA class="oneit.servlets.orm.RunSearchExecutorDF"/>
</NODE> </NODE>
</OBJECTS> </OBJECTS>
\ No newline at end of file
...@@ -39,93 +39,104 @@ ...@@ -39,93 +39,104 @@
} }
process.setAttribute("UserSortOption", userSortOpt); process.setAttribute("UserSortOption", userSortOpt);
// process.setAttribute( SecProcessConstants.SEC_USER , secUser);
Collection<HiringTeam> sortedHiringTeams = Utils.getHiringTeamsSorted(Arrays.asList(hiringTeams), userSortOpt); Collection<HiringTeam> sortedHiringTeams = Utils.getHiringTeamsSorted(Arrays.asList(hiringTeams), userSortOpt);
request.setAttribute("oneit.pageFormDetails", CollectionUtils.mapEntry("name", "Customers").mapEntry("enctype", "multipart/form-data").toMap()); request.setAttribute("oneit.pageFormDetails", CollectionUtils.mapEntry("name", "Customers").mapEntry("enctype", "multipart/form-data").toMap());
request.setAttribute("oneit.pageHeaderTitle", "Customers"); request.setAttribute("oneit.pageHeaderTitle", "Customers");
%> %>
<oneit:css>
<oneit:css> <oneit:css href="/css/common.css" />
<oneit:css href="/css/common.css" /> </oneit:css>
</oneit:css> <style>
<style> .dashboard-content-area {
.dashboard-content-area { margin-top: 0px ;
margin-top: 0px ; width: 100%;
width: 100%; }
} </style>
</style> <script type="text/javascript">
<div class="dashboard-content-area second-part"> $(function(){
$('.search-icon-btn').click(function () {
<div class="jobs-list-shorting"> $('.search-real-btn').click();
<div class="d-job-title all-jobs-title">Customers</div> });
<div class="shorting-dropdown"> });
<span class="order-label">order by</span> </script>
<select class="form-control" onChange="location=this.value"> <div class="dashboard-content-area second-part">
<%
for (UserSortOption sortOption : UserSortOption.getUserSortOptionArray()) <div class="jobs-list-shorting">
{ <div class="d-job-title all-jobs-title">Customers</div>
String optionLink = currentPage + "?UserSortOption=" + sortOption.getName() ; <div class="shorting-dropdown relative-parent">
%> <div class="order-label">Search Customers</div>
<option <%= (userSortOpt != null && userSortOpt == sortOption ? "selected" : "" )%> value="<%= optionLink %>"> <oneit:ormInput obj="<%= searchHT %>" type="text" attributeName="Details" cssClass="form-control search-input" id="searchText" />
<oneit:toString value="<%= sortOption.getDescription() %>" mode="EscapeHTML"/> <span class="search-icon-btn"></span>
</option>
<%
}
%>
</select>
</div> </div>
<oneit:button value="Search" name="search" cssClass="btn btn-primary search-real-btn hidden" />
<div class="shorting-dropdown">
<span class="order-label">order by</span>
<select class="form-control" onChange="location=this.value">
<%
for (UserSortOption sortOption : UserSortOption.getUserSortOptionArray())
{
String optionLink = currentPage + "?UserSortOption=" + sortOption.getName() ;
%>
<option <%= (userSortOpt != null && userSortOpt == sortOption ? "selected" : "" )%> value="<%= optionLink %>">
<oneit:toString value="<%= sortOption.getDescription() %>" mode="EscapeHTML"/>
</option>
<%
}
%>
</select>
</div> </div>
</div>
<div class="main-client-list">
<%
for(HiringTeam hiringTeam : sortedHiringTeams)
{
Job[] filledJobs = Job.SearchByAll().andJobStatus(new EqualsFilter<>(JobStatus.FILLED))
.andHiringTeam(new EqualsFilter<>(hiringTeam))
.search(objTran);
int filledCount = filledJobs != null ? filledJobs.length : 0;
Job[] openJobs = Job.SearchByAll().andJobStatus(new EqualsFilter<>(JobStatus.OPEN)) <div class="main-client-list">
.andHiringTeam(new EqualsFilter<>(hiringTeam)) <%
.search(objTran); for(HiringTeam hiringTeam : sortedHiringTeams)
int openCount = openJobs != null ? openJobs.length : 0; {
int clientCount = hiringTeam.pipelineHiringTeam().toClients().uniqueVals().size(); Job[] filledJobs = Job.SearchByAll().andJobStatus(new EqualsFilter<>(JobStatus.FILLED))
%> .andHiringTeam(new EqualsFilter<>(hiringTeam))
<div class="client-list" id="<%= hiringTeam.getID() %>"> .search(objTran);
<div class="client-row" > int filledCount = filledJobs != null ? filledJobs.length : 0;
<div class="client-name-cell jl-c" style="width:50%;">
<div class="client-name"> Job[] openJobs = Job.SearchByAll().andJobStatus(new EqualsFilter<>(JobStatus.OPEN))
<a href="<%= "&ClientID="+hiringTeam.getObjectID() %>"> .andHiringTeam(new EqualsFilter<>(hiringTeam))
<oneit:toString value="<%= hiringTeam.getHiringTeamName() %>" mode="EscapeHTML" /> .search(objTran);
</a> int openCount = openJobs != null ? openJobs.length : 0;
</div> int clientCount = hiringTeam.pipelineHiringTeam().toClients().uniqueVals().size();
%>
<div class="client-list" id="<%= hiringTeam.getID() %>">
<div class="client-row" >
<div class="client-name-cell jl-c" style="width:50%;">
<div class="client-name">
<a href="<%= "&ClientID="+hiringTeam.getObjectID() %>">
<oneit:toString value="<%= hiringTeam.getHiringTeamName() %>" mode="EscapeHTML" />
</a>
</div> </div>
</div> </div>
<div class="<%= "application-count jl-c " + (clientCount == 0 ? "opaque-jobcount" : "")%>">
<oneit:toString value="<%= clientCount %>" mode="EscapeHTML" nullValue="0"/>
<span class="grey-span">Clients</span>
</div>
<div class="<%= "application-count jl-c " + (openCount == 0 ? "opaque-jobcount" : "")%>">
<oneit:toString value="<%= openCount %>" mode="EscapeHTML" nullValue="0"/>
<span class="grey-span">Open Jobs</span>
</div>
<div class="<%= "application-count jl-c " + (filledCount == 0 ? "opaque-jobcount" : "")%>">
<oneit:toString value="<%= filledCount %>" mode="EscapeHTML" nullValue="0"/>
<span class="grey-span">Jobs Filled</span>
</div>
<div class="application-count jl-c" style="width:20%;">
<oneit:button value="Login as Admin" name="assume" cssClass="btn btn-primary loginAsAdmin"
requestAttribs="<%= CollectionUtils.mapEntry("HiringTeam", hiringTeam)
.toMap()%>"/>
</div>
</div> </div>
<div class="<%= "application-count jl-c " + (clientCount == 0 ? "opaque-jobcount" : "")%>">
<oneit:toString value="<%= clientCount %>" mode="EscapeHTML" nullValue="0"/>
<% <span class="grey-span">Clients</span>
} </div>
%> <div class="<%= "application-count jl-c " + (openCount == 0 ? "opaque-jobcount" : "")%>">
</div> <oneit:toString value="<%= openCount %>" mode="EscapeHTML" nullValue="0"/>
<span class="grey-span">Open Jobs</span>
</div>
<div class="<%= "application-count jl-c " + (filledCount == 0 ? "opaque-jobcount" : "")%>">
<oneit:toString value="<%= filledCount %>" mode="EscapeHTML" nullValue="0"/>
<span class="grey-span">Jobs Filled</span>
</div>
<div class="application-count jl-c" style="width:20%;">
<oneit:button value="Login as Admin" name="assume" cssClass="btn btn-primary loginAsAdmin"
requestAttribs="<%= CollectionUtils.mapEntry("HiringTeam", hiringTeam)
.toMap()%>"/>
</div>
</div>
<%
}
%>
</div> </div>
</div>
</oneit:dynIncluded> </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