From 7dcc0b76eddea67e56f4db4fb12ace6413604977 Mon Sep 17 00:00:00 2001 From: Mason Hu Date: Mon, 17 Feb 2025 21:14:14 +0200 Subject: [PATCH] feat: disable edit IDP group button for restricted permissions Signed-off-by: Mason Hu --- src/pages/permissions/PermissionIdpGroups.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/pages/permissions/PermissionIdpGroups.tsx b/src/pages/permissions/PermissionIdpGroups.tsx index 55f1919fe5..73cf2cfbbe 100644 --- a/src/pages/permissions/PermissionIdpGroups.tsx +++ b/src/pages/permissions/PermissionIdpGroups.tsx @@ -29,6 +29,7 @@ import { useSettings } from "context/useSettings"; import { Link } from "react-router-dom"; import { useIdpGroups } from "context/useIdpGroups"; import { useServerEntitlements } from "util/entitlements/server"; +import { useIdpGroupEntitlements } from "util/entitlements/idp-groups"; const PermissionIdpGroups: FC = () => { const notify = useNotify(); @@ -40,6 +41,7 @@ const PermissionIdpGroups: FC = () => { const { data: settings } = useSettings(); const hasCustomClaim = settings?.config?.["oidc.groups.claim"]; const { canCreateIdpGroups } = useServerEntitlements(); + const { canEditGroup } = useIdpGroupEntitlements(); if (error) { notify.failure("Loading provider groups failed", error); @@ -120,7 +122,12 @@ const PermissionIdpGroups: FC = () => { onClick={() => panelParams.openEditIdpGroup(idpGroup.name)} type="button" aria-label="Edit IDP group details" - title="Edit details" + title={ + canEditGroup(idpGroup) + ? "Edit details" + : "You do not have permission to edit this IDP group" + } + disabled={!canEditGroup(idpGroup)} > ,