Commit 4f975674 by Harsh Shah

Minor review changes, Issue fixes

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