Commit 0bad6dee by Nilu

moving roles of users to hiring team level.

parent e9e5f289
......@@ -8,6 +8,7 @@
<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_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="company_user_id" type="Long" length="11" nullable="true"/>
</NODE>
......
......@@ -8,6 +8,7 @@ CREATE TABLE tl_company_user_hiring_team_link (
object_last_updated_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,
company_user_id numeric(12) NULL
);
......
......@@ -9,6 +9,7 @@ CREATE TABLE tl_company_user_hiring_team_link (
object_last_updated_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,
company_user_id number(12) NULL
);
......
......@@ -9,6 +9,7 @@ CREATE TABLE tl_company_user_hiring_team_link (
object_last_updated_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,
company_user_id numeric(12) NULL
);
......
......@@ -15,6 +15,7 @@ import oneit.servlets.process.SaveFP;
import oneit.utils.BusinessException;
import oneit.utils.MultiException;
import performa.orm.Company;
import performa.orm.CompanyUserHiringTeamLink;
import performa.orm.HiringTeam;
import performa.utils.StripeUtils;
......@@ -56,6 +57,11 @@ public class AddHiringTeamFP extends SaveFP
hiringTeam.setCompany(company);
hiringTeam.setManageOwnBilling(company.getManageOwnBilling());
CompanyUserHiringTeamLink link = CompanyUserHiringTeamLink.createCompanyUserHiringTeamLink(objTran);
link.setCompanyUser(company.getOwner());
link.setHiringTeam(hiringTeam);
if(hiringTeam.getManageOwnBilling())
{
hiringTeam.setBilledByTeam(null);
......
......@@ -8,6 +8,7 @@ import oneit.logging.LogLevel;
import oneit.logging.LogMgr;
import oneit.logging.LoggingArea;
import oneit.objstore.*;
import oneit.objstore.rdbms.filters.EqualsFilter;
import oneit.security.SecUser;
import oneit.security.jsp.SecUserToNameTransform;
import oneit.utils.*;
......
......@@ -4,8 +4,12 @@
<BUSINESSCLASS name="CompanyUserHiringTeamLink" package="performa.orm">
<IMPORT value="performa.orm.types.*"/>
<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="CompanyUser" type="CompanyUser" dbcol="company_user_id" backreferenceName="HiringTeams" />
......
......@@ -14,6 +14,7 @@ import oneit.sql.*;
import oneit.utils.resource.*;
import oneit.utils.*;
import oneit.utils.threading.*;
import performa.orm.types.*;
......@@ -26,19 +27,22 @@ public class CompanyUserHiringTeamLinkPersistenceMgr extends ObjectPersistenceMg
private static final LoggingArea CompanyUserHiringTeamLinkPersistence = LoggingArea.createLoggingArea(ObjectPersistenceMgr.OBJECT_PERSISTENCE, "CompanyUserHiringTeamLink");
// Private attributes corresponding to business object data
private RoleType dummyRole;
// Static constants corresponding to attribute helpers
private static final EnumeratedAttributeHelper HELPER_Role = new EnumeratedAttributeHelper (RoleType.FACTORY_RoleType);
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 = "";
public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
......@@ -89,6 +93,7 @@ public class CompanyUserHiringTeamLinkPersistenceMgr extends ObjectPersistenceMg
// Check for persistent sets already prefetched
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_CompanyUser))
{
......@@ -180,10 +185,10 @@ public class CompanyUserHiringTeamLinkPersistenceMgr extends ObjectPersistenceMg
{
int rowsUpdated = executeStatement (sqlMgr,
"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 ()) + " ",
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)
{
......@@ -439,6 +444,7 @@ public class CompanyUserHiringTeamLinkPersistenceMgr extends ObjectPersistenceMg
// Object Created
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_CompanyUser, r.getObject ("company_user_id"));
......@@ -458,10 +464,10 @@ public class CompanyUserHiringTeamLinkPersistenceMgr extends ObjectPersistenceMg
{
executeStatement (sqlMgr,
"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 " +
" ( ?, ?, ?, " + 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());
" (?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")",
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);
}
......
......@@ -41,7 +41,7 @@
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">
......
......@@ -141,6 +141,9 @@
for(CompanyUser companyUser : sortedCompanyUsers)
{
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="m-user-left">
......@@ -188,7 +191,7 @@
</div>
<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>
<oneit:button name="save" value="Save" cssClass="<%= "save-user" + companyUser.getID().toString() + " hidden"%>"
......@@ -253,6 +256,9 @@
for(CompanyUser companyUser : sortedDisabledUsers)
{
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="m-user-left">
......@@ -279,7 +285,7 @@
</oneit:button>
</div>
<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>
......
<?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