diff --git a/packages/web-app-admin-settings/src/composables/actions/groups/useGroupActionsDelete.ts b/packages/web-app-admin-settings/src/composables/actions/groups/useGroupActionsDelete.ts
index 08601efa5db..6124309d7d9 100644
--- a/packages/web-app-admin-settings/src/composables/actions/groups/useGroupActionsDelete.ts
+++ b/packages/web-app-admin-settings/src/composables/actions/groups/useGroupActionsDelete.ts
@@ -86,7 +86,9 @@ export const useGroupActionsDelete = ({ store }: { store?: Store
}) => {
},
handler,
isEnabled: ({ resources }) => {
- return !!resources.length
+ return (
+ !!resources.length && !resources.some((r) => (r as any).groupTypes.includes('ReadOnly'))
+ )
},
componentType: 'button',
class: 'oc-groups-actions-delete-trigger'
diff --git a/packages/web-app-admin-settings/src/composables/actions/groups/useGroupActionsEdit.ts b/packages/web-app-admin-settings/src/composables/actions/groups/useGroupActionsEdit.ts
index 976cb1777a0..68144f42bab 100644
--- a/packages/web-app-admin-settings/src/composables/actions/groups/useGroupActionsEdit.ts
+++ b/packages/web-app-admin-settings/src/composables/actions/groups/useGroupActionsEdit.ts
@@ -14,7 +14,7 @@ export const useGroupActionsEdit = () => {
label: () => $gettext('Edit'),
handler: () => eventBus.publish(SideBarEventTopics.openWithPanel, 'EditPanel'),
isEnabled: ({ resources }) => {
- return resources.length > 0
+ return resources.length === 1 && !(resources[0] as any).groupTypes.includes('ReadOnly')
},
componentType: 'button',
class: 'oc-groups-actions-edit-trigger'
diff --git a/packages/web-app-admin-settings/src/views/Groups.vue b/packages/web-app-admin-settings/src/views/Groups.vue
index 69ae4b1d5b5..971e8bd0fa4 100644
--- a/packages/web-app-admin-settings/src/views/Groups.vue
+++ b/packages/web-app-admin-settings/src/views/Groups.vue
@@ -185,7 +185,9 @@ export default defineComponent({
title: this.$gettext('Edit group'),
component: EditPanel,
default: false,
- enabled: this.selectedGroups.length === 1,
+ enabled:
+ this.selectedGroups.length === 1 &&
+ !(this.selectedGroups[0] as any).groupTypes.includes('ReadOnly'),
componentAttrs: {
group: this.selectedGroups.length === 1 ? this.selectedGroups[0] : null,
onConfirm: this.editGroup