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="filePlanService" ref="filePlanService" />
|
||||
<property name="ruleService" ref="RuleService" />
|
||||
<property name="permissionService" ref="PermissionService" />
|
||||
<property name="freezeService" ref="FreezeService" />
|
||||
</bean>
|
||||
|
||||
<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.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<QName, Serializable> 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);
|
||||
}
|
||||
}
|
||||
|
@@ -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 <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 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 <tt>true</tt> 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 <tt>true</tt> 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();
|
||||
|
Reference in New Issue
Block a user