Commit 4f975674 by Harsh Shah

Minor review changes, Issue fixes

parent b2a3e47c
......@@ -2,6 +2,7 @@ package performa.orm;
import oneit.logging.LoggingArea;
import oneit.objstore.rdbms.filters.EqualsFilter;
import oneit.utils.StringUtils;
import oneit.utils.filter.Filter;
import performa.orm.types.JobStatus;
......@@ -29,6 +30,6 @@ public class Client extends BaseClient
@Override
public String getToString()
{
return getClientName();
return StringUtils.subNulls(getClientName(), super.getToString());
}
}
\ No newline at end of file
......@@ -467,8 +467,7 @@ public class Job extends BaseJob
public Boolean isClientAvailable()
{
return getClient() != null && getCompanyUser() != null
&& getCompanyUser().getCompany().getHasClientSupport()== Boolean.TRUE;
return getClient() != null && getCompanyUser() != null && isTrue(getCompanyUser().getCompany().getHasClientSupport());
}
......
......@@ -2,46 +2,29 @@ package performa.utils;
import java.util.*;
import javax.activation.DataSource;
import javax.servlet.http.*;
import javax.servlet.http.HttpServletRequest;
import oneit.appservices.config.ConfigMgr;
import oneit.business.content.Article;
import oneit.email.*;
import oneit.logging.LogLevel;
import oneit.logging.LogMgr;
import oneit.logging.LoggingArea;
import oneit.logging.*;
import oneit.net.LoopbackHTTP;
import oneit.objstore.BaseBusinessClass;
import oneit.objstore.ObjectTransaction;
import oneit.objstore.rdbms.filters.EqualsFilter;
import oneit.objstore.rdbms.filters.GreaterThanEqualFilter;
import oneit.objstore.rdbms.filters.LessThanFilter;
import oneit.objstore.*;
import oneit.objstore.rdbms.filters.*;
import oneit.objstore.utils.ObjstoreUtils;
import oneit.security.*;
import oneit.utils.Tuple;
import performa.orm.*;
import performa.orm.types.Importance;
import performa.orm.types.JobSortOption;
import oneit.objstore.utils.*;
import oneit.security.jsp.PasswordDIHandler;
import oneit.security.oauth.form.FacebookOAuthLoginFP;
import oneit.security.oauth.form.GoogleOAuthLoginFP;
import oneit.servlets.forms.RedirectResult;
import oneit.servlets.forms.SubmissionDetails;
import oneit.servlets.forms.SuccessfulResult;
import oneit.security.jsp.*;
import oneit.security.oauth.form.*;
import oneit.servlets.forms.*;
import oneit.servlets.orm.DataMap;
import oneit.servlets.process.ORMProcessState;
import oneit.servlets.security.SessionSecUserDecorator;
import oneit.utils.*;
import oneit.utils.filter.CollectionFilter;
import oneit.utils.filter.Filter;
import oneit.utils.filter.*;
import oneit.utils.transform.MapTransform;
import oneit.utils.transform.param.ErrorTransform;
import oneit.utils.transform.param.ORMTransform;
import oneit.utils.transform.param.PrefixCompoundTransform;
import oneit.utils.transform.param.*;
import performa.form.LinkedInOAuthLoginFP;
import performa.orm.types.AppSortOption;
import performa.orm.types.ClientSortOption;
import performa.orm.types.JobStatus;
import performa.orm.types.UserSortOption;
import performa.orm.*;
import performa.orm.types.*;
/**
*
......@@ -180,63 +163,44 @@ public class Utils
}
else if(clientSortOption == ClientSortOption.OPEN_JOBS)
{
transform = ClientToOpenJobCountTransform.INSTANCE;
transform = new ClientJobCountTransform(JobStatus.OPEN);
comparator = CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR);
}
else if(clientSortOption == ClientSortOption.FILLED_JOBS)
{
transform = ClientToFilledJobCountTransform.INSTANCE;
transform = new ClientJobCountTransform(JobStatus.FILLED);
comparator = CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR);
}
return ObjstoreUtils.sort( Arrays.asList(clients),
new ObjectTransform[]{transform},
new Comparator[]{comparator});
return ObjstoreUtils.sort( Arrays.asList(clients), new ObjectTransform[]{transform}, new Comparator[]{comparator});
}
public static Collection<CompanyUser> getUsersSorted(Collection<CompanyUser> users, UserSortOption userSortOption)
{
Comparator comparator = new UserComparator();
Comparator comparator = (userSortOption == UserSortOption.ALPHA_Z_A) ? CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST) : CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST;
if(userSortOption == UserSortOption.ALPHA_A_Z)
{
comparator = new UserComparator();
}
else if(userSortOption == UserSortOption.ALPHA_Z_A)
{
comparator = CollectionUtils.reverse(new UserComparator());
}
return CollectionUtils.sort(users, comparator);
return ObjstoreUtils.sort(users, new ObjectTransform[]{CompanyUserTransform.INSTANCE}, new Comparator[]{comparator});
}
public static class ClientToOpenJobCountTransform implements ObjectTransform<Client, Integer>
public static class ClientJobCountTransform implements ObjectTransform<Client, Integer>
{
public static ClientToOpenJobCountTransform INSTANCE = new ClientToOpenJobCountTransform();
JobStatus jobStatus;
@Override
public Integer transform(Client client)
public ClientJobCountTransform(JobStatus jobStatus)
{
return client.getApplicationCountByStatus(JobStatus.OPEN);
this.jobStatus = jobStatus;
}
}
public static class ClientToFilledJobCountTransform implements ObjectTransform<Client, Integer>
{
public static ClientToFilledJobCountTransform INSTANCE = new ClientToFilledJobCountTransform();
@Override
public Integer transform(Client client)
{
return client.getApplicationCountByStatus(JobStatus.FILLED);
return client.getApplicationCountByStatus(jobStatus);
}
}
public static int getClosingSoonJobCount(Job[] jobs)
{
Filter<Job> filter = Job.SearchByAll()
......@@ -359,11 +323,8 @@ public class Utils
{
SecUser secUser = SecUser.getTXUser(transaction);
CompanyUser companyUser = secUser.getExtension(CompanyUser.REFERENCE_CompanyUser);
Company company = companyUser.getCompany();
return Client.SearchByAll()
.andCompany(new EqualsFilter<>(company))
.search(transaction);
return companyUser.getCompany().getClientsSet().toArray(new Client[0]);
}
......@@ -524,18 +485,15 @@ public class Utils
return ConfigMgr.getKeyfileString(GoogleOAuthLoginFP.GOOGLE_CLIENTID_ATTR_NAME) != null
&& ConfigMgr.getKeyfileString(GoogleOAuthLoginFP.GOOGLE_CLIENTSECRET_ATTR_NAME) != null;
}
}
private static class CompanyUserTransform implements ObjectTransform<CompanyUser, String>
{
static CompanyUserTransform INSTANCE = new CompanyUserTransform();
class UserComparator implements Comparator<CompanyUser>
{
@Override
public int compare(CompanyUser o1, CompanyUser o2)
public String transform(CompanyUser companyUser)
{
String o1Name = StringUtils.subBlanks(o1.getUser().getName())!=null ? o1.getUser().getName() : o1.getUser().getUserName();
String o2Name = StringUtils.subBlanks(o2.getUser().getName())!=null ? o2.getUser().getName() : o2.getUser().getUserName();
return o1Name.trim().compareTo(o2Name.trim());
return SecUserToNameTransform.INSTANCE.transform(companyUser.getUser());
}
}
}
\ No newline at end of file
\ No newline at end of file
......@@ -60,7 +60,7 @@
<div class="main-client-list">
<%
for(Client client : clients)
for(Client client : sortedClients)
{
%>
<div class="client-list" id="<%= client.getID() %>">
......
......@@ -16,6 +16,7 @@ AssessmentCriteriaTemplate.TemplateName = Template Name
CultureCriteriaTemplate.TemplateName = Template Name
Client.ClientName = Client Name
Client.TimeZone = Time Zone
Client.PostCode = Postal Code
Client.Phone = Contact Phone Number
......
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