mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
RM-1099 (Refactor Transfer and Accession reports)
* Finished off the transfer report template for folders and records git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@58540 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -50,28 +50,36 @@
|
|||||||
<div class="transferred-item">
|
<div class="transferred-item">
|
||||||
<#list properties.transferNodes as transferNode>
|
<#list properties.transferNodes as transferNode>
|
||||||
<#if transferNode.properties["isFolder"]>
|
<#if transferNode.properties["isFolder"]>
|
||||||
<span class="nodeName">
|
<@generateTransferFolderHTML transferNode/>
|
||||||
${transferNode.properties["name"]?html}
|
|
||||||
</span>
|
|
||||||
(${message("file.report.unique.folder.identifier")}: ${transferNode.properties["identifier"]?html})
|
|
||||||
<div class="records">
|
|
||||||
<#-- FIXME: Records -->
|
|
||||||
</div>
|
|
||||||
<#else>
|
<#else>
|
||||||
<div class="record">
|
<@generateTransferRecordHTML transferNode/>
|
||||||
<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>
|
</#if>
|
||||||
</#list>
|
</#list>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
<#macro generateTransferFolderHTML transferNode>
|
||||||
|
<span class="nodeName">
|
||||||
|
${transferNode.properties["name"]?html}
|
||||||
|
</span>
|
||||||
|
(${message("file.report.unique.folder.identifier")}: ${transferNode.properties["identifier"]?html})
|
||||||
|
<div class="records">
|
||||||
|
<#list transferNode.properties["records"] as record>
|
||||||
|
<@generateTransferRecordHTML record/>
|
||||||
|
</#list>
|
||||||
|
</div>
|
||||||
|
</#macro>
|
||||||
|
<#macro generateTransferRecordHTML transferNode>
|
||||||
|
<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>
|
||||||
|
</#macro>
|
@@ -86,28 +86,71 @@ public class TransferReportAction extends BaseReportAction
|
|||||||
*/
|
*/
|
||||||
private Map<String, Serializable> getTransferNodeProperties(NodeRef childRef)
|
private Map<String, Serializable> getTransferNodeProperties(NodeRef childRef)
|
||||||
{
|
{
|
||||||
Map<String, Serializable> transferNodeProperties = new HashMap<String, Serializable>(3);
|
Map<String, Serializable> transferNodeProperties = new HashMap<String, Serializable>(6);
|
||||||
|
|
||||||
Map<QName, Serializable> properties = nodeService.getProperties(childRef);
|
Map<QName, Serializable> properties = nodeService.getProperties(childRef);
|
||||||
transferNodeProperties.put("name", properties.get(ContentModel.PROP_NAME));
|
String name = (String) properties.get(ContentModel.PROP_NAME);
|
||||||
transferNodeProperties.put("identifier", properties.get(RecordsManagementModel.PROP_IDENTIFIER));
|
String identifier = (String) properties.get(RecordsManagementModel.PROP_IDENTIFIER);
|
||||||
|
|
||||||
boolean isFolder = dictionaryService.isSubClass(nodeService.getType(childRef), ContentModel.TYPE_FOLDER);
|
boolean isFolder = dictionaryService.isSubClass(nodeService.getType(childRef), ContentModel.TYPE_FOLDER);
|
||||||
|
|
||||||
|
transferNodeProperties.put("name", name);
|
||||||
|
transferNodeProperties.put("identifier", identifier);
|
||||||
transferNodeProperties.put("isFolder", isFolder);
|
transferNodeProperties.put("isFolder", isFolder);
|
||||||
|
|
||||||
if (isFolder == false)
|
if (isFolder == true)
|
||||||
|
{
|
||||||
|
transferNodeProperties.put("records", (ArrayList<TransferNode>) getRecords(childRef));
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
boolean isDeclared = nodeService.hasAspect(childRef, RecordsManagementModel.ASPECT_DECLARED_RECORD);
|
|
||||||
String declaredBy = (String) properties.get(RecordsManagementModel.PROP_DECLARED_BY);
|
String declaredBy = (String) properties.get(RecordsManagementModel.PROP_DECLARED_BY);
|
||||||
Date declaredOn = (Date) properties.get(RecordsManagementModel.PROP_DECLARED_AT);
|
Date declaredOn = (Date) properties.get(RecordsManagementModel.PROP_DECLARED_AT);
|
||||||
transferNodeProperties.put("isDeclared", isDeclared);
|
boolean isDeclared = nodeService.hasAspect(childRef, RecordsManagementModel.ASPECT_DECLARED_RECORD);
|
||||||
|
|
||||||
transferNodeProperties.put("declaredBy", declaredBy);
|
transferNodeProperties.put("declaredBy", declaredBy);
|
||||||
transferNodeProperties.put("declaredOn", declaredOn);
|
transferNodeProperties.put("declaredOn", declaredOn);
|
||||||
|
transferNodeProperties.put("isDeclared", isDeclared);
|
||||||
}
|
}
|
||||||
|
|
||||||
return transferNodeProperties;
|
return transferNodeProperties;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper method to get the list of records (with their properties) within a folder
|
||||||
|
*
|
||||||
|
* @param childRef Node reference of the folder
|
||||||
|
* @return List of records within the specified folder
|
||||||
|
*/
|
||||||
|
private List<TransferNode> getRecords(NodeRef childRef)
|
||||||
|
{
|
||||||
|
List<TransferNode> records = new ArrayList<TransferNode>(4);
|
||||||
|
List<ChildAssociationRef> assocs = nodeService.getChildAssocs(childRef, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL);
|
||||||
|
for (ChildAssociationRef child : assocs)
|
||||||
|
{
|
||||||
|
NodeRef record = child.getChildRef();
|
||||||
|
if (nodeService.hasAspect(record, RecordsManagementModel.ASPECT_RECORD))
|
||||||
|
{
|
||||||
|
Map<String, Serializable> transferNodeProperties = new HashMap<String, Serializable>(6);
|
||||||
|
|
||||||
|
Map<QName, Serializable> properties = nodeService.getProperties(record);
|
||||||
|
String name = (String) properties.get(ContentModel.PROP_NAME);
|
||||||
|
String identifier = (String) properties.get(RecordsManagementModel.PROP_IDENTIFIER);
|
||||||
|
String declaredBy = (String) properties.get(RecordsManagementModel.PROP_DECLARED_BY);
|
||||||
|
Date declaredOn = (Date) properties.get(RecordsManagementModel.PROP_DECLARED_AT);
|
||||||
|
boolean isDeclared = nodeService.hasAspect(record, RecordsManagementModel.ASPECT_DECLARED_RECORD);
|
||||||
|
|
||||||
|
transferNodeProperties.put("name", name);
|
||||||
|
transferNodeProperties.put("identifier", identifier);
|
||||||
|
transferNodeProperties.put("declaredBy", declaredBy);
|
||||||
|
transferNodeProperties.put("declaredOn", declaredOn);
|
||||||
|
transferNodeProperties.put("isDeclared", isDeclared);
|
||||||
|
|
||||||
|
records.add(new TransferNode(record, transferNodeProperties));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return records;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the disposition authority from the list of the transfer nodes
|
* Gets the disposition authority from the list of the transfer nodes
|
||||||
*
|
*
|
||||||
|
Reference in New Issue
Block a user