RM-1099 (Refactor Transfer and Accession reports)

* Extended the report template/action for the case if the transfer node is a record

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@58510 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Tuna Aksoy
2013-12-02 23:12:55 +00:00
parent 5a03a9fe1e
commit cbc2f69012
4 changed files with 39 additions and 31 deletions

View File

@@ -49,7 +49,7 @@
<h2>${message("file.report.transferred.items")}</h2>
<div class="transferred-item">
<#list properties.transferNodes as transferNode>
<#if transferNode.folder>
<#if transferNode.properties["isFolder"]>
<span class="nodeName">
${transferNode.properties["name"]?html}
</span>
@@ -58,7 +58,18 @@
<#-- FIXME: Records -->
</div>
<#else>
<#-- FIXME: Records -->
<div class="record">
<span class="nodeName">
${transferNode.properties["name"]?html}
</span>
(${message("file.report.unique.record.identifier")}: ${transferNode.properties["identifier"]?html})
<#if transferNode.properties["isDeclared"]>
${message("file.report.declared.by")}
${transferNode.properties["declaredBy"]?html}
${message("file.report.declared.on")}
${transferNode.properties["declaredOn"]?string(message("file.report.date.format"))?html}
</#if>
</div>
</#if>
</#list>
</div>

View File

@@ -1,6 +1,8 @@
# File Report Template
file.report.acession.report=Accession Report
file.report.date.format=EEE MMM dd HH:mm:ss zzz yyyy
file.report.declared.by=declared by
file.report.declared.on=on
file.report.destroyed=Destroyed
file.report.destroyed.records=Destroyed Records
file.report.destruction.report=Destruction Report
@@ -15,3 +17,4 @@ file.report.performed.by=Performed By
file.report.record=Record
file.report.record.folder=Record Folder
file.report.unique.folder.identifier=Unique Folder Identifier
file.report.unique.record.identifier=Unique Record Identifier

View File

@@ -34,21 +34,16 @@ public class TransferNode
/** Transfer node reference */
private NodeRef nodeRef;
/** Transfer node type */
private boolean folder;
/** Transfer node properties */
private Map<String, Serializable> properties;
/**
* @param nodeRef
* @param folder
* @param properties
*/
public TransferNode(NodeRef nodeRef, boolean folder, Map<String, Serializable> properties)
public TransferNode(NodeRef nodeRef, Map<String, Serializable> properties)
{
this.nodeRef = nodeRef;
this.folder = folder;
this.properties = properties;
}
@@ -60,14 +55,6 @@ public class TransferNode
return this.nodeRef;
}
/**
* @return transfer node type
*/
public boolean isFolder()
{
return this.folder;
}
/**
* @return transfer node properties
*/

View File

@@ -20,6 +20,7 @@ package org.alfresco.module.org_alfresco_module_rm.report.action;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -71,9 +72,8 @@ public class TransferReportAction extends BaseReportAction
for (ChildAssociationRef assoc : assocs)
{
NodeRef childRef = assoc.getChildRef();
boolean isFolder = dictionaryService.isSubClass(nodeService.getType(childRef), ContentModel.TYPE_FOLDER);
Map<String, Serializable> properties = getTransferNodeProperties(childRef, isFolder);
transferNodes.add(new TransferNode(childRef, isFolder, properties));
Map<String, Serializable> properties = getTransferNodeProperties(childRef);
transferNodes.add(new TransferNode(childRef, properties));
}
return transferNodes;
}
@@ -82,22 +82,29 @@ public class TransferReportAction extends BaseReportAction
* Helper method to get the properties of a transfer node
*
* @param childRef Node reference
* @param isFolder Type of the transfer node
* @return Transfer node properties
*/
private Map<String, Serializable> getTransferNodeProperties(NodeRef childRef, boolean isFolder)
{
Map<String, Serializable> transferNodeProperties = new HashMap<String, Serializable>(2);
if (isFolder)
private Map<String, Serializable> getTransferNodeProperties(NodeRef childRef)
{
Map<String, Serializable> transferNodeProperties = new HashMap<String, Serializable>(3);
Map<QName, Serializable> properties = nodeService.getProperties(childRef);
transferNodeProperties.put("name", properties.get(ContentModel.PROP_NAME));
transferNodeProperties.put("identifier", properties.get(RecordsManagementModel.PROP_IDENTIFIER));
}
else
boolean isFolder = dictionaryService.isSubClass(nodeService.getType(childRef), ContentModel.TYPE_FOLDER);
transferNodeProperties.put("isFolder", isFolder);
if (isFolder == false)
{
// FIXME: Record
boolean isDeclared = nodeService.hasAspect(childRef, RecordsManagementModel.ASPECT_DECLARED_RECORD);
String declaredBy = (String) properties.get(RecordsManagementModel.PROP_DECLARED_BY);
Date declaredOn = (Date) properties.get(RecordsManagementModel.PROP_DECLARED_AT);
transferNodeProperties.put("isDeclared", isDeclared);
transferNodeProperties.put("declaredBy", declaredBy);
transferNodeProperties.put("declaredOn", declaredOn);
}
return transferNodeProperties;
}