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
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,
link , CompanyUserHiringTeamLink.FIELD_Role, "atLeastOneOwner", exceptions, true, request);
}
super.validate(process, submission, exceptions, params);
}
}
\ No newline at end of file
package performa.orm;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import oneit.objstore.FieldWriteability;
import performa.orm.types.JobStatus;
import performa.orm.types.RoleType;
......@@ -21,12 +19,7 @@ public class CompanyUserHiringTeamLink extends BaseCompanyUserHiringTeamLink
@Override
public FieldWriteability getObjectWriteability()
{
// if(getRole() == RoleType.OWNER)
// {
// return FieldWriteability.NOT_IN_GUI;
// }
return super.getObjectWriteability();
return FieldWriteability.NOT_IN_GUI;
}
......@@ -35,8 +28,19 @@ public class CompanyUserHiringTeamLink extends BaseCompanyUserHiringTeamLink
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});
}
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 @@
Collection<CompanyUser> sortedPendingUsers = Utils.getUsersSorted(pendingUsers, userSortOpt);
Collection<CompanyUser> sortedDisabledUsers = Utils.getUsersSorted(disabledUsers, userSortOpt);
CompanyUserHiringTeamLink comUserLink = comUser.pipelineCompanyUser().toHiringTeams(CompanyUserHiringTeamLink.SearchByAll().andHiringTeam(new EqualsFilter<>(hiringTeam))).val();
inviteTeammate.setRoleType(RoleType.STANDARD);
%>
<script type="text/javascript">
......@@ -193,6 +195,16 @@
</div>
<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">
<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>
......@@ -200,7 +212,7 @@
</a>
<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"
......@@ -216,6 +228,9 @@
%>
</div>
</div>
<%
}
%>
</div>
<oneit:button name="saveCompanyUser" value="Save" cssClass="<%= "save-user" + companyUser.getID().toString() + " hidden"%>"
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