mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
RM-7028 show location and fix multiple holds
This commit is contained in:
@@ -19,6 +19,8 @@
|
|||||||
<property name="nodeService" ref="nodeService" />
|
<property name="nodeService" ref="nodeService" />
|
||||||
<property name="filePlanService" ref="filePlanService" />
|
<property name="filePlanService" ref="filePlanService" />
|
||||||
<property name="ruleService" ref="RuleService" />
|
<property name="ruleService" ref="RuleService" />
|
||||||
|
<property name="permissionService" ref="PermissionService" />
|
||||||
|
<property name="freezeService" ref="FreezeService" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="org_alfresco_module_rm_nodeRefPathExtractor" class="org.alfresco.module.org_alfresco_module_rm.audit.extractor.FilePlanNodeRefPathDataExtractor">
|
<bean id="org_alfresco_module_rm_nodeRefPathExtractor" class="org.alfresco.module.org_alfresco_module_rm.audit.extractor.FilePlanNodeRefPathDataExtractor">
|
||||||
|
@@ -39,6 +39,7 @@ import org.alfresco.service.namespace.QName;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Map;
|
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;
|
import static org.alfresco.repo.policy.Behaviour.NotificationFrequency.TRANSACTION_COMMIT;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -78,6 +79,6 @@ public class AddToHoldAuditEvent extends AuditEvent implements HoldServicePolici
|
|||||||
Map<QName, Serializable> auditProperties = HoldUtils.makePropertiesMap(holdNodeRef, nodeService);
|
Map<QName, Serializable> auditProperties = HoldUtils.makePropertiesMap(holdNodeRef, nodeService);
|
||||||
auditProperties.put(ContentModel.PROP_NAME, nodeService.getProperty(contentNodeRef, ContentModel.PROP_NAME));
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -33,11 +33,14 @@ import java.util.Objects;
|
|||||||
|
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
|
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.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
||||||
import org.alfresco.repo.audit.extractor.AbstractDataExtractor;
|
import org.alfresco.repo.audit.extractor.AbstractDataExtractor;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.repository.NodeService;
|
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.rule.RuleService;
|
||||||
|
import org.alfresco.service.cmr.security.PermissionService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An extractor that extracts the <b>cm:name</b> path from the RM root down to
|
* An extractor that extracts the <b>cm:name</b> path from the RM root down to
|
||||||
@@ -54,6 +57,8 @@ public final class FilePlanNamePathDataExtractor extends AbstractDataExtractor
|
|||||||
private NodeService nodeService;
|
private NodeService nodeService;
|
||||||
private FilePlanService filePlanService;
|
private FilePlanService filePlanService;
|
||||||
private RuleService ruleService;
|
private RuleService ruleService;
|
||||||
|
private PermissionService permissionService;
|
||||||
|
private FreezeService freezeService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to check that the node in the context is a fileplan component
|
* 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 <tt>true</tt> if the data is a NodeRef and it represents
|
* @param permissionService permission service
|
||||||
* a fileplan component
|
*/
|
||||||
|
public void setPermissionService(PermissionService permissionService)
|
||||||
|
{
|
||||||
|
this.permissionService = permissionService;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param freezeService freeze service
|
||||||
|
*/
|
||||||
|
public void setFreezeService(FreezeService freezeService)
|
||||||
|
{
|
||||||
|
this.freezeService = freezeService;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Returns <tt>true</tt> if the data is a NodeRef and it either represents
|
||||||
|
* a fileplan component or is frozen
|
||||||
*/
|
*/
|
||||||
public boolean isSupported(Serializable data)
|
public boolean isSupported(Serializable data)
|
||||||
{
|
{
|
||||||
@@ -89,7 +110,8 @@ public final class FilePlanNamePathDataExtractor extends AbstractDataExtractor
|
|||||||
{
|
{
|
||||||
return false;
|
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);
|
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
|
// Done
|
||||||
extractedData = sb.toString();
|
extractedData = sb.toString();
|
||||||
|
Reference in New Issue
Block a user