Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
116 changes: 63 additions & 53 deletions js/apps/admin-ui/src/realm-settings/DefaultGroupsTab.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import { useRealm } from "../context/realm-context/RealmContext";
import { toUserFederation } from "../user-federation/routes/UserFederation";
import { useFetch } from "../utils/useFetch";
import useToggle from "../utils/useToggle";
import { useAccess } from "../context/access/Access";

export const DefaultsGroupsTab = () => {
const { adminClient } = useAdminClient();
Expand All @@ -50,6 +51,9 @@ export const DefaultsGroupsTab = () => {
const { addAlert, addError } = useAlerts();
const { enabled } = useHelp();

const { hasAccess } = useAccess();
const canAddOrRemoveGroups = hasAccess("view-users", "manage-realm");

useFetch(
() => adminClient.realms.getDefaultGroups({ realm }),
(groups) => {
Expand Down Expand Up @@ -160,59 +164,65 @@ export const DefaultsGroupsTab = () => {
ariaLabelKey="defaultGroups"
searchPlaceholderKey="searchForGroups"
toolbarItem={
<>
<ToolbarItem>
<Button
data-testid="openCreateGroupModal"
variant="primary"
onClick={toggleGroupPicker}
>
{t("addGroups")}
</Button>
</ToolbarItem>
<ToolbarItem>
<Dropdown
onOpenChange={toggleKebab}
toggle={(ref) => (
<MenuToggle
ref={ref}
isExpanded={isKebabOpen}
variant="plain"
onClick={toggleKebab}
isDisabled={selectedRows!.length === 0}
>
<EllipsisVIcon />
</MenuToggle>
)}
isOpen={isKebabOpen}
shouldFocusToggleOnSelect
>
<DropdownList>
<DropdownItem
key="action"
component="button"
onClick={() => {
toggleRemoveDialog();
toggleKebab();
}}
>
{t("remove")}
</DropdownItem>
</DropdownList>
</Dropdown>
</ToolbarItem>
</>
canAddOrRemoveGroups && (
<>
<ToolbarItem>
<Button
data-testid="openCreateGroupModal"
variant="primary"
onClick={toggleGroupPicker}
>
{t("addGroups")}
</Button>
</ToolbarItem>
<ToolbarItem>
<Dropdown
onOpenChange={toggleKebab}
toggle={(ref) => (
<MenuToggle
ref={ref}
isExpanded={isKebabOpen}
variant="plain"
onClick={toggleKebab}
isDisabled={selectedRows!.length === 0}
>
<EllipsisVIcon />
</MenuToggle>
)}
isOpen={isKebabOpen}
shouldFocusToggleOnSelect
>
<DropdownList>
<DropdownItem
key="action"
component="button"
onClick={() => {
toggleRemoveDialog();
toggleKebab();
}}
>
{t("remove")}
</DropdownItem>
</DropdownList>
</Dropdown>
</ToolbarItem>
</>
)
}
actions={
canAddOrRemoveGroups
? [
{
title: t("remove"),
onRowClick: (group) => {
setSelectedRows([group]);
toggleRemoveDialog();
return Promise.resolve(false);
},
} as Action<GroupRepresentation>,
]
: []
}
actions={[
{
title: t("remove"),
onRowClick: (group) => {
setSelectedRows([group]);
toggleRemoveDialog();
return Promise.resolve(false);
},
} as Action<GroupRepresentation>,
]}
columns={[
{
name: "name",
Expand All @@ -239,7 +249,7 @@ export const DefaultsGroupsTab = () => {
Add groups...
</Trans>
}
primaryActionText={t("addGroups")}
primaryActionText={canAddOrRemoveGroups ? t("addGroups") : ""}
onPrimaryAction={toggleGroupPicker}
/>
}
Expand Down
18 changes: 11 additions & 7 deletions js/apps/admin-ui/src/realm-settings/RealmSettingsTabs.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,8 @@ export const RealmSettingsTabs = () => {
const { hasAccess, hasSomeAccess } = useAccess();
const canViewOrManageEvents =
hasAccess("view-realm") && hasSomeAccess("view-events", "manage-events");
const canViewUserRegistration =
hasAccess("view-realm") && hasSomeAccess("view-clients", "manage-clients");

const useClientPoliciesTab = (tab: ClientPoliciesTab) =>
useRoutableTab(
Expand Down Expand Up @@ -453,13 +455,15 @@ export const RealmSettingsTabs = () => {
>
<UserProfileTab setTableData={setTableData as any} />
</Tab>
<Tab
title={<TabTitleText>{t("userRegistration")}</TabTitleText>}
data-testid="rs-userRegistration-tab"
{...userRegistrationTab}
>
<UserRegistration />
</Tab>
{canViewUserRegistration && (
<Tab
title={<TabTitleText>{t("userRegistration")}</TabTitleText>}
data-testid="rs-userRegistration-tab"
{...userRegistrationTab}
>
<UserRegistration />
</Tab>
)}
</RoutableTabs>
</PageSection>
</>
Expand Down