diff --git a/portal-ui/src/screens/Console/Users/UserDetails.tsx b/portal-ui/src/screens/Console/Users/UserDetails.tsx index 643bd6455..d18bf3134 100644 --- a/portal-ui/src/screens/Console/Users/UserDetails.tsx +++ b/portal-ui/src/screens/Console/Users/UserDetails.tsx @@ -52,9 +52,16 @@ import VerticalTabs from "../Common/VerticalTabs/VerticalTabs"; import FormSwitchWrapper from "../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import BackLink from "../../../common/BackLink"; import RBIconButton from "../Buckets/BucketDetails/SummaryItems/RBIconButton"; -import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; import { decodeURLString, encodeURLString } from "../../../common/utils"; import { setModalErrorSnackMessage } from "../../../systemSlice"; +import { + CONSOLE_UI_RESOURCE, + IAM_PAGES, + IAM_SCOPES, +} from "../../../common/SecureComponent/permissions"; +import { + hasPermission, +} from "../../../common/SecureComponent"; const styles = (theme: Theme) => createStyles({ @@ -111,6 +118,10 @@ const UserDetails = ({ classes, match }: IUserDetailsProps) => { setDeleteOpen(true); }; + const viewGroup = hasPermission(CONSOLE_UI_RESOURCE, [ + IAM_SCOPES.ADMIN_GET_GROUP, + ]); + const getUserInformation = useCallback(() => { if (userName === "") { return null; @@ -177,6 +188,18 @@ const UserDetails = ({ classes, match }: IUserDetailsProps) => { } }; + const groupViewAction = (group: any) => { + history.push(`${IAM_PAGES.GROUPS}/${encodeURLString(group.group)}`); + }; + + const groupTableActions = [ + { + type: "view", + onClick: groupViewAction, + disableButtonFunction: () => !viewGroup, + }, + ]; + return ( {