diff --git a/source/java/org/alfresco/repo/node/archive/ArchiveAndRestoreTest.java b/source/java/org/alfresco/repo/node/archive/ArchiveAndRestoreTest.java index 4860b114b6..8741409edd 100644 --- a/source/java/org/alfresco/repo/node/archive/ArchiveAndRestoreTest.java +++ b/source/java/org/alfresco/repo/node/archive/ArchiveAndRestoreTest.java @@ -761,7 +761,7 @@ public class ArchiveAndRestoreTest extends TestCase /** * ALF-7889 */ - public synchronized void DISABLED_testAR7889ArchiveAndRestoreMustNotModifyAuditable() throws Exception + public synchronized void testAR7889ArchiveAndRestoreMustNotModifyAuditable() throws Exception { AuthenticationUtil.setFullyAuthenticatedUser(USER_A); nodeService.addAspect(b, ContentModel.ASPECT_AUDITABLE, null); diff --git a/source/java/org/alfresco/repo/node/db/DbNodeServiceImpl.java b/source/java/org/alfresco/repo/node/db/DbNodeServiceImpl.java index d553f0c2de..27f130a545 100644 --- a/source/java/org/alfresco/repo/node/db/DbNodeServiceImpl.java +++ b/source/java/org/alfresco/repo/node/db/DbNodeServiceImpl.java @@ -2543,6 +2543,13 @@ public class DbNodeServiceImpl extends AbstractNodeServiceImpl } // The dictionary says propagate. Now get the parent node and prompt the touch. NodeRef parentNodeRef = assocRef.getParentRef(); + + // Do not propagate if the cm:auditable behaviour is off + if (!policyBehaviourFilter.isEnabled(parentNodeRef, ContentModel.ASPECT_AUDITABLE)) + { + return; + } + Pair parentNodePair = getNodePairNotNull(parentNodeRef); Long parentNodeId = parentNodePair.getFirst(); // If we have already modified a particular parent node in the current txn,