Document Recycle Bin: Remove non-relevant entity bulk actions (closes #20677) (#20685)

Add 'not trashed' condition to document bulk actions

Introduces the UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS to various document-related bulk action manifests, ensuring actions like duplicate, move, publish, unpublish, and trash are only available for entities that are not already in the recycle bin.
This commit is contained in:
Mads Rasmussen
2025-10-30 13:41:20 +01:00
committed by GitHub
parent 5032b25e3c
commit b8cb198a1a
6 changed files with 24 additions and 0 deletions

View File

@@ -1,4 +1,5 @@
import { UMB_COLLECTION_ALIAS_CONDITION } from '@umbraco-cms/backoffice/collection';
import { UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS } from '@umbraco-cms/backoffice/recycle-bin';
export const manifests: Array<UmbExtensionManifest> = [
{
@@ -16,6 +17,9 @@ export const manifests: Array<UmbExtensionManifest> = [
alias: UMB_COLLECTION_ALIAS_CONDITION,
match: 'Umb.Collection.Document',
},
{
alias: UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS,
},
],
},
];

View File

@@ -4,6 +4,7 @@ import { UMB_DOCUMENT_TREE_ALIAS } from '../../tree/manifests.js';
import { UMB_USER_PERMISSION_DOCUMENT_DUPLICATE } from '../../user-permissions/document/constants.js';
import { UMB_BULK_DUPLICATE_DOCUMENT_REPOSITORY_ALIAS } from './repository/constants.js';
import { manifests as repositoryManifests } from './repository/manifests.js';
import { UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS } from '@umbraco-cms/backoffice/recycle-bin';
import { UMB_COLLECTION_ALIAS_CONDITION } from '@umbraco-cms/backoffice/collection';
export const manifests: Array<UmbExtensionManifest> = [
@@ -27,6 +28,9 @@ export const manifests: Array<UmbExtensionManifest> = [
alias: 'Umb.Condition.UserPermission.Document',
allOf: [UMB_USER_PERMISSION_DOCUMENT_DUPLICATE],
},
{
alias: UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS,
},
],
},
...repositoryManifests,

View File

@@ -1,3 +1,4 @@
import { UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS } from '@umbraco-cms/backoffice/recycle-bin';
import { UMB_DOCUMENT_COLLECTION_ALIAS } from '../../collection/constants.js';
import { UMB_DOCUMENT_ENTITY_TYPE } from '../../entity.js';
import { UMB_DOCUMENT_TREE_ALIAS } from '../../tree/manifests.js';
@@ -27,6 +28,9 @@ export const manifests: Array<UmbExtensionManifest> = [
alias: 'Umb.Condition.UserPermission.Document',
allOf: [UMB_USER_PERMISSION_DOCUMENT_MOVE],
},
{
alias: UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS,
},
],
},
...repositoryManifests,

View File

@@ -2,6 +2,7 @@ import { UMB_DOCUMENT_ENTITY_TYPE } from '../../../entity.js';
import { UMB_DOCUMENT_COLLECTION_ALIAS } from '../../../collection/constants.js';
import { UMB_USER_PERMISSION_DOCUMENT_PUBLISH } from '../../../user-permissions/document/constants.js';
import { UMB_COLLECTION_ALIAS_CONDITION } from '@umbraco-cms/backoffice/collection';
import { UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS } from '@umbraco-cms/backoffice/recycle-bin';
export const manifests: Array<UmbExtensionManifest> = [
{
@@ -25,6 +26,9 @@ export const manifests: Array<UmbExtensionManifest> = [
alias: 'Umb.Condition.UserPermission.Document',
allOf: [UMB_USER_PERMISSION_DOCUMENT_PUBLISH],
},
{
alias: UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS,
},
],
},
];

View File

@@ -2,6 +2,7 @@ import { UMB_DOCUMENT_ENTITY_TYPE } from '../../../entity.js';
import { UMB_DOCUMENT_COLLECTION_ALIAS } from '../../../collection/constants.js';
import { UMB_USER_PERMISSION_DOCUMENT_UNPUBLISH } from '../../../user-permissions/document/constants.js';
import { UMB_COLLECTION_ALIAS_CONDITION } from '@umbraco-cms/backoffice/collection';
import { UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS } from '@umbraco-cms/backoffice/recycle-bin';
export const manifests: Array<UmbExtensionManifest> = [
{
@@ -25,6 +26,9 @@ export const manifests: Array<UmbExtensionManifest> = [
alias: 'Umb.Condition.UserPermission.Document',
allOf: [UMB_USER_PERMISSION_DOCUMENT_UNPUBLISH],
},
{
alias: UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS,
},
],
},
];

View File

@@ -6,6 +6,7 @@ import { UMB_DOCUMENT_REFERENCE_REPOSITORY_ALIAS } from '../../../reference/cons
import { UMB_DOCUMENT_COLLECTION_ALIAS } from '../../../collection/constants.js';
import { UMB_COLLECTION_ALIAS_CONDITION } from '@umbraco-cms/backoffice/collection';
import { UMB_ENTITY_BULK_ACTION_TRASH_WITH_RELATION_KIND } from '@umbraco-cms/backoffice/relations';
import { UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS } from '@umbraco-cms/backoffice/recycle-bin';
export const manifests: Array<UmbExtensionManifest> = [
{
@@ -29,6 +30,9 @@ export const manifests: Array<UmbExtensionManifest> = [
alias: 'Umb.Condition.UserPermission.Document',
allOf: [UMB_USER_PERMISSION_DOCUMENT_DELETE],
},
{
alias: UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS,
},
],
},
];