Skip to content

Commit

Permalink
ui authorizations
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Jun 12, 2017
1 parent 0e53dac commit 384b9db
Show file tree
Hide file tree
Showing 3 changed files with 83 additions and 62 deletions.
Expand Up @@ -2,6 +2,7 @@

import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.api.util.WebModelServiceUtils;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.PrismReferenceValue;
Expand All @@ -10,6 +11,7 @@
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.security.api.AuthorizationConstants;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.assignment.RelationTypes;
Expand Down Expand Up @@ -56,70 +58,90 @@ public RoleGovernanceRelationsPanel(String id, IModel<RoleType> model, List<Rela
@Override
protected List<InlineMenuItem> newMemberInlineMenuItems() {
List<InlineMenuItem> newMemberMenuItems = new ArrayList<>();
newMemberMenuItems.add(new InlineMenuItem(createStringResource("roleMemberPanel.menu.createApprover"),
false, new HeaderMenuAction(this) {
private static final long serialVersionUID = 1L;

@Override
public void onClick(AjaxRequestTarget target) {
createFocusMemberPerformed(RelationTypes.APPROVER.getRelation(), target);
}
}));
boolean isAuthorizedToCreate = WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_ADD_GOVERNANCE_ACTION_URI);
boolean isAuthorizedToAssign = WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_ASSIGN_GOVERNANCE_ACTION_URI);
if (isAuthorizedToCreate) {
newMemberMenuItems.add(new InlineMenuItem(createStringResource("roleMemberPanel.menu.createApprover"),
false, new HeaderMenuAction(this) {
private static final long serialVersionUID = 1L;

@Override
public void onClick(AjaxRequestTarget target) {
createFocusMemberPerformed(RelationTypes.APPROVER.getRelation(), target);
}
}));
}

newMemberMenuItems.add(new InlineMenuItem(createStringResource("roleMemberPanel.menu.assignApprovers"), false,
new HeaderMenuAction(this) {
private static final long serialVersionUID = 1L;
if (isAuthorizedToAssign) {
newMemberMenuItems.add(new InlineMenuItem(createStringResource("roleMemberPanel.menu.assignApprovers"), false,
new HeaderMenuAction(this) {
private static final long serialVersionUID = 1L;

@Override
public void onClick(AjaxRequestTarget target) {
addMembers(RelationTypes.APPROVER.getRelation(), target);
}
}));
@Override
public void onClick(AjaxRequestTarget target) {
addMembers(RelationTypes.APPROVER.getRelation(), target);
}
}));
}

newMemberMenuItems.add(new InlineMenuItem(createStringResource("roleMemberPanel.menu.createOwner"),
false, new HeaderMenuAction(this) {
private static final long serialVersionUID = 1L;
if (isAuthorizedToCreate) {
newMemberMenuItems.add(new InlineMenuItem(createStringResource("roleMemberPanel.menu.createOwner"),
false, new HeaderMenuAction(this) {
private static final long serialVersionUID = 1L;

@Override
public void onClick(AjaxRequestTarget target) {
createFocusMemberPerformed(RelationTypes.OWNER.getRelation(), target);
}
}));

newMemberMenuItems.add(new InlineMenuItem(createStringResource("roleMemberPanel.menu.assignOwners"), false,
new HeaderMenuAction(this) {
private static final long serialVersionUID = 1L;

@Override
public void onClick(AjaxRequestTarget target) {
addMembers(RelationTypes.OWNER.getRelation(), target);
}
}));
newMemberMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.createManager"),
false, new HeaderMenuAction(this) {
private static final long serialVersionUID = 1L;
@Override
public void onClick(AjaxRequestTarget target) {
createFocusMemberPerformed(RelationTypes.OWNER.getRelation(), target);
}
}));
}

@Override
public void onClick(AjaxRequestTarget target) {
createFocusMemberPerformed(RelationTypes.MANAGER.getRelation(), target);
}
}));
if (isAuthorizedToAssign) {
newMemberMenuItems.add(new InlineMenuItem(createStringResource("roleMemberPanel.menu.assignOwners"), false,
new HeaderMenuAction(this) {
private static final long serialVersionUID = 1L;

newMemberMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.addManagers"), false,
new HeaderMenuAction(this) {
private static final long serialVersionUID = 1L;
@Override
public void onClick(AjaxRequestTarget target) {
addMembers(RelationTypes.OWNER.getRelation(), target);
}
}));
}

@Override
public void onClick(AjaxRequestTarget target) {
addMembers(RelationTypes.MANAGER.getRelation(), target);
}
}));
if (isAuthorizedToCreate) {
newMemberMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.createManager"),
false, new HeaderMenuAction(this) {
private static final long serialVersionUID = 1L;

@Override
public void onClick(AjaxRequestTarget target) {
createFocusMemberPerformed(RelationTypes.MANAGER.getRelation(), target);
}
}));
}

