diff --git a/server-plugins/controlled-documents-resources/src/index.ts b/server-plugins/controlled-documents-resources/src/index.ts index eb72c5d608..0677cacaf0 100644 --- a/server-plugins/controlled-documents-resources/src/index.ts +++ b/server-plugins/controlled-documents-resources/src/index.ts @@ -291,14 +291,17 @@ export async function OnDocEnteredNonActionableState ( const result: Tx[] = [] for (const tx of txes) { const requests = await control.findAll(control.ctx, documents.class.DocumentRequest, { - attachedTo: tx.objectId, - status: RequestStatus.Active + attachedTo: tx.objectId }) - const cancelTxes = requests.map((request) => - control.txFactory.createTxUpdateDoc(request._class, request.space, request._id, { - status: RequestStatus.Cancelled + const cancelTxes = requests + .filter((request) => { + return request.status === RequestStatus.Active || tx.operations.state === DocumentState.Deleted }) - ) + .map((request) => + control.txFactory.createTxUpdateDoc(request._class, request.space, request._id, { + status: RequestStatus.Cancelled + }) + ) await control.apply(control.ctx, [ ...cancelTxes, control.txFactory.createTxUpdateDoc(tx.objectClass, tx.objectSpace, tx.objectId, {