Skip to content

Commit

Permalink
Fixed group names in user dropdown
Browse files Browse the repository at this point in the history
  • Loading branch information
rmathis committed Oct 26, 2021
1 parent 006b7fb commit d94dd60
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 5 deletions.
7 changes: 4 additions & 3 deletions ui/src/app/core/components/Header.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import Translate from '../../i18n/components/translate';
import { useTranslator } from '../../i18n/hooks';

import { brand } from '../../app.brand';
import { useCurrentUser, useCurrentUserLoading, useIsAdmin } from '../user/UserContext';
import { useCurrentUser, useCurrentUserLoading, useIsAdmin, useUserGroupNames } from '../user/UserContext';
import { BASE_PATH } from '../../App.constant';

export function Header () {
Expand All @@ -22,7 +22,8 @@ export function Header () {

const isAdmin = useIsAdmin();

const { username, groupId } = useCurrentUser();
const { username } = useCurrentUser();
const name = useUserGroupNames();
const loading = useCurrentUserLoading();

return (
Expand Down Expand Up @@ -97,7 +98,7 @@ export function Header () {
</Dropdown.Toggle>
<Dropdown.Menu alignRight={true}>
<Dropdown.Header>Groups</Dropdown.Header>
<Dropdown.ItemText id="advanced-nav-dropdown-groups">{groupId}</Dropdown.ItemText>
<Dropdown.ItemText id="advanced-nav-dropdown-groups">{name}</Dropdown.ItemText>
<div class="dropdown-divider"></div>
<Dropdown.Item href={`/${BASE_PATH}logout`} target="_self" className="text-primary" aria-label={translator('action.logout')}
id="user-nav-dropdown-logout">
Expand Down
15 changes: 13 additions & 2 deletions ui/src/app/core/user/UserContext.js
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,17 @@ function useCanEnable() {

function useUserGroup() {
const user = useCurrentUser();
return user?.userGroups[0];
return (user?.userGroups && user.userGroups.length > 0) ? user.userGroups[0] : null;
}

function useUserGroups() {
const user = useCurrentUser();
return (user?.userGroups && Array.isArray(user.userGroups)) ? user.userGroups : [];
}

function useUserGroupNames() {
const groups = useUserGroups();
return groups.map(g => g.name).join(', ');
}

function useUserGroupRegexValidator () {
Expand All @@ -91,5 +101,6 @@ export {
useCanEnable,
useCurrentUserLoading,
useUserGroupRegexValidator,
useUserGroup
useUserGroup,
useUserGroupNames
};

0 comments on commit d94dd60

Please sign in to comment.