Commit 0bad6dee by Nilu

moving roles of users to hiring team level.

parent e9e5f289
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
<column name="object_id" type="Long" nullable="false" length="11"/> <column name="object_id" type="Long" nullable="false" length="11"/>
<column name="object_last_updated_date" type="Date" nullable="false" length="22"/> <column name="object_last_updated_date" type="Date" nullable="false" length="22"/>
<column name="object_created_date" type="Date" nullable="false" length="22"/> <column name="object_created_date" type="Date" nullable="false" length="22"/>
<column name="role_type" type="String" nullable="true" length="200"/>
<column name="hiring_team_id" type="Long" length="11" nullable="true"/> <column name="hiring_team_id" type="Long" length="11" nullable="true"/>
<column name="company_user_id" type="Long" length="11" nullable="true"/> <column name="company_user_id" type="Long" length="11" nullable="true"/>
</NODE> </NODE>
......
...@@ -8,6 +8,7 @@ CREATE TABLE tl_company_user_hiring_team_link ( ...@@ -8,6 +8,7 @@ CREATE TABLE tl_company_user_hiring_team_link (
object_last_updated_date datetime DEFAULT getdate() NOT NULL , object_last_updated_date datetime DEFAULT getdate() NOT NULL ,
object_created_date datetime DEFAULT getdate() NOT NULL object_created_date datetime DEFAULT getdate() NOT NULL
, ,
role_type varchar(200) NULL,
hiring_team_id numeric(12) NULL, hiring_team_id numeric(12) NULL,
company_user_id numeric(12) NULL company_user_id numeric(12) NULL
); );
......
...@@ -9,6 +9,7 @@ CREATE TABLE tl_company_user_hiring_team_link ( ...@@ -9,6 +9,7 @@ CREATE TABLE tl_company_user_hiring_team_link (
object_last_updated_date date DEFAULT SYSDATE NOT NULL , object_last_updated_date date DEFAULT SYSDATE NOT NULL ,
object_created_date date DEFAULT SYSDATE NOT NULL object_created_date date DEFAULT SYSDATE NOT NULL
, ,
role_type varchar2(200) NULL,
hiring_team_id number(12) NULL, hiring_team_id number(12) NULL,
company_user_id number(12) NULL company_user_id number(12) NULL
); );
......
...@@ -9,6 +9,7 @@ CREATE TABLE tl_company_user_hiring_team_link ( ...@@ -9,6 +9,7 @@ CREATE TABLE tl_company_user_hiring_team_link (
object_last_updated_date timestamp DEFAULT NOW() NOT NULL , object_last_updated_date timestamp DEFAULT NOW() NOT NULL ,
object_created_date timestamp DEFAULT NOW() NOT NULL object_created_date timestamp DEFAULT NOW() NOT NULL
, ,
role_type varchar(200) NULL,
hiring_team_id numeric(12) NULL, hiring_team_id numeric(12) NULL,
company_user_id numeric(12) NULL company_user_id numeric(12) NULL
); );
......
...@@ -15,6 +15,7 @@ import oneit.servlets.process.SaveFP; ...@@ -15,6 +15,7 @@ import oneit.servlets.process.SaveFP;
import oneit.utils.BusinessException; import oneit.utils.BusinessException;
import oneit.utils.MultiException; import oneit.utils.MultiException;
import performa.orm.Company; import performa.orm.Company;
import performa.orm.CompanyUserHiringTeamLink;
import performa.orm.HiringTeam; import performa.orm.HiringTeam;
import performa.utils.StripeUtils; import performa.utils.StripeUtils;
...@@ -56,6 +57,11 @@ public class AddHiringTeamFP extends SaveFP ...@@ -56,6 +57,11 @@ public class AddHiringTeamFP extends SaveFP
hiringTeam.setCompany(company); hiringTeam.setCompany(company);
hiringTeam.setManageOwnBilling(company.getManageOwnBilling()); hiringTeam.setManageOwnBilling(company.getManageOwnBilling());
CompanyUserHiringTeamLink link = CompanyUserHiringTeamLink.createCompanyUserHiringTeamLink(objTran);
link.setCompanyUser(company.getOwner());
link.setHiringTeam(hiringTeam);
if(hiringTeam.getManageOwnBilling()) if(hiringTeam.getManageOwnBilling())
{ {
hiringTeam.setBilledByTeam(null); hiringTeam.setBilledByTeam(null);
......
...@@ -8,6 +8,7 @@ import oneit.logging.LogLevel; ...@@ -8,6 +8,7 @@ import oneit.logging.LogLevel;
import oneit.logging.LogMgr; import oneit.logging.LogMgr;
import oneit.logging.LoggingArea; import oneit.logging.LoggingArea;
import oneit.objstore.*; import oneit.objstore.*;
import oneit.objstore.rdbms.filters.EqualsFilter;
import oneit.security.SecUser; import oneit.security.SecUser;
import oneit.security.jsp.SecUserToNameTransform; import oneit.security.jsp.SecUserToNameTransform;
import oneit.utils.*; import oneit.utils.*;
......
...@@ -3,9 +3,13 @@ ...@@ -3,9 +3,13 @@
<ROOT xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://www.oneit.com.au/schemas/5.2/BusinessObject.xsd'> <ROOT xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://www.oneit.com.au/schemas/5.2/BusinessObject.xsd'>
<BUSINESSCLASS name="CompanyUserHiringTeamLink" package="performa.orm"> <BUSINESSCLASS name="CompanyUserHiringTeamLink" package="performa.orm">
<IMPORT value="performa.orm.types.*"/>
<TABLE name="tl_company_user_hiring_team_link" tablePrefix="object"> <TABLE name="tl_company_user_hiring_team_link" tablePrefix="object">
<ATTRIB name="Role" type="RoleType" dbcol="role_type" mandatory="false" attribHelper="EnumeratedAttributeHelper"/>
<SINGLEREFERENCE name="HiringTeam" type="HiringTeam" dbcol="hiring_team_id" backreferenceName="Users" /> <SINGLEREFERENCE name="HiringTeam" type="HiringTeam" dbcol="hiring_team_id" backreferenceName="Users" />
<SINGLEREFERENCE name="CompanyUser" type="CompanyUser" dbcol="company_user_id" backreferenceName="HiringTeams" /> <SINGLEREFERENCE name="CompanyUser" type="CompanyUser" dbcol="company_user_id" backreferenceName="HiringTeams" />
......
...@@ -14,6 +14,7 @@ import oneit.sql.*; ...@@ -14,6 +14,7 @@ import oneit.sql.*;
import oneit.utils.resource.*; import oneit.utils.resource.*;
import oneit.utils.*; import oneit.utils.*;
import oneit.utils.threading.*; import oneit.utils.threading.*;
import performa.orm.types.*;
...@@ -26,19 +27,22 @@ public class CompanyUserHiringTeamLinkPersistenceMgr extends ObjectPersistenceMg ...@@ -26,19 +27,22 @@ public class CompanyUserHiringTeamLinkPersistenceMgr extends ObjectPersistenceMg
private static final LoggingArea CompanyUserHiringTeamLinkPersistence = LoggingArea.createLoggingArea(ObjectPersistenceMgr.OBJECT_PERSISTENCE, "CompanyUserHiringTeamLink"); private static final LoggingArea CompanyUserHiringTeamLinkPersistence = LoggingArea.createLoggingArea(ObjectPersistenceMgr.OBJECT_PERSISTENCE, "CompanyUserHiringTeamLink");
// Private attributes corresponding to business object data // Private attributes corresponding to business object data
private RoleType dummyRole;
// Static constants corresponding to attribute helpers // Static constants corresponding to attribute helpers
private static final EnumeratedAttributeHelper HELPER_Role = new EnumeratedAttributeHelper (RoleType.FACTORY_RoleType);
public CompanyUserHiringTeamLinkPersistenceMgr () public CompanyUserHiringTeamLinkPersistenceMgr ()
{ {
dummyRole = (RoleType)(HELPER_Role.initialise (dummyRole));
} }
private String SELECT_COLUMNS = "{PREFIX}tl_company_user_hiring_team_link.object_id as id, {PREFIX}tl_company_user_hiring_team_link.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}tl_company_user_hiring_team_link.object_CREATED_DATE as CREATED_DATE, {PREFIX}tl_company_user_hiring_team_link.hiring_team_id, {PREFIX}tl_company_user_hiring_team_link.company_user_id, 1 AS commasafe "; private String SELECT_COLUMNS = "{PREFIX}tl_company_user_hiring_team_link.object_id as id, {PREFIX}tl_company_user_hiring_team_link.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}tl_company_user_hiring_team_link.object_CREATED_DATE as CREATED_DATE, {PREFIX}tl_company_user_hiring_team_link.role_type, {PREFIX}tl_company_user_hiring_team_link.hiring_team_id, {PREFIX}tl_company_user_hiring_team_link.company_user_id, 1 AS commasafe ";
private String SELECT_JOINS = ""; private String SELECT_JOINS = "";
public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
...@@ -89,6 +93,7 @@ public class CompanyUserHiringTeamLinkPersistenceMgr extends ObjectPersistenceMg ...@@ -89,6 +93,7 @@ public class CompanyUserHiringTeamLinkPersistenceMgr extends ObjectPersistenceMg
// Check for persistent sets already prefetched // Check for persistent sets already prefetched
if (false || !tl_company_user_hiring_team_linkPSet.containsAttrib(BaseBusinessClass.FIELD_ObjectLastModified) || if (false || !tl_company_user_hiring_team_linkPSet.containsAttrib(BaseBusinessClass.FIELD_ObjectLastModified) ||
!tl_company_user_hiring_team_linkPSet.containsAttrib(CompanyUserHiringTeamLink.FIELD_Role)||
!tl_company_user_hiring_team_linkPSet.containsAttrib(CompanyUserHiringTeamLink.SINGLEREFERENCE_HiringTeam)|| !tl_company_user_hiring_team_linkPSet.containsAttrib(CompanyUserHiringTeamLink.SINGLEREFERENCE_HiringTeam)||
!tl_company_user_hiring_team_linkPSet.containsAttrib(CompanyUserHiringTeamLink.SINGLEREFERENCE_CompanyUser)) !tl_company_user_hiring_team_linkPSet.containsAttrib(CompanyUserHiringTeamLink.SINGLEREFERENCE_CompanyUser))
{ {
...@@ -180,10 +185,10 @@ public class CompanyUserHiringTeamLinkPersistenceMgr extends ObjectPersistenceMg ...@@ -180,10 +185,10 @@ public class CompanyUserHiringTeamLinkPersistenceMgr extends ObjectPersistenceMg
{ {
int rowsUpdated = executeStatement (sqlMgr, int rowsUpdated = executeStatement (sqlMgr,
"UPDATE {PREFIX}tl_company_user_hiring_team_link " + "UPDATE {PREFIX}tl_company_user_hiring_team_link " +
"SET hiring_team_id = ? , company_user_id = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " + "SET role_type = ?, hiring_team_id = ? , company_user_id = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " +
"WHERE tl_company_user_hiring_team_link.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ", "WHERE tl_company_user_hiring_team_link.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ",
CollectionUtils.listEntry (SQLManager.CheckNull((Long)(tl_company_user_hiring_team_linkPSet.getAttrib (CompanyUserHiringTeamLink.SINGLEREFERENCE_HiringTeam)))).listEntry (SQLManager.CheckNull((Long)(tl_company_user_hiring_team_linkPSet.getAttrib (CompanyUserHiringTeamLink.SINGLEREFERENCE_CompanyUser)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray()); CollectionUtils.listEntry (HELPER_Role.getForSQL(dummyRole, tl_company_user_hiring_team_linkPSet.getAttrib (CompanyUserHiringTeamLink.FIELD_Role))).listEntry (SQLManager.CheckNull((Long)(tl_company_user_hiring_team_linkPSet.getAttrib (CompanyUserHiringTeamLink.SINGLEREFERENCE_HiringTeam)))).listEntry (SQLManager.CheckNull((Long)(tl_company_user_hiring_team_linkPSet.getAttrib (CompanyUserHiringTeamLink.SINGLEREFERENCE_CompanyUser)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray());
if (rowsUpdated != 1) if (rowsUpdated != 1)
{ {
...@@ -439,6 +444,7 @@ public class CompanyUserHiringTeamLinkPersistenceMgr extends ObjectPersistenceMg ...@@ -439,6 +444,7 @@ public class CompanyUserHiringTeamLinkPersistenceMgr extends ObjectPersistenceMg
// Object Created // Object Created
tl_company_user_hiring_team_linkPSet.setAttrib(BaseBusinessClass.FIELD_ObjectCreated, r.getTimestamp ("CREATED_DATE")); tl_company_user_hiring_team_linkPSet.setAttrib(BaseBusinessClass.FIELD_ObjectCreated, r.getTimestamp ("CREATED_DATE"));
tl_company_user_hiring_team_linkPSet.setAttrib(CompanyUserHiringTeamLink.FIELD_Role, HELPER_Role.getFromRS(dummyRole, r, "role_type"));
tl_company_user_hiring_team_linkPSet.setAttrib(CompanyUserHiringTeamLink.SINGLEREFERENCE_HiringTeam, r.getObject ("hiring_team_id")); tl_company_user_hiring_team_linkPSet.setAttrib(CompanyUserHiringTeamLink.SINGLEREFERENCE_HiringTeam, r.getObject ("hiring_team_id"));
tl_company_user_hiring_team_linkPSet.setAttrib(CompanyUserHiringTeamLink.SINGLEREFERENCE_CompanyUser, r.getObject ("company_user_id")); tl_company_user_hiring_team_linkPSet.setAttrib(CompanyUserHiringTeamLink.SINGLEREFERENCE_CompanyUser, r.getObject ("company_user_id"));
...@@ -458,10 +464,10 @@ public class CompanyUserHiringTeamLinkPersistenceMgr extends ObjectPersistenceMg ...@@ -458,10 +464,10 @@ public class CompanyUserHiringTeamLinkPersistenceMgr extends ObjectPersistenceMg
{ {
executeStatement (sqlMgr, executeStatement (sqlMgr,
"INSERT INTO {PREFIX}tl_company_user_hiring_team_link " + "INSERT INTO {PREFIX}tl_company_user_hiring_team_link " +
" ( hiring_team_id, company_user_id, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " + " (role_type, hiring_team_id, company_user_id, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " +
"VALUES " + "VALUES " +
" ( ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")", " (?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")",
CollectionUtils .listEntry (SQLManager.CheckNull((Long)(tl_company_user_hiring_team_linkPSet.getAttrib (CompanyUserHiringTeamLink.SINGLEREFERENCE_HiringTeam)))).listEntry (SQLManager.CheckNull((Long)(tl_company_user_hiring_team_linkPSet.getAttrib (CompanyUserHiringTeamLink.SINGLEREFERENCE_CompanyUser)))) .listEntry (objectID.longID ()).toList().toArray()); CollectionUtils.listEntry (HELPER_Role.getForSQL(dummyRole, tl_company_user_hiring_team_linkPSet.getAttrib (CompanyUserHiringTeamLink.FIELD_Role))) .listEntry (SQLManager.CheckNull((Long)(tl_company_user_hiring_team_linkPSet.getAttrib (CompanyUserHiringTeamLink.SINGLEREFERENCE_HiringTeam)))).listEntry (SQLManager.CheckNull((Long)(tl_company_user_hiring_team_linkPSet.getAttrib (CompanyUserHiringTeamLink.SINGLEREFERENCE_CompanyUser)))) .listEntry (objectID.longID ()).toList().toArray());
tl_company_user_hiring_team_linkPSet.setStatus (PersistentSetStatus.PROCESSED); tl_company_user_hiring_team_linkPSet.setStatus (PersistentSetStatus.PROCESSED);
} }
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
process.setAttribute("UserSortOption", userSortOpt); process.setAttribute("UserSortOption", userSortOpt);
Collection<HiringTeam> sortedHiringTeams = Utils.getHiringTeamsSorted(company.getHiringTeamsSet(), userSortOpt); Collection<HiringTeam> sortedHiringTeams = Utils.getHiringTeamsSorted(Arrays.asList(Utils.getHiringTeamsByUser(comUser)), userSortOpt);
%> %>
<oneit:form name="listHiringTeams" method="post" enctype="multipart/form-data"> <oneit:form name="listHiringTeams" method="post" enctype="multipart/form-data">
......
...@@ -141,6 +141,9 @@ ...@@ -141,6 +141,9 @@
for(CompanyUser companyUser : sortedCompanyUsers) for(CompanyUser companyUser : sortedCompanyUsers)
{ {
SecUser user = companyUser.getUser(); SecUser user = companyUser.getUser();
oneit.utils.filter.Filter<CompanyUserHiringTeamLink> filter = CompanyUserHiringTeamLink.SearchByAll().andHiringTeam(new EqualsFilter<>(hiringTeam));
CompanyUserHiringTeamLink link = companyUser.pipelineCompanyUser().toHiringTeams(filter).val();
%> %>
<div class="user-list-row" id="<%= companyUser.getID() %>"> <div class="user-list-row" id="<%= companyUser.getID() %>">
<div class="m-user-left"> <div class="m-user-left">
...@@ -188,7 +191,7 @@ ...@@ -188,7 +191,7 @@
</div> </div>
<div class="m-user-right"> <div class="m-user-right">
<oneit:ormEnum obj="<%= companyUser %>" attributeName="Role" cssClass="form-control user-role" enums="<%= Arrays.asList(new RoleType[]{RoleType.ADMIN, RoleType.STANDARD}) %>"/> <oneit:ormEnum obj="<%= link %>" attributeName="Role" cssClass="form-control user-role" enums="<%= Arrays.asList(new RoleType[]{RoleType.ADMIN, RoleType.STANDARD, RoleType.OWNER}) %>"/>
</div> </div>
<oneit:button name="save" value="Save" cssClass="<%= "save-user" + companyUser.getID().toString() + " hidden"%>" <oneit:button name="save" value="Save" cssClass="<%= "save-user" + companyUser.getID().toString() + " hidden"%>"
...@@ -253,6 +256,9 @@ ...@@ -253,6 +256,9 @@
for(CompanyUser companyUser : sortedDisabledUsers) for(CompanyUser companyUser : sortedDisabledUsers)
{ {
SecUser user = companyUser.getUser(); SecUser user = companyUser.getUser();
oneit.utils.filter.Filter<CompanyUserHiringTeamLink> filter = CompanyUserHiringTeamLink.SearchByAll().andHiringTeam(new EqualsFilter<>(hiringTeam));
CompanyUserHiringTeamLink link = companyUser.pipelineCompanyUser().toHiringTeams(filter).val();
%> %>
<div class="user-list-row disabled" id="<%= companyUser.getID() %>"> <div class="user-list-row disabled" id="<%= companyUser.getID() %>">
<div class="m-user-left"> <div class="m-user-left">
...@@ -279,7 +285,7 @@ ...@@ -279,7 +285,7 @@
</oneit:button> </oneit:button>
</div> </div>
<div class="m-user-right"> <div class="m-user-right">
<oneit:ormEnum obj="<%= companyUser %>" attributeName="Role" cssClass="form-control user-role" enums="<%= Arrays.asList(new RoleType[]{RoleType.ADMIN, RoleType.STANDARD}) %>"/> <oneit:ormEnum obj="<%= link %>" attributeName="Role" cssClass="form-control user-role" enums="<%= Arrays.asList(new RoleType[]{RoleType.ADMIN, RoleType.STANDARD}) %>"/>
</div> </div>
......
<?xml version="1.0" encoding="UTF-8"?>
<!-- @AutoRun -->
<OBJECTS name="" xmlns:oneit="http://www.1iT.com.au">
<NODE name="Script" factory="Vector">
<NODE name="DDL" factory="Participant" class="oneit.sql.transfer.RedefineTableOperation">
<tableName factory="String">tl_company_user_hiring_team_link</tableName>
<column name="role_type" type="String" nullable="true" length="200"/>
</NODE>
</NODE>
</OBJECTS>
\ No newline at end of file
UPDATE tl_company_user_hiring_team_link
SET role_type= oneit_sec_user_extension.role_type
FROM oneit_sec_user_extension
WHERE tl_company_user_hiring_team_link.company_user_id = oneit_sec_user_extension.object_id;
\ 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