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();