Skip to content

Commit

Permalink
removed isAddNewObjectMenuItemAuthorized check during menu items crea…
Browse files Browse the repository at this point in the history
…ting, authorization check is already implemented with #{page}Details authorization
  • Loading branch information
Kateryna Honchar committed Sep 7, 2022
1 parent 5405704 commit 14dfb64
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -484,11 +484,9 @@ private void createFocusPageNewEditMenu(MainMenuItem mainMenuItem, String newKey
final Class<? extends PageBase> newPageClass) {

boolean addActive = classMatches(newPageClass) && !isEditForAdminObjectDetails() && !isEditForResourceWizzard();
if (isAddNewObjectMenuItemAuthorized(newPageClass)) { //mid-7145
MenuItem newMenu = new MenuItem(newKey,
GuiStyleConstants.CLASS_PLUS_CIRCLE, newPageClass, null, addActive);
mainMenuItem.addMenuItem(newMenu);
}
MenuItem newMenu = new MenuItem(newKey,
GuiStyleConstants.CLASS_PLUS_CIRCLE, newPageClass, null, addActive);
mainMenuItem.addMenuItem(newMenu);

boolean editActive = classMatches(newPageClass) && (isEditForAdminObjectDetails() || isEditForResourceWizzard());
if (editActive) {
Expand All @@ -497,20 +495,6 @@ private void createFocusPageNewEditMenu(MainMenuItem mainMenuItem, String newKey
}
}

private <AH extends AssignmentHolderType> boolean isAddNewObjectMenuItemAuthorized(Class<? extends PageBase> newPageClass) {
if (PageAssignmentHolderDetails.class.isAssignableFrom(newPageClass)) {
try {
PageAssignmentHolderDetails<AH, ?> page = (PageAssignmentHolderDetails<AH, ?>) newPageClass.getConstructor().newInstance();
PrismObject<AH> object = getPrismContext().createObject(page.getType());
return getPageBase().isAuthorized(ModelAuthorizationAction.ADD.getUrl(),
AuthorizationPhaseType.REQUEST, object, null, null, null);
} catch (Exception ex) {
LoggingUtils.logUnexpectedException(LOGGER, "Couldn't solve authorization for New object menu item", ex);
}
}
return true;
}

private boolean classMatches(Class<? extends PageBase> page) {
return getPageBase().getClass().equals(page);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,6 @@
})
public class PageResource extends PageAssignmentHolderDetails<ResourceType, ResourceDetailsModel> {

public PageResource() {
super();
}

public PageResource(PageParameters pageParameters) {
super(pageParameters);
}
Expand Down

0 comments on commit 14dfb64

Please sign in to comment.