massive refactoring of UserManagementPanel in AdminConsole;

not yet working entirely; still strange artifacts in Admin UI, and
permission checks for showing panels seems broken

Change-Id: I7127402fa5bc6f57f2301b297baa94487e04505d
This commit is contained in:
Axel Uhl
2018-02-07 18:17:06 +01:00
parent 16a7c2fb5a
commit 71f6ae3035
56 changed files with 1121 additions and 780 deletions
@@ -26,6 +26,7 @@ import com.sap.sse.gwt.client.panels.AbstractTabLayoutPanel;
import com.sap.sse.gwt.client.panels.HorizontalTabLayoutPanel;
import com.sap.sse.gwt.client.panels.VerticalTabLayoutPanel;
import com.sap.sse.security.shared.Permission;
import com.sap.sse.security.shared.PermissionChecker;
import com.sap.sse.security.shared.WildcardPermission;
import com.sap.sse.security.ui.client.UserService;
import com.sap.sse.security.ui.client.UserStatusEventHandler;
@@ -442,11 +443,8 @@ public class AdminConsolePanel extends HeaderPanel implements HandleTabSelectabl
private boolean userHasPermissionsToSeeWidget(UserDTO user, Widget widget) {
for (Permission requiredStringPermission : permissionsAnyOfWhichIsRequiredToSeeWidget.get(widget)) {
WildcardPermission requiredPermission = requiredStringPermission.getPermission();
// TODO use PermissionChecker instead of enumerating all permissions
for (WildcardPermission userPermission : user.getAllPermissions()) {
if (requiredPermission.implies(userPermission) || userPermission.implies(requiredPermission)) {
return true;
}
if (PermissionChecker.isPermitted(requiredPermission, user, user.getUserGroups(), /* ownership */ null, /* acl */ null)) {
return true;
}
}
return false;
@@ -1,11 +1,11 @@
package com.sap.sse.gwt.adminconsole;
import com.google.gwt.user.cellview.client.CellTable;
import com.sap.sse.security.ui.client.SecurityTableResources;
import com.sap.sse.security.ui.client.SecurityTableStyle;
import com.sap.sse.gwt.client.celltable.CellTableWithCheckboxResources;
import com.sap.sse.gwt.client.celltable.CellTableWithCheckboxStyle;
public interface AdminConsoleTableResources extends SecurityTableResources, CellTable.Resources {
interface AdminConsoleTableStyle extends SecurityTableStyle, CellTable.Style {
public interface AdminConsoleTableResources extends CellTableWithCheckboxResources, CellTable.Resources {
interface AdminConsoleTableStyle extends CellTableWithCheckboxStyle, CellTable.Style {
/**
* Applied to header cells of race columns
*/