if (isAuthorizedToAssign) {
newMemberMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.addManagers"), false,
new HeaderMenuAction(this) {
private static final long serialVersionUID = 1L;

@Override
public void onClick(AjaxRequestTarget target) {
addMembers(RelationTypes.MANAGER.getRelation(), target);
}
}));
}
return newMemberMenuItems;
}

@Override
protected List<InlineMenuItem> createUnassignMemberInlineMenuItems() {
return super.createUnassignMemberInlineMenuItems();
List<InlineMenuItem> menuItems = new ArrayList<>();
if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_UNASSIGN_GOVERNANCE_ACTION_URI)){
menuItems.addAll(super.createUnassignMemberInlineMenuItems());
}
return menuItems;
}

@Override
Expand Down
Expand Up @@ -192,7 +192,6 @@ protected List<InlineMenuItem> createMembersHeaderInlineMenu() {
List<InlineMenuItem> headerMenuItems = new ArrayList<>();
headerMenuItems.addAll(newMemberInlineMenuItems());

headerMenuItems.add(new InlineMenuItem());
headerMenuItems.addAll(createUnassignMemberInlineMenuItems());
headerMenuItems.addAll(createMemberRecomputeInlineMenuItems());

Expand Down
Expand Up @@ -385,13 +385,13 @@ protected List<InlineMenuItem> createMembersHeaderInlineMenu() {
List<InlineMenuItem> headerMenuItems = new ArrayList<>();
headerMenuItems.addAll(newMemberInlineMenuItems());

if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_ORG_UNASSIGN_MEMBER_ACTION_URI)) {
if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_UNASSIGN_MEMBER_ACTION_URI)) {
headerMenuItems.addAll(super.createUnassignMemberInlineMenuItems());
}
if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_ORG_RECOMPUTE_MEMBER_ACTION_URI)) {
if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_RECOMPUTE_MEMBER_ACTION_URI)) {
headerMenuItems.addAll(super.createMemberRecomputeInlineMenuItems());
}
if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_ORG_DELETE_MEMBER_ACTION_URI)) {
if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_DELETE_MEMBER_ACTION_URI)) {
headerMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.deleteMember"),
false, new HeaderMenuAction(this) {

Expand All @@ -414,14 +414,14 @@ public void onClick(AjaxRequestTarget target) {
}

protected List<InlineMenuItem> createNewMemberInlineMenuItems() {
if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_ORG_ADD_MEMBER_ACTION_URI)) {
if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_ADD_MEMBER_ACTION_URI)) {
return super.createNewMemberInlineMenuItems();
}
return new ArrayList<>();
}

protected List<InlineMenuItem> assignNewMemberInlineMenuItems() {
if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_ORG_ASSIGN_MEMBER_ACTION_URI)) {
if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_ASSIGN_MEMBER_ACTION_URI)) {
return super.assignNewMemberInlineMenuItems();
}
return new ArrayList<>();
Expand Down Expand Up @@ -452,7 +452,7 @@ private void deleteMemberConfirmPerformed(QueryScope scope, QName relation, Ajax
private List<InlineMenuItem> createManagersHeaderInlineMenu() {
List<InlineMenuItem> headerMenuItems = new ArrayList<>();

if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_ORG_ADD_MEMBER_ACTION_URI)) {
if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_ADD_MEMBER_ACTION_URI)) {
headerMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.createManager"),
false, new HeaderMenuAction(this) {
private static final long serialVersionUID = 1L;
Expand All @@ -464,7 +464,7 @@ public void onClick(AjaxRequestTarget target) {
}));
}

if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_ORG_ASSIGN_MEMBER_ACTION_URI)) {
if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_ASSIGN_MEMBER_ACTION_URI)) {
headerMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.addManagers"), false,
new HeaderMenuAction(this) {
private static final long serialVersionUID = 1L;
Expand All @@ -476,7 +476,7 @@ public void onClick(AjaxRequestTarget target) {
}));
}

if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_ORG_UNASSIGN_MEMBER_ACTION_URI)) {
if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_UNASSIGN_MEMBER_ACTION_URI)) {
headerMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.removeManagersAll"),
false, new HeaderMenuAction(this) {
private static final long serialVersionUID = 1L;
Expand All @@ -488,7 +488,7 @@ public void onClick(AjaxRequestTarget target) {
}));
}

if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_ORG_RECOMPUTE_MEMBER_ACTION_URI)) {
if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_RECOMPUTE_MEMBER_ACTION_URI)) {
headerMenuItems
.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.recomputeManagersAll"),
false, new HeaderMenuAction(this) {
Expand All @@ -501,7 +501,7 @@ public void onClick(AjaxRequestTarget target) {
}));
}

if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_ORG_DELETE_MEMBER_ACTION_URI)) {
if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_DELETE_MEMBER_ACTION_URI)) {
headerMenuItems
.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.deleteManagersAll"),
false, new HeaderMenuAction(this) {
Expand Down

0 comments on commit 384b9db

Please sign in to comment.