diff --git a/js/apps/admin-ui/src/realm-settings/DefaultGroupsTab.tsx b/js/apps/admin-ui/src/realm-settings/DefaultGroupsTab.tsx
index 71071f02f86..c1f9b0da11d 100644
--- a/js/apps/admin-ui/src/realm-settings/DefaultGroupsTab.tsx
+++ b/js/apps/admin-ui/src/realm-settings/DefaultGroupsTab.tsx
@@ -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();
@@ -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) => {
@@ -160,59 +164,65 @@ export const DefaultsGroupsTab = () => {
ariaLabelKey="defaultGroups"
searchPlaceholderKey="searchForGroups"
toolbarItem={
- <>
-
-
-
-
- (
-
-
-
- )}
- isOpen={isKebabOpen}
- shouldFocusToggleOnSelect
- >
-
- {
- toggleRemoveDialog();
- toggleKebab();
- }}
- >
- {t("remove")}
-
-
-
-
- >
+ canAddOrRemoveGroups && (
+ <>
+
+
+
+
+ (
+
+
+
+ )}
+ isOpen={isKebabOpen}
+ shouldFocusToggleOnSelect
+ >
+
+ {
+ toggleRemoveDialog();
+ toggleKebab();
+ }}
+ >
+ {t("remove")}
+
+
+
+
+ >
+ )
+ }
+ actions={
+ canAddOrRemoveGroups
+ ? [
+ {
+ title: t("remove"),
+ onRowClick: (group) => {
+ setSelectedRows([group]);
+ toggleRemoveDialog();
+ return Promise.resolve(false);
+ },
+ } as Action,
+ ]
+ : []
}
- actions={[
- {
- title: t("remove"),
- onRowClick: (group) => {
- setSelectedRows([group]);
- toggleRemoveDialog();
- return Promise.resolve(false);
- },
- } as Action,
- ]}
columns={[
{
name: "name",
@@ -239,7 +249,7 @@ export const DefaultsGroupsTab = () => {
Add groups...
}
- primaryActionText={t("addGroups")}
+ primaryActionText={canAddOrRemoveGroups ? t("addGroups") : ""}
onPrimaryAction={toggleGroupPicker}
/>
}
diff --git a/js/apps/admin-ui/src/realm-settings/RealmSettingsTabs.tsx b/js/apps/admin-ui/src/realm-settings/RealmSettingsTabs.tsx
index 5e630de9563..db0bfa98e07 100644
--- a/js/apps/admin-ui/src/realm-settings/RealmSettingsTabs.tsx
+++ b/js/apps/admin-ui/src/realm-settings/RealmSettingsTabs.tsx
@@ -296,6 +296,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(
@@ -458,13 +460,15 @@ export const RealmSettingsTabs = () => {
>
- {t("userRegistration")}}
- data-testid="rs-userRegistration-tab"
- {...userRegistrationTab}
- >
-
-
+ {canViewUserRegistration && (
+ {t("userRegistration")}}
+ data-testid="rs-userRegistration-tab"
+ {...userRegistrationTab}
+ >
+
+
+ )}
>