Commit f65ccf73 by Nilu

J002, J003

**Permissions** - All Requirements templates are available to **all** members of a hiring team

**Permissions** - All Culture templates are available to **all** members of a hiring team
parent e867e6a2
...@@ -18,6 +18,12 @@ ...@@ -18,6 +18,12 @@
<SEARCH type="All" paramFilter="tl_assessment_template.object_id is not null" orderBy="tl_assessment_template.object_id" /> <SEARCH type="All" paramFilter="tl_assessment_template.object_id is not null" orderBy="tl_assessment_template.object_id" />
<SEARCH type="Company" paramFilter="tl_assessment_template.object_id is not null" orderBy="tl_assessment_template.object_id">
<TABLE name="oneit_sec_user_extension" join="oneit_sec_user_extension.user_id = tl_assessment_template.user_id"/>
<TABLE name="tl_company" join="tl_company.object_id = oneit_sec_user_extension.company_id"/>
<PARAM name="Company" type="Company" transform="Company.getObjectID ()" paramFilter="tl_company.object_id = ${Company}"/>
</SEARCH>
</BUSINESSCLASS> </BUSINESSCLASS>
</ROOT> </ROOT>
\ No newline at end of file
...@@ -255,6 +255,10 @@ public class AssessmentCriteriaTemplatePersistenceMgr extends ObjectPersistenceM ...@@ -255,6 +255,10 @@ public class AssessmentCriteriaTemplatePersistenceMgr extends ObjectPersistenceM
{ {
throw new RuntimeException ("NOT implemented: executeSearchQueryAll"); throw new RuntimeException ("NOT implemented: executeSearchQueryAll");
} }
public ResultSet executeSearchQueryCompany (SQLManager sqlMgr, Company Company) throws SQLException
{
throw new RuntimeException ("NOT implemented: executeSearchQueryCompany");
}
...@@ -404,6 +408,56 @@ public class AssessmentCriteriaTemplatePersistenceMgr extends ObjectPersistenceM ...@@ -404,6 +408,56 @@ public class AssessmentCriteriaTemplatePersistenceMgr extends ObjectPersistenceM
return results; return results;
} }
else if (searchType.equals (AssessmentCriteriaTemplate.SEARCH_Company))
{
// Local scope for transformed variables
{
if (criteria.containsKey("Company"))
{
Company Company = (Company)(criteria.get("Company"));
criteria.put ("Company", Company.getObjectID ());
}
}
String orderBy = " ORDER BY tl_assessment_template.object_id";
String tables = ", oneit_sec_user_extension, tl_company ";
Set<String> joinTableSet = new HashSet<String>();
String filter;
Object[] searchParams; // paramFilter: tl_assessment_template.object_id is not null
String preFilter = "(tl_assessment_template.object_id is not null)"
+ " AND (oneit_sec_user_extension.user_id = tl_assessment_template.user_id) AND (tl_company.object_id = oneit_sec_user_extension.company_id) ";
if (criteria.containsKey("Company"))
{
preFilter += " AND (tl_company.object_id = ${Company}) ";
preFilter += "";
}
preFilter += context.getLoadingAttributes ().getCustomSQL() ;
SearchParamTransform tx = new SearchParamTransform (criteria);
filter = StringUtils.replaceParams (preFilter, tx);
searchParams = tx.getParamsArray();
Integer maxRows = context.getLoadingAttributes ().getMaxRows ();
boolean truncateExtra = !context.getLoadingAttributes ().isFailIfMaxExceeded();
String query = "SELECT " + SELECT_COLUMNS +
"FROM {PREFIX}tl_assessment_template " + tables + tableSetToSQL(joinTableSet) +
"WHERE " + SELECT_JOINS + " " + filter + orderBy;
BaseBusinessClass[] results = loadQuery (allPSets, sqlMgr, context, query, searchParams, maxRows, truncateExtra);
return results;
}
else else
{ {
......
...@@ -47,6 +47,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -47,6 +47,7 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
// Static constants corresponding to searches // Static constants corresponding to searches
public static final String SEARCH_All = "All"; public static final String SEARCH_All = "All";
public static final String SEARCH_Company = "Company";
// Static constants corresponding to attribute helpers // Static constants corresponding to attribute helpers
...@@ -1090,6 +1091,76 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass ...@@ -1090,6 +1091,76 @@ public abstract class BaseAssessmentCriteriaTemplate extends BaseBusinessClass
.search (transaction); .search (transaction);
} }
public static SearchCompany SearchByCompany () { return new SearchCompany (); }
public static class SearchCompany extends SearchObject<AssessmentCriteriaTemplate>
{
public SearchCompany byCompany (Company Company)
{
by ("Company", Company);
return this;
}
public SearchCompany andObjectID (QueryFilter<Long> filter)
{
filter.addFilter (context, "tl_assessment_template.object_id", FIELD_ObjectID);
return this;
}
public SearchCompany andObjectCreated (QueryFilter<Date> filter)
{
filter.addFilter (context, "tl_assessment_template.object_created_date", FIELD_ObjectCreated);
return this;
}
public SearchCompany andObjectLastModified (QueryFilter<Date> filter)
{
filter.addFilter (context, "tl_assessment_template.object_last_updated_date", FIELD_ObjectLastModified);
return this;
}
public SearchCompany andTemplateName (QueryFilter<String> filter)
{
filter.addFilter (context, "tl_assessment_template.template_name", "TemplateName");
return this;
}
public SearchCompany andUser (QueryFilter<SecUser> filter)
{
filter.addFilter (context, "tl_assessment_template.user_id", "User");
return this;
}
public AssessmentCriteriaTemplate[]
search (ObjectTransaction transaction) throws StorageException
{
BaseBusinessClass[] results = super.search (transaction, REFERENCE_AssessmentCriteriaTemplate, SEARCH_Company, criteria);
Set<AssessmentCriteriaTemplate> typedResults = new LinkedHashSet <AssessmentCriteriaTemplate> ();
for (BaseBusinessClass bbcResult : results)
{
AssessmentCriteriaTemplate aResult = (AssessmentCriteriaTemplate)bbcResult;
typedResults.add (aResult);
}
return ObjstoreUtils.removeDeleted(transaction, typedResults).toArray (new AssessmentCriteriaTemplate[0]);
}
}
public static AssessmentCriteriaTemplate[]
searchCompany (ObjectTransaction transaction, Company Company) throws StorageException
{
return SearchByCompany ()
.byCompany (Company)
.search (transaction);
}
public Object getAttribute (String attribName) public Object getAttribute (String attribName)
......
...@@ -47,6 +47,7 @@ public abstract class BaseCultureCriteriaTemplate extends BaseBusinessClass ...@@ -47,6 +47,7 @@ public abstract class BaseCultureCriteriaTemplate extends BaseBusinessClass
// Static constants corresponding to searches // Static constants corresponding to searches
public static final String SEARCH_All = "All"; public static final String SEARCH_All = "All";
public static final String SEARCH_Company = "Company";
// Static constants corresponding to attribute helpers // Static constants corresponding to attribute helpers
...@@ -1090,6 +1091,76 @@ public abstract class BaseCultureCriteriaTemplate extends BaseBusinessClass ...@@ -1090,6 +1091,76 @@ public abstract class BaseCultureCriteriaTemplate extends BaseBusinessClass
.search (transaction); .search (transaction);
} }
public static SearchCompany SearchByCompany () { return new SearchCompany (); }
public static class SearchCompany extends SearchObject<CultureCriteriaTemplate>
{
public SearchCompany byCompany (Company Company)
{
by ("Company", Company);
return this;
}
public SearchCompany andObjectID (QueryFilter<Long> filter)
{
filter.addFilter (context, "tl_culture_template.object_id", FIELD_ObjectID);
return this;
}
public SearchCompany andObjectCreated (QueryFilter<Date> filter)
{
filter.addFilter (context, "tl_culture_template.object_created_date", FIELD_ObjectCreated);
return this;
}
public SearchCompany andObjectLastModified (QueryFilter<Date> filter)
{
filter.addFilter (context, "tl_culture_template.object_last_updated_date", FIELD_ObjectLastModified);
return this;
}
public SearchCompany andTemplateName (QueryFilter<String> filter)
{
filter.addFilter (context, "tl_culture_template.template_name", "TemplateName");
return this;
}
public SearchCompany andUser (QueryFilter<SecUser> filter)
{
filter.addFilter (context, "tl_culture_template.user_id", "User");
return this;
}
public CultureCriteriaTemplate[]
search (ObjectTransaction transaction) throws StorageException
{
BaseBusinessClass[] results = super.search (transaction, REFERENCE_CultureCriteriaTemplate, SEARCH_Company, criteria);
Set<CultureCriteriaTemplate> typedResults = new LinkedHashSet <CultureCriteriaTemplate> ();
for (BaseBusinessClass bbcResult : results)
{
CultureCriteriaTemplate aResult = (CultureCriteriaTemplate)bbcResult;
typedResults.add (aResult);
}
return ObjstoreUtils.removeDeleted(transaction, typedResults).toArray (new CultureCriteriaTemplate[0]);
}
}
public static CultureCriteriaTemplate[]
searchCompany (ObjectTransaction transaction, Company Company) throws StorageException
{
return SearchByCompany ()
.byCompany (Company)
.search (transaction);
}
public Object getAttribute (String attribName) public Object getAttribute (String attribName)
......
...@@ -17,7 +17,13 @@ ...@@ -17,7 +17,13 @@
</TABLE> </TABLE>
<SEARCH type="All" paramFilter="tl_culture_template.object_id is not null" orderBy="tl_culture_template.object_id" /> <SEARCH type="All" paramFilter="tl_culture_template.object_id is not null" orderBy="tl_culture_template.object_id" />
<SEARCH type="Company" paramFilter="tl_culture_template.object_id is not null" orderBy="tl_culture_template.object_id">
<TABLE name="oneit_sec_user_extension" join="oneit_sec_user_extension.user_id = tl_culture_template.user_id"/>
<TABLE name="tl_company" join="tl_company.object_id = oneit_sec_user_extension.company_id"/>
<PARAM name="Company" type="Company" transform="Company.getObjectID ()" paramFilter="tl_company.object_id = ${Company}"/>
</SEARCH>
</BUSINESSCLASS> </BUSINESSCLASS>
</ROOT> </ROOT>
\ No newline at end of file
...@@ -255,6 +255,10 @@ public class CultureCriteriaTemplatePersistenceMgr extends ObjectPersistenceMgr ...@@ -255,6 +255,10 @@ public class CultureCriteriaTemplatePersistenceMgr extends ObjectPersistenceMgr
{ {
throw new RuntimeException ("NOT implemented: executeSearchQueryAll"); throw new RuntimeException ("NOT implemented: executeSearchQueryAll");
} }
public ResultSet executeSearchQueryCompany (SQLManager sqlMgr, Company Company) throws SQLException
{
throw new RuntimeException ("NOT implemented: executeSearchQueryCompany");
}
...@@ -404,6 +408,56 @@ public class CultureCriteriaTemplatePersistenceMgr extends ObjectPersistenceMgr ...@@ -404,6 +408,56 @@ public class CultureCriteriaTemplatePersistenceMgr extends ObjectPersistenceMgr
return results; return results;
} }
else if (searchType.equals (CultureCriteriaTemplate.SEARCH_Company))
{
// Local scope for transformed variables
{
if (criteria.containsKey("Company"))
{
Company Company = (Company)(criteria.get("Company"));
criteria.put ("Company", Company.getObjectID ());
}
}
String orderBy = " ORDER BY tl_culture_template.object_id";
String tables = ", oneit_sec_user_extension, tl_company ";
Set<String> joinTableSet = new HashSet<String>();
String filter;
Object[] searchParams; // paramFilter: tl_culture_template.object_id is not null
String preFilter = "(tl_culture_template.object_id is not null)"
+ " AND (oneit_sec_user_extension.user_id = tl_culture_template.user_id) AND (tl_company.object_id = oneit_sec_user_extension.company_id) ";
if (criteria.containsKey("Company"))
{
preFilter += " AND (tl_company.object_id = ${Company}) ";
preFilter += "";
}
preFilter += context.getLoadingAttributes ().getCustomSQL() ;
SearchParamTransform tx = new SearchParamTransform (criteria);
filter = StringUtils.replaceParams (preFilter, tx);
searchParams = tx.getParamsArray();
Integer maxRows = context.getLoadingAttributes ().getMaxRows ();
boolean truncateExtra = !context.getLoadingAttributes ().isFailIfMaxExceeded();
String query = "SELECT " + SELECT_COLUMNS +
"FROM {PREFIX}tl_culture_template " + tables + tableSetToSQL(joinTableSet) +
"WHERE " + SELECT_JOINS + " " + filter + orderBy;
BaseBusinessClass[] results = loadQuery (allPSets, sqlMgr, context, query, searchParams, maxRows, truncateExtra);
return results;
}
else else
{ {
......
...@@ -300,16 +300,20 @@ public class Job extends BaseJob ...@@ -300,16 +300,20 @@ public class Job extends BaseJob
public AssessmentCriteriaTemplate[] getAssessmentTemplates() public AssessmentCriteriaTemplate[] getAssessmentTemplates()
{ {
return AssessmentCriteriaTemplate.SearchByAll() CompanyUser companyUser = SecUser.getTXUser(getTransaction()).getExtension(CompanyUser.REFERENCE_CompanyUser);
.andUser(new EqualsFilter<>(SecUser.getTXUser(getTransaction())))
return AssessmentCriteriaTemplate.SearchByCompany()
.byCompany(companyUser.getCompany())
.search(getTransaction()); .search(getTransaction());
} }
public CultureCriteriaTemplate[] getCultureTemplates() public CultureCriteriaTemplate[] getCultureTemplates()
{ {
return CultureCriteriaTemplate.SearchByAll() CompanyUser companyUser = SecUser.getTXUser(getTransaction()).getExtension(CompanyUser.REFERENCE_CompanyUser);
.andUser(new EqualsFilter<>(SecUser.getTXUser(getTransaction())))
return CultureCriteriaTemplate.SearchByCompany()
.byCompany(companyUser.getCompany())
.search(getTransaction()); .search(getTransaction());
} }
......
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