diff --git a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-audit-context.xml b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-audit-context.xml index aec074cf27..a2860e03de 100644 --- a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-audit-context.xml +++ b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-audit-context.xml @@ -19,6 +19,8 @@ + + diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/AddToHoldAuditEvent.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/AddToHoldAuditEvent.java index a0c073bda8..cdb3fd4607 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/AddToHoldAuditEvent.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/AddToHoldAuditEvent.java @@ -39,6 +39,7 @@ import org.alfresco.service.namespace.QName; import java.io.Serializable; import java.util.Map; +import static org.alfresco.module.org_alfresco_module_rm.audit.event.HoldUtils.HOLD_NAME; import static org.alfresco.repo.policy.Behaviour.NotificationFrequency.TRANSACTION_COMMIT; /** @@ -78,6 +79,6 @@ public class AddToHoldAuditEvent extends AuditEvent implements HoldServicePolici Map auditProperties = HoldUtils.makePropertiesMap(holdNodeRef, nodeService); auditProperties.put(ContentModel.PROP_NAME, nodeService.getProperty(contentNodeRef, ContentModel.PROP_NAME)); - recordsManagementAuditService.auditEvent(contentNodeRef, getName(), null, auditProperties); + recordsManagementAuditService.auditEvent(contentNodeRef, getName(), null, auditProperties, true, false); } } diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/audit/extractor/FilePlanNamePathDataExtractor.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/audit/extractor/FilePlanNamePathDataExtractor.java index 67e6bd68fc..00c144cc6e 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/audit/extractor/FilePlanNamePathDataExtractor.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/audit/extractor/FilePlanNamePathDataExtractor.java @@ -33,11 +33,14 @@ import java.util.Objects; import org.alfresco.model.ContentModel; import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService; +import org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService; import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel; import org.alfresco.repo.audit.extractor.AbstractDataExtractor; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; +import org.alfresco.service.cmr.repository.Path; import org.alfresco.service.cmr.rule.RuleService; +import org.alfresco.service.cmr.security.PermissionService; /** * An extractor that extracts the cm:name path from the RM root down to @@ -54,6 +57,8 @@ public final class FilePlanNamePathDataExtractor extends AbstractDataExtractor private NodeService nodeService; private FilePlanService filePlanService; private RuleService ruleService; + private PermissionService permissionService; + private FreezeService freezeService; /** * Used to check that the node in the context is a fileplan component @@ -80,8 +85,24 @@ public final class FilePlanNamePathDataExtractor extends AbstractDataExtractor } /** - * @return Returns true if the data is a NodeRef and it represents - * a fileplan component + * @param permissionService permission service + */ + public void setPermissionService(PermissionService permissionService) + { + this.permissionService = permissionService; + } + + /** + * @param freezeService freeze service + */ + public void setFreezeService(FreezeService freezeService) + { + this.freezeService = freezeService; + } + + /** + * @return Returns true if the data is a NodeRef and it either represents + * a fileplan component or is frozen */ public boolean isSupported(Serializable data) { @@ -89,7 +110,8 @@ public final class FilePlanNamePathDataExtractor extends AbstractDataExtractor { return false; } - return nodeService.hasAspect((NodeRef)data, RecordsManagementModel.ASPECT_FILE_PLAN_COMPONENT); + return nodeService.hasAspect((NodeRef)data, RecordsManagementModel.ASPECT_FILE_PLAN_COMPONENT) || + freezeService.isFrozen((NodeRef) data); } /** @@ -116,6 +138,15 @@ public final class FilePlanNamePathDataExtractor extends AbstractDataExtractor sb.append("/").append(name); } } + else if (freezeService.isFrozen(nodeRef)) + { + // Get path from the DM root + Path nodeRefPath = nodeService.getPath(nodeRef); + sb.append(nodeRefPath.toDisplayPath(nodeService, permissionService)); + // Get node name + String name = (String)nodeService.getProperty(nodeRef, ContentModel.PROP_NAME); + sb.append("/").append(name); + } // Done extractedData = sb.toString();