diff --git a/src/pages/permissions/PermissionIdpGroups.tsx b/src/pages/permissions/PermissionIdpGroups.tsx index 73cf2cfbbe..6036c36b1e 100644 --- a/src/pages/permissions/PermissionIdpGroups.tsx +++ b/src/pages/permissions/PermissionIdpGroups.tsx @@ -94,7 +94,7 @@ const PermissionIdpGroups: FC = () => { title: idpGroup.name, }, { - content: ( + content: canEditGroup(idpGroup) ? ( + ) : ( + idpGroup.groups.length ), role: "cell", className: "u-align--right", diff --git a/src/pages/permissions/actions/DeleteIdpGroupBtn.tsx b/src/pages/permissions/actions/DeleteIdpGroupBtn.tsx index 99fbe45ac5..a7066923bd 100644 --- a/src/pages/permissions/actions/DeleteIdpGroupBtn.tsx +++ b/src/pages/permissions/actions/DeleteIdpGroupBtn.tsx @@ -3,6 +3,7 @@ import { Button, Icon } from "@canonical/react-components"; import type { IdpGroup } from "types/permissions"; import DeleteIdpGroupsModal from "./DeleteIdpGroupsModal"; import { usePortal } from "@canonical/react-components"; +import { useIdpGroupEntitlements } from "util/entitlements/idp-groups"; interface Props { idpGroup: IdpGroup; @@ -10,6 +11,7 @@ interface Props { const DeleteIdpGroupBtn: FC = ({ idpGroup }) => { const { openPortal, closePortal, isOpen, Portal } = usePortal(); + const { canDeleteGroup } = useIdpGroupEntitlements(); return ( <> @@ -20,7 +22,12 @@ const DeleteIdpGroupBtn: FC = ({ idpGroup }) => { onClick={openPortal} type="button" aria-label="Delete IDP group" - title="Delete IDP group" + title={ + canDeleteGroup() + ? "Delete IDP group" + : "You do not have permission to delete this IDP group" + } + disabled={!canDeleteGroup(idpGroup)} > diff --git a/src/pages/permissions/panels/PermissionSelector.tsx b/src/pages/permissions/panels/PermissionSelector.tsx index f89e651b31..a96848b972 100644 --- a/src/pages/permissions/panels/PermissionSelector.tsx +++ b/src/pages/permissions/panels/PermissionSelector.tsx @@ -48,7 +48,7 @@ const PermissionSelector: FC = ({ onAddPermission, disableReason }) => { } = useQuery({ queryKey: [queryKeys.permissions, resourceType], queryFn: () => fetchPermissions({ resourceType }), - enabled: !!resourceType && !!disableReason, + enabled: !!resourceType && !disableReason, }); const { data: images = [] } = useImagesInAllProjects();