diff --git a/apps/web/src/app/vault/components/vault-items/vault-items.component.ts b/apps/web/src/app/vault/components/vault-items/vault-items.component.ts index 9d94fb044b5..3793db6f76a 100644 --- a/apps/web/src/app/vault/components/vault-items/vault-items.component.ts +++ b/apps/web/src/app/vault/components/vault-items/vault-items.component.ts @@ -382,19 +382,22 @@ export class VaultItemsComponent { } if (this.selection.selected.length === 0) { - return true; + return false; } const hasPersonalItems = this.hasPersonalItems(); const uniqueCipherOrgIds = this.getUniqueOrganizationIds(); + const hasEditableCollections = this.allCollections.some((collection) => { + return !collection.readOnly; + }); // Return false if items are from different organizations if (uniqueCipherOrgIds.size > 1) { return false; } - // If all items are personal, return based on personal items - if (uniqueCipherOrgIds.size === 0) { + // If all selected items are personal, return based on personal items + if (uniqueCipherOrgIds.size === 0 && hasEditableCollections) { return hasPersonalItems; } @@ -406,7 +409,11 @@ export class VaultItemsComponent { const collectionNotSelected = this.selection.selected.filter((item) => item.collection).length === 0; - return (canEditOrManageAllCiphers || this.allCiphersHaveEditAccess()) && collectionNotSelected; + return ( + (canEditOrManageAllCiphers || this.allCiphersHaveEditAccess()) && + collectionNotSelected && + hasEditableCollections + ); } /**