Commit 17853fdb by Nilu

S12750650 # Client - Incoming Issues (raised by Client) #Cannot be no owner

parent 3e2dd94e
...@@ -80,10 +80,10 @@ public class SaveCompanyUserFP extends SaveFP ...@@ -80,10 +80,10 @@ public class SaveCompanyUserFP extends SaveFP
if(hiringTeam != null && link != null && roleType != null && roleType != RoleType.OWNER && link.getRole() == RoleType.OWNER) if(hiringTeam != null && link != null && roleType != null && roleType != RoleType.OWNER && link.getRole() == RoleType.OWNER)
{ {
BusinessObjectParser.assertFieldCondition(hiringTeam.pipelineHiringTeam().toUsers(CompanyUserHiringTeamLink.SearchByAllActive().andRole(new EqualsFilter<>(RoleType.OWNER))).vals().size() > 1, BusinessObjectParser.assertFieldCondition(hiringTeam.pipelineHiringTeam().toUsers(CompanyUserHiringTeamLink.SearchByAllActive().andRole(new EqualsFilter<>(RoleType.OWNER))).vals().size() > 1,
link , CompanyUserHiringTeamLink.FIELD_Role, "atLeastOneOwner", exceptions, true, request); link , CompanyUserHiringTeamLink.FIELD_Role, "atLeastOneOwner", exceptions, true, request);
} }
super.validate(process, submission, exceptions, params); super.validate(process, submission, exceptions, params);
} }
} }
\ No newline at end of file
package performa.orm; package performa.orm;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import oneit.objstore.FieldWriteability; import oneit.objstore.FieldWriteability;
import performa.orm.types.JobStatus;
import performa.orm.types.RoleType; import performa.orm.types.RoleType;
...@@ -21,12 +19,7 @@ public class CompanyUserHiringTeamLink extends BaseCompanyUserHiringTeamLink ...@@ -21,12 +19,7 @@ public class CompanyUserHiringTeamLink extends BaseCompanyUserHiringTeamLink
@Override @Override
public FieldWriteability getObjectWriteability() public FieldWriteability getObjectWriteability()
{ {
// if(getRole() == RoleType.OWNER) return FieldWriteability.NOT_IN_GUI;
// {
// return FieldWriteability.NOT_IN_GUI;
// }
return super.getObjectWriteability();
} }
...@@ -35,8 +28,19 @@ public class CompanyUserHiringTeamLink extends BaseCompanyUserHiringTeamLink ...@@ -35,8 +28,19 @@ public class CompanyUserHiringTeamLink extends BaseCompanyUserHiringTeamLink
return getRole() != null && getRole() == RoleType.OWNER; return getRole() != null && getRole() == RoleType.OWNER;
} }
public List<RoleType> getAvailableRoles() public List<RoleType> getAvailableRoles(CompanyUserHiringTeamLink userLink)
{
RoleType roleType = userLink.getRole();
if(roleType == RoleType.OWNER)
{ {
return Arrays.asList(new RoleType[]{RoleType.STANDARD, RoleType.ADMIN, RoleType.OWNER}); return Arrays.asList(new RoleType[]{RoleType.STANDARD, RoleType.ADMIN, RoleType.OWNER});
} }
else if(roleType == RoleType.ADMIN)
{
return Arrays.asList(new RoleType[]{RoleType.STANDARD, RoleType.ADMIN});
}
return Arrays.asList(new RoleType[]{RoleType.STANDARD});
}
} }
\ No newline at end of file
...@@ -54,6 +54,8 @@ ...@@ -54,6 +54,8 @@
Collection<CompanyUser> sortedPendingUsers = Utils.getUsersSorted(pendingUsers, userSortOpt); Collection<CompanyUser> sortedPendingUsers = Utils.getUsersSorted(pendingUsers, userSortOpt);
Collection<CompanyUser> sortedDisabledUsers = Utils.getUsersSorted(disabledUsers, userSortOpt); Collection<CompanyUser> sortedDisabledUsers = Utils.getUsersSorted(disabledUsers, userSortOpt);
CompanyUserHiringTeamLink comUserLink = comUser.pipelineCompanyUser().toHiringTeams(CompanyUserHiringTeamLink.SearchByAll().andHiringTeam(new EqualsFilter<>(hiringTeam))).val();
inviteTeammate.setRoleType(RoleType.STANDARD); inviteTeammate.setRoleType(RoleType.STANDARD);
%> %>
<script type="text/javascript"> <script type="text/javascript">
...@@ -193,6 +195,16 @@ ...@@ -193,6 +195,16 @@
</div> </div>
<div class="m-user-right"> <div class="m-user-right">
<%
if((comUserLink.getRole() != RoleType.OWNER && link.getRole() == RoleType.OWNER) || (comUserLink.getRole() == RoleType.STANDARD))
{
%>
<oneit:ormEnum obj="<%= link %>" attributeName="Role" cssClass="form-control user-role" enums="<%= Arrays.asList(new RoleType[]{RoleType.STANDARD, RoleType.ADMIN, RoleType.OWNER}) %>"/>
<%
}
else
{
%>
<div class="dropdown show select2type"> <div class="dropdown show select2type">
<a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink<%= link.getID() %>" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink<%= link.getID() %>" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="top-selected-item"><%= link.getRole().getDescription() %></span> <span class="top-selected-item"><%= link.getRole().getDescription() %></span>
...@@ -200,7 +212,7 @@ ...@@ -200,7 +212,7 @@
</a> </a>
<div class="dropdown-menu select2type-results no-icon" aria-labelledby="dropdownMenuLink<%= link.getID() %>"> <div class="dropdown-menu select2type-results no-icon" aria-labelledby="dropdownMenuLink<%= link.getID() %>">
<% <%
for (RoleType roleType : link.getAvailableRoles()) for (RoleType roleType : link.getAvailableRoles(comUserLink))
{ {
%> %>
<oneit:button name="saveCompanyUser" value="<%= roleType.getDescription() %>" skin="link" cssClass="dropdown-item" <oneit:button name="saveCompanyUser" value="<%= roleType.getDescription() %>" skin="link" cssClass="dropdown-item"
...@@ -216,6 +228,9 @@ ...@@ -216,6 +228,9 @@
%> %>
</div> </div>
</div> </div>
<%
}
%>
</div> </div>
<oneit:button name="saveCompanyUser" value="Save" cssClass="<%= "save-user" + companyUser.getID().toString() + " hidden"%>" <oneit:button name="saveCompanyUser" value="Save" cssClass="<%= "save-user" + companyUser.getID().toString() + " hidden"%>"
requestAttribs="<%= CollectionUtils.mapEntry("CompanyUser", companyUser) requestAttribs="<%= CollectionUtils.mapEntry("CompanyUser", companyUser)
......
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