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)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@58333 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -182,37 +182,54 @@
|
|||||||
</cm:contains>
|
</cm:contains>
|
||||||
</view:associations>
|
</view:associations>
|
||||||
</cm:folder>
|
</cm:folder>
|
||||||
|
|
||||||
<cm:folder view:childName="cm:rm_report_templates">
|
<cm:folder view:childName="cm:rm_report_templates">
|
||||||
<view:properties>
|
<view:properties>
|
||||||
<sys:store-protocol>workspace</sys:store-protocol>
|
<sys:store-protocol>workspace</sys:store-protocol>
|
||||||
<sys:store-identifier>SpacesStore</sys:store-identifier>
|
<sys:store-identifier>SpacesStore</sys:store-identifier>
|
||||||
<sys:node-uuid>rm_report_templates</sys:node-uuid>
|
<sys:node-uuid>rm_report_templates</sys:node-uuid>
|
||||||
<cm:name>Records Management Report Templates</cm:name>
|
<cm:name>Records Management Report Templates</cm:name>
|
||||||
<cm:title>Records Management Report Templates</cm:title>
|
<cm:title>Records Management Report Templates</cm:title>
|
||||||
<cm:description>Records management report templates.</cm:description>
|
<cm:description>Records management report templates.</cm:description>
|
||||||
</view:properties>
|
</view:properties>
|
||||||
<view:associations>
|
<view:associations>
|
||||||
<cm:contains>
|
<cm:contains>
|
||||||
<cm:content view:childName="cm:report_rmr_destructionReport.html.ftl">
|
<cm:content view:childName="cm:report_rmr_destructionReport.html.ftl">
|
||||||
<view:aspects>
|
<view:aspects>
|
||||||
<cm:titled></cm:titled>
|
<cm:titled></cm:titled>
|
||||||
<cm:author></cm:author>
|
<cm:author></cm:author>
|
||||||
</view:aspects>
|
</view:aspects>
|
||||||
<view:properties>
|
<view:properties>
|
||||||
<sys:store-protocol>workspace</sys:store-protocol>
|
<sys:store-protocol>workspace</sys:store-protocol>
|
||||||
<sys:store-identifier>SpacesStore</sys:store-identifier>
|
<sys:store-identifier>SpacesStore</sys:store-identifier>
|
||||||
<sys:node-uuid>rmr_destructionReport</sys:node-uuid>
|
<sys:node-uuid>rmr_destructionReport</sys:node-uuid>
|
||||||
<cm:description>Desruction report template.</cm:description>
|
<cm:description>Desruction report template.</cm:description>
|
||||||
<cm:content>contentUrl=classpath:alfresco/module/org_alfresco_module_rm/bootstrap/report/report_rmr_destructionReport.html.ftl|mimetype=text/plain|encoding=UTF-8</cm:content>
|
<cm:content>contentUrl=classpath:alfresco/module/org_alfresco_module_rm/bootstrap/report/report_rmr_destructionReport.html.ftl|mimetype=text/plain|encoding=UTF-8</cm:content>
|
||||||
<cm:title>Destruction Report Template</cm:title>
|
<cm:title>Destruction Report Template</cm:title>
|
||||||
<cm:name>report_rmr_destructionReport.html.ftl</cm:name>
|
<cm:name>report_rmr_destructionReport.html.ftl</cm:name>
|
||||||
</view:properties>
|
</view:properties>
|
||||||
</cm:content>
|
</cm:content>
|
||||||
</cm:contains>
|
</cm:contains>
|
||||||
</view:associations>
|
<cm:contains>
|
||||||
</cm:folder>
|
<cm:content view:childName="cm:report_rmr_transferReport.html.ftl">
|
||||||
</cm:contains>
|
<view:aspects>
|
||||||
|
<cm:titled></cm:titled>
|
||||||
|
<cm:author></cm:author>
|
||||||
|
</view:aspects>
|
||||||
|
<view:properties>
|
||||||
|
<sys:store-protocol>workspace</sys:store-protocol>
|
||||||
|
<sys:store-identifier>SpacesStore</sys:store-identifier>
|
||||||
|
<sys:node-uuid>rmr_transferReport</sys:node-uuid>
|
||||||
|
<cm:description>Transfer report template.</cm:description>
|
||||||
|
<cm:content>contentUrl=classpath:alfresco/module/org_alfresco_module_rm/bootstrap/report/report_rmr_transferReport.html.ftl|mimetype=text/plain|encoding=UTF-8</cm:content>
|
||||||
|
<cm:title>Transfer Report Template</cm:title>
|
||||||
|
<cm:name>report_rmr_transfer.html.ftl</cm:name>
|
||||||
|
</view:properties>
|
||||||
|
</cm:content>
|
||||||
|
</cm:contains>
|
||||||
|
</view:associations>
|
||||||
|
</cm:folder>
|
||||||
|
</cm:contains>
|
||||||
</view:associations>
|
</view:associations>
|
||||||
|
|
||||||
</cm:folder>
|
</cm:folder>
|
||||||
|
@@ -14,7 +14,6 @@
|
|||||||
}
|
}
|
||||||
--></style>
|
--></style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body bgcolor="#dddddd">
|
<body bgcolor="#dddddd">
|
||||||
<table width="100%" cellpadding="20" cellspacing="0" border="0" bgcolor="#dddddd">
|
<table width="100%" cellpadding="20" cellspacing="0" border="0" bgcolor="#dddddd">
|
||||||
<tr>
|
<tr>
|
||||||
@@ -35,6 +34,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div style="font-size: 22px; padding-bottom: 4px;">
|
<div style="font-size: 22px; padding-bottom: 4px;">
|
||||||
|
<#-- FIXME!!! -->
|
||||||
Destruction Report
|
Destruction Report
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
@@ -43,72 +43,65 @@
|
|||||||
<div style="font-size: 14px; margin: 12px 0px 24px 0px; padding-top: 10px; border-top: 1px solid #aaaaaa;">
|
<div style="font-size: 14px; margin: 12px 0px 24px 0px; padding-top: 10px; border-top: 1px solid #aaaaaa;">
|
||||||
<table cellpadding="2" cellspacing="3" border="0">
|
<table cellpadding="2" cellspacing="3" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
|
<#-- FIXME!!! -->
|
||||||
<td><i>Destroyed <#if node.hasAspect("rma:record")>Record<#else>Record Folder</#if>:</i></td>
|
<td><i>Destroyed <#if node.hasAspect("rma:record")>Record<#else>Record Folder</#if>:</i></td>
|
||||||
<td>${node.properties["rma:identifier"]} <b>${node.properties.name}</b></td>
|
<td>${node.properties["rma:identifier"]} <b>${node.properties.name}</b></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
<#-- FIXME!!! -->
|
||||||
<td><i>Disposition Authority:</i></td>
|
<td><i>Disposition Authority:</i></td>
|
||||||
<td>${node.properties["rma:recordSearchDispositionAuthority"]}</td>
|
<td>${node.properties["rma:recordSearchDispositionAuthority"]}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
<#-- FIXME!!! -->
|
||||||
<td><i>Disposition Instructions:</i></td>
|
<td><i>Disposition Instructions:</i></td>
|
||||||
<td>${node.properties["rma:recordSearchDispositionInstructions"]}</td>
|
<td>${node.properties["rma:recordSearchDispositionInstructions"]}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<#if node.childAssociations["cm:contains"]??>
|
<#if node.childAssociations["cm:contains"]??>
|
||||||
|
|
||||||
<div style="font-size: 14px; margin: 12px 0px 24px 0px; padding-top: 10px; border-top: 1px solid #aaaaaa;">
|
<div style="font-size: 14px; margin: 12px 0px 24px 0px; padding-top: 10px; border-top: 1px solid #aaaaaa;">
|
||||||
|
|
||||||
<table cellpadding="2" cellspacing="3" border="0">
|
<table cellpadding="2" cellspacing="3" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
|
<#-- FIXME!!! -->
|
||||||
<td><i>Destroyed Records:</i></td>
|
<td><i>Destroyed Records:</i></td>
|
||||||
<td></td>
|
<td></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<table cellpadding="0" callspacing="0" border="0" bgcolor="#eeeeee" style="padding:10px; border: 1px solid #aaaaaa;">
|
<table cellpadding="0" callspacing="0" border="0" bgcolor="#eeeeee" style="padding:10px; border: 1px solid #aaaaaa;">
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<table cellpadding="0" cellspacing="0" border="0">
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<#list node.childAssociations["cm:contains"] as child>
|
||||||
<#list node.childAssociations["cm:contains"] as child>
|
<tr>
|
||||||
|
<td valign="top">
|
||||||
<tr>
|
<img src="${url}/${child.icon32}" alt="" width="32" height="32" border="0" style="padding-right: 10px;" />
|
||||||
<td valign="top">
|
</td>
|
||||||
<img src="${url}/${child.icon32}" alt="" width="32" height="32" border="0" style="padding-right: 10px;" />
|
<td>
|
||||||
</td>
|
<table cellpadding="2" cellspacing="0" border="0">
|
||||||
<td>
|
<tr>
|
||||||
<table cellpadding="2" cellspacing="0" border="0">
|
<td>${child.properties["rma:identifier"]} <b>${child.properties.name}</b></td>
|
||||||
<tr>
|
</tr>
|
||||||
<td>${child.properties["rma:identifier"]} <b>${child.properties.name}</b></td>
|
</table>
|
||||||
</tr>
|
</td>
|
||||||
</table>
|
</tr>
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
</#list>
|
</#list>
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
</#if>
|
||||||
</#if>
|
<div style="font-size: 14px; margin: 12px 0px 24px 0px; padding-top: 10px; border-top: 1px solid #aaaaaa;">
|
||||||
|
|
||||||
<div style="font-size: 14px; margin: 12px 0px 24px 0px; padding-top: 10px; border-top: 1px solid #aaaaaa;">
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="padding: 10px 30px;">
|
<td style="padding: 10px 30px;">
|
||||||
<img src="${shareUrl}/themes/default/images/app-logo.png" alt="" width="117" height="48" border="0" />
|
<img src="${shareUrl}/themes/default/images/app-logo.png" alt="" width="117" height="48" border="0" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@@ -0,0 +1,72 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<#assign isAccession=node.property["rma:transferAccessionIndicator"]>
|
||||||
|
<head>
|
||||||
|
<#if isAccession>
|
||||||
|
<#-- FIXME: Label -->
|
||||||
|
<title>Transfer Report</title>
|
||||||
|
<#else>
|
||||||
|
<#-- FIXME: Label -->
|
||||||
|
<title>Transfer Report</title>
|
||||||
|
</#if>
|
||||||
|
<style>
|
||||||
|
body { font-family: arial,verdana; font-size: 81%; color: #333; }
|
||||||
|
.records { margin-left: 20px; margin-top: 10px; }
|
||||||
|
.record { padding: 5px; }
|
||||||
|
.label { color: #111; }
|
||||||
|
.nodeName { font-weight: bold; }
|
||||||
|
.transferred-item { background-color: #eee; padding: 10px; margin-bottom: 15px; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<#if isAccession>
|
||||||
|
<#-- FIXME: Label -->
|
||||||
|
<h1>Accession Report</h1>
|
||||||
|
<#else>
|
||||||
|
<#-- FIXME: Label -->
|
||||||
|
<h1>Transfer Report</h1>
|
||||||
|
</#if>
|
||||||
|
<table cellpadding="3" cellspacing="3">
|
||||||
|
<tr>
|
||||||
|
<#-- FIXME: Label -->
|
||||||
|
<td class="label">Transfer Date:</td>
|
||||||
|
<#-- FIXME: Escape, toString -->
|
||||||
|
<td>${node.property["cm:created"]}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<#-- FIXME: Label -->
|
||||||
|
<td class="label">Transfer Location:</td>
|
||||||
|
<td>
|
||||||
|
<#if isAccession>
|
||||||
|
<#-- FIXME: Label -->
|
||||||
|
NARA
|
||||||
|
<#else>
|
||||||
|
<#-- FIXME: String, Escape -->
|
||||||
|
${node.property["rma:transferLocation"]}
|
||||||
|
</#if>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<#-- FIXME: Label -->
|
||||||
|
<td class="label">Performed By:</td>
|
||||||
|
<#-- FIXME: String, Escape -->
|
||||||
|
<td> ${node.property["cm:creator"]}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<#-- FIXME: Label -->
|
||||||
|
<td class="label">Disposition Authority:</td>
|
||||||
|
<#-- FIXME: Disposition Authority - Check, escape -->
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<#-- FIXME: Label -->
|
||||||
|
<h2>Transferred Items</h2>
|
||||||
|
<div class="transferred-item">
|
||||||
|
<#--
|
||||||
|
<span class="nodeName">folder</span> (Unique Folder Identifier: 2013-1385393610833)
|
||||||
|
<div class="records">
|
||||||
|
</div>
|
||||||
|
-->
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
@@ -1,2 +1,2 @@
|
|||||||
report.rmr_destructionReport.name=Destruction Report (${node.rma:identifier} ${node.cm:name}).html
|
report.rmr_destructionReport.name=Destruction Report (${node.rma:identifier} ${node.cm:name}).html
|
||||||
|
report.rmr_transferReport.name=Transfer Report (${node.rma:identifier} ${node.cm:name}).html
|
@@ -5,42 +5,43 @@
|
|||||||
<!-- Note: the rma: namespace is defined further on in the document -->
|
<!-- Note: the rma: namespace is defined further on in the document -->
|
||||||
<model name="rmr:recordsmanagementreport" xmlns="http://www.alfresco.org/model/dictionary/1.0">
|
<model name="rmr:recordsmanagementreport" xmlns="http://www.alfresco.org/model/dictionary/1.0">
|
||||||
|
|
||||||
<!-- Meta-data about the model -->
|
<!-- Meta-data about the model -->
|
||||||
<description>Records Management Report Model</description>
|
<description>Records Management Report Model</description>
|
||||||
<author>Roy Wetherall</author>
|
<author>Roy Wetherall</author>
|
||||||
<version>1.0</version>
|
<version>1.0</version>
|
||||||
|
|
||||||
<!-- Imports are required to allow references to definitions in other models -->
|
<!-- Imports are required to allow references to definitions in other models -->
|
||||||
<imports>
|
<imports>
|
||||||
<!-- Import Alfresco Dictionary Definitions -->
|
<!-- Import Alfresco Dictionary Definitions -->
|
||||||
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
|
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
|
||||||
<!-- Import Alfresco Content Domain Model Definitions -->
|
<!-- Import Alfresco Content Domain Model Definitions -->
|
||||||
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
|
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
|
||||||
<!-- Import Alfresco Content Domain Model Definitions -->
|
<!-- Import Alfresco Content Domain Model Definitions -->
|
||||||
<import uri="http://www.alfresco.org/model/system/1.0" prefix="sys" />
|
<import uri="http://www.alfresco.org/model/system/1.0" prefix="sys" />
|
||||||
<!-- Import Alfresco Site Model Definitions -->
|
<!-- Import Alfresco Site Model Definitions -->
|
||||||
<import uri="http://www.alfresco.org/model/site/1.0" prefix="st"/>
|
<import uri="http://www.alfresco.org/model/site/1.0" prefix="st"/>
|
||||||
<!-- Import Alfresco RM Model Definitions -->
|
<!-- Import Alfresco RM Model Definitions -->
|
||||||
<import uri="http://www.alfresco.org/model/recordsmanagement/1.0" prefix="rma"/>
|
<import uri="http://www.alfresco.org/model/recordsmanagement/1.0" prefix="rma"/>
|
||||||
</imports>
|
</imports>
|
||||||
|
|
||||||
<!-- Report Namespace -->
|
<!-- Report Namespace -->
|
||||||
<namespaces>
|
<namespaces>
|
||||||
<namespace uri="http://www.alfresco.org/model/recordsmanagementreport/1.0" prefix="rmr"/>
|
<namespace uri="http://www.alfresco.org/model/recordsmanagementreport/1.0" prefix="rmr"/>
|
||||||
</namespaces>
|
</namespaces>
|
||||||
|
|
||||||
<types>
|
<types>
|
||||||
|
<type name="rmr:report">
|
||||||
<type name="rmr:report">
|
<title>Report</title>
|
||||||
<title>Report</title>
|
<parent>cm:content</parent>
|
||||||
<parent>cm:content</parent>
|
</type>
|
||||||
</type>
|
<type name="rmr:destructionReport">
|
||||||
|
<title>Report</title>
|
||||||
<type name="rmr:destructionReport">
|
<parent>rmr:report</parent>
|
||||||
<title>Report</title>
|
</type>
|
||||||
<parent>rmr:report</parent>
|
<type name="rmr:transferReport">
|
||||||
</type>
|
<title>Transfer</title>
|
||||||
|
<parent>rmr:report</parent>
|
||||||
</types>
|
</type>
|
||||||
|
</types>
|
||||||
|
|
||||||
</model>
|
</model>
|
@@ -3,9 +3,9 @@
|
|||||||
|
|
||||||
<beans>
|
<beans>
|
||||||
|
|
||||||
<!-- Report Content Model -->
|
<!-- Report Content Model -->
|
||||||
|
|
||||||
<bean id="org_alfresco_module_rm_report_dictionaryBootstrap" parent="dictionaryModelBootstrap">
|
<bean id="org_alfresco_module_rm_report_dictionaryBootstrap" parent="dictionaryModelBootstrap">
|
||||||
<property name="models">
|
<property name="models">
|
||||||
<list>
|
<list>
|
||||||
<value>alfresco/module/org_alfresco_module_rm/model/reportModel.xml</value>
|
<value>alfresco/module/org_alfresco_module_rm/model/reportModel.xml</value>
|
||||||
@@ -16,78 +16,82 @@
|
|||||||
<value>alfresco/module/org_alfresco_module_rm/messages/report-model</value>
|
<value>alfresco/module/org_alfresco_module_rm/messages/report-model</value>
|
||||||
</list>
|
</list>
|
||||||
</property>
|
</property>
|
||||||
</bean>
|
|
||||||
|
|
||||||
<!-- Report Service Message Bundle -->
|
|
||||||
|
|
||||||
<bean id="org_alfresco_module_rm_report_resourceBundles" class="org.alfresco.i18n.ResourceBundleBootstrapComponent">
|
|
||||||
<property name="resourceBundles">
|
|
||||||
<list>
|
|
||||||
<value>alfresco.module.org_alfresco_module_rm.messages.report-service</value>
|
|
||||||
</list>
|
|
||||||
</property>
|
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<!-- Report Service -->
|
<!-- Report Service Message Bundle -->
|
||||||
|
|
||||||
<bean id="reportService" parent="baseService" class="org.alfresco.module.org_alfresco_module_rm.report.ReportServiceImpl">
|
<bean id="org_alfresco_module_rm_report_resourceBundles" class="org.alfresco.i18n.ResourceBundleBootstrapComponent">
|
||||||
<property name="fileFolderService" ref="FileFolderService" />
|
<property name="resourceBundles">
|
||||||
<property name="filePlanService" ref="FilePlanService" />
|
<list>
|
||||||
<property name="contentService" ref="ContentService" />
|
<value>alfresco.module.org_alfresco_module_rm.messages.report-service</value>
|
||||||
<property name="recordService" ref="RecordService" />
|
</list>
|
||||||
</bean>
|
</property>
|
||||||
|
</bean>
|
||||||
<bean id="ReportService" class="org.springframework.aop.framework.ProxyFactoryBean">
|
|
||||||
<property name="proxyInterfaces" value="org.alfresco.module.org_alfresco_module_rm.report.ReportService" />
|
<!-- Report Service -->
|
||||||
<property name="target" ref="reportService"/>
|
|
||||||
<property name="interceptorNames">
|
<bean id="reportService" parent="baseService" class="org.alfresco.module.org_alfresco_module_rm.report.ReportServiceImpl">
|
||||||
<list>
|
<property name="fileFolderService" ref="FileFolderService" />
|
||||||
<idref local="ReportService_transaction"/>
|
<property name="filePlanService" ref="FilePlanService" />
|
||||||
<idref bean="exceptionTranslator"/>
|
<property name="contentService" ref="ContentService" />
|
||||||
<idref local="ReportService_security"/>
|
<property name="recordService" ref="RecordService" />
|
||||||
</list>
|
</bean>
|
||||||
</property>
|
|
||||||
</bean>
|
<bean id="ReportService" class="org.springframework.aop.framework.ProxyFactoryBean">
|
||||||
|
<property name="proxyInterfaces" value="org.alfresco.module.org_alfresco_module_rm.report.ReportService" />
|
||||||
<bean id="ReportService_transaction" parent="baseTransaction"/>
|
<property name="target" ref="reportService"/>
|
||||||
|
<property name="interceptorNames">
|
||||||
<bean id="ReportService_security" parent="baseSecurity">
|
<list>
|
||||||
<property name="objectDefinitionSource">
|
<idref local="ReportService_transaction"/>
|
||||||
<value>
|
<idref bean="exceptionTranslator"/>
|
||||||
<![CDATA[
|
<idref local="ReportService_security"/>
|
||||||
org.alfresco.module.org_alfresco_module_rm.report.ReportService.getReportTypes=RM_ALLOW
|
</list>
|
||||||
org.alfresco.module.org_alfresco_module_rm.report.ReportService.registerReportGenerator=RM_ALLOW
|
</property>
|
||||||
org.alfresco.module.org_alfresco_module_rm.report.ReportService.generateReport=RM_ALLOW
|
</bean>
|
||||||
org.alfresco.module.org_alfresco_module_rm.report.ReportService.fileReport=RM_ALLOW
|
|
||||||
org.alfresco.module.org_alfresco_module_rm.report.ReportService.*=RM_DENY
|
<bean id="ReportService_transaction" parent="baseTransaction"/>
|
||||||
]]>
|
|
||||||
</value>
|
<bean id="ReportService_security" parent="baseSecurity">
|
||||||
</property>
|
<property name="objectDefinitionSource">
|
||||||
</bean>
|
<value>
|
||||||
|
<![CDATA[
|
||||||
<!-- Report Generators -->
|
org.alfresco.module.org_alfresco_module_rm.report.ReportService.getReportTypes=RM_ALLOW
|
||||||
|
org.alfresco.module.org_alfresco_module_rm.report.ReportService.registerReportGenerator=RM_ALLOW
|
||||||
<bean id="baseReportGenerator" abstract="true" init-method="init">
|
org.alfresco.module.org_alfresco_module_rm.report.ReportService.generateReport=RM_ALLOW
|
||||||
<property name="reportService" ref="reportService" />
|
org.alfresco.module.org_alfresco_module_rm.report.ReportService.fileReport=RM_ALLOW
|
||||||
<property name="namespaceService" ref="namespaceService"/>
|
org.alfresco.module.org_alfresco_module_rm.report.ReportService.*=RM_DENY
|
||||||
</bean>
|
]]>
|
||||||
|
</value>
|
||||||
<bean id="declarativeReportGenerator" abstract="true" parent="baseReportGenerator" class="org.alfresco.module.org_alfresco_module_rm.report.generator.DeclarativeReportGenerator">
|
</property>
|
||||||
<property name="contentService" ref="ContentService"/>
|
</bean>
|
||||||
<property name="mimetypeService" ref="MimetypeService"/>
|
|
||||||
<property name="fileFolderService" ref="FileFolderService"/>
|
<!-- Report Generators -->
|
||||||
<property name="templateService" ref="TemplateService"/>
|
|
||||||
<property name="nodeService" ref="NodeService" />
|
<bean id="baseReportGenerator" abstract="true" init-method="init">
|
||||||
<property name="parameterProcessorComponent" ref="parameterProcessorComponent"/>
|
<property name="reportService" ref="reportService" />
|
||||||
<property name="repository" ref="repositoryHelper" />
|
<property name="namespaceService" ref="namespaceService"/>
|
||||||
<property name="sysAdminParams" ref="sysAdminParams" />
|
</bean>
|
||||||
</bean>
|
|
||||||
|
<bean id="declarativeReportGenerator" abstract="true" parent="baseReportGenerator" class="org.alfresco.module.org_alfresco_module_rm.report.generator.DeclarativeReportGenerator">
|
||||||
<bean id="destructionReportGenerator" parent="declarativeReportGenerator">
|
<property name="contentService" ref="ContentService"/>
|
||||||
<property name="reportTypeName" value="rmr:destructionReport" />
|
<property name="mimetypeService" ref="MimetypeService"/>
|
||||||
</bean>
|
<property name="fileFolderService" ref="FileFolderService"/>
|
||||||
|
<property name="templateService" ref="TemplateService"/>
|
||||||
<!-- Report Actions -->
|
<property name="nodeService" ref="NodeService" />
|
||||||
|
<property name="parameterProcessorComponent" ref="parameterProcessorComponent"/>
|
||||||
|
<property name="repository" ref="repositoryHelper" />
|
||||||
|
<property name="sysAdminParams" ref="sysAdminParams" />
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="destructionReportGenerator" parent="declarativeReportGenerator">
|
||||||
|
<property name="reportTypeName" value="rmr:destructionReport" />
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="transferReportGenerator" parent="declarativeReportGenerator">
|
||||||
|
<property name="reportTypeName" value="rmr:transferReport" />
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<!-- Report Actions -->
|
||||||
|
|
||||||
<bean id="fileDestructionReport_proxy" parent="rmProxyAction" >
|
<bean id="fileDestructionReport_proxy" parent="rmProxyAction" >
|
||||||
<property name="target">
|
<property name="target">
|
||||||
@@ -110,12 +114,43 @@
|
|||||||
</property>
|
</property>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="fileDestructionReport"
|
<bean id="fileDestructionReport"
|
||||||
class="org.alfresco.module.org_alfresco_module_rm.report.action.FileReportAction"
|
class="org.alfresco.module.org_alfresco_module_rm.report.action.FileReportAction"
|
||||||
parent="rmAction">
|
parent="rmAction">
|
||||||
<property name="reportService" ref="ReportService" />
|
<property name="reportService" ref="ReportService" />
|
||||||
<property name="filePlanService" ref="FilePlanService" />
|
<property name="filePlanService" ref="FilePlanService" />
|
||||||
<property name="reportType" value="rmr:destructionReport" />
|
<property name="reportType" value="rmr:destructionReport" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
</beans>
|
<bean id="fileTransferReport_proxy" parent="rmProxyAction" >
|
||||||
|
<property name="target">
|
||||||
|
<ref bean="fileTransferReport"/>
|
||||||
|
</property>
|
||||||
|
<property name="interceptorNames">
|
||||||
|
<list>
|
||||||
|
<idref bean="fileTransferReport_security"/>
|
||||||
|
</list>
|
||||||
|
</property>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="fileTransferReport_security" class="org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityInterceptor" parent="actionSecurity">
|
||||||
|
<property name="objectDefinitionSource">
|
||||||
|
<value>
|
||||||
|
<!-- FIXME -->
|
||||||
|
<!-- org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementAction.execute=RM_CAP.0.rma:filePlanComponent.FileDestructionReport -->
|
||||||
|
org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementAction.execute=RM_ALLOW
|
||||||
|
org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementAction.*=RM_ALLOW
|
||||||
|
org.alfresco.repo.action.executer.ActionExecuter.*=RM_ALLOW
|
||||||
|
</value>
|
||||||
|
</property>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="fileTransferReport"
|
||||||
|
class="org.alfresco.module.org_alfresco_module_rm.report.action.FileTransferAction"
|
||||||
|
parent="rmAction">
|
||||||
|
<property name="reportService" ref="ReportService" />
|
||||||
|
<property name="filePlanService" ref="FilePlanService" />
|
||||||
|
<property name="reportType" value="rmr:transferReport" />
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
</beans>
|
@@ -25,12 +25,13 @@ import org.alfresco.service.namespace.QName;
|
|||||||
*
|
*
|
||||||
* @author Roy Wetherall
|
* @author Roy Wetherall
|
||||||
*/
|
*/
|
||||||
public interface ReportModel
|
public interface ReportModel
|
||||||
{
|
{
|
||||||
// Namespace details
|
// Namespace details
|
||||||
public static final String RMR_URI = "http://www.alfresco.org/model/recordsmanagementreport/1.0";
|
public static final String RMR_URI = "http://www.alfresco.org/model/recordsmanagementreport/1.0";
|
||||||
public static final String RMR_PREFIX = "rmr";
|
public static final String RMR_PREFIX = "rmr";
|
||||||
|
|
||||||
public static final QName TYPE_REPORT = QName.createQName(RMR_URI, "report");
|
public static final QName TYPE_REPORT = QName.createQName(RMR_URI, "report");
|
||||||
public static final QName TYPE_DESTRUCTION_REPORT = QName.createQName(RMR_URI, "destructionReport");
|
public static final QName TYPE_DESTRUCTION_REPORT = QName.createQName(RMR_URI, "destructionReport");
|
||||||
|
public static final QName TYPE_TRANSFER_REPORT = QName.createQName(RMR_URI, "transferReport");
|
||||||
}
|
}
|
||||||
|
@@ -0,0 +1,102 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2005-2013 Alfresco Software Limited.
|
||||||
|
*
|
||||||
|
* This file is part of Alfresco
|
||||||
|
*
|
||||||
|
* Alfresco is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* Alfresco is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package org.alfresco.module.org_alfresco_module_rm.report.action;
|
||||||
|
|
||||||
|
import org.alfresco.error.AlfrescoRuntimeException;
|
||||||
|
import org.alfresco.module.org_alfresco_module_rm.action.RMActionExecuterAbstractBase;
|
||||||
|
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
|
||||||
|
import org.alfresco.module.org_alfresco_module_rm.report.Report;
|
||||||
|
import org.alfresco.module.org_alfresco_module_rm.report.ReportModel;
|
||||||
|
import org.alfresco.module.org_alfresco_module_rm.report.ReportService;
|
||||||
|
import org.alfresco.service.cmr.action.Action;
|
||||||
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
import org.alfresco.service.namespace.QName;
|
||||||
|
import org.alfresco.util.ParameterCheck;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* FIXME!!!
|
||||||
|
*
|
||||||
|
* @author Tuna Aksoy
|
||||||
|
* @since 2.2
|
||||||
|
*/
|
||||||
|
public class FileTransferAction extends RMActionExecuterAbstractBase implements ReportModel
|
||||||
|
{
|
||||||
|
/** report service */
|
||||||
|
protected ReportService reportService;
|
||||||
|
|
||||||
|
/** file plan service */
|
||||||
|
protected FilePlanService filePlanService;
|
||||||
|
|
||||||
|
/** report type string value */
|
||||||
|
private String reportType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param reportService report service
|
||||||
|
*/
|
||||||
|
public void setReportService(ReportService reportService)
|
||||||
|
{
|
||||||
|
this.reportService = reportService;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param filePlanService file plan service
|
||||||
|
*/
|
||||||
|
public void setFilePlanService(FilePlanService filePlanService)
|
||||||
|
{
|
||||||
|
this.filePlanService = filePlanService;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param reportType report type string value
|
||||||
|
*/
|
||||||
|
public void setReportType(String reportType)
|
||||||
|
{
|
||||||
|
this.reportType = reportType;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return QName report type
|
||||||
|
*/
|
||||||
|
protected QName getReportType()
|
||||||
|
{
|
||||||
|
ParameterCheck.mandatory("this.reportType", reportType);
|
||||||
|
return QName.createQName(reportType, namespaceService);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see org.alfresco.repo.action.executer.ActionExecuterAbstractBase#executeImpl(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected void executeImpl(Action action, NodeRef actionedUponNodeRef)
|
||||||
|
{
|
||||||
|
// TODO check that the actionedUponNodeRef is in a state to generate a destruction report
|
||||||
|
// ie: is it eligable for destruction .. use fileDestructionReport capability!
|
||||||
|
|
||||||
|
// TODO allow the mimetype of the report to be specified as a parameter
|
||||||
|
|
||||||
|
NodeRef filePlan = filePlanService.getFilePlan(actionedUponNodeRef);
|
||||||
|
if (filePlan == null)
|
||||||
|
{
|
||||||
|
throw new AlfrescoRuntimeException("Unable to file destruction report, because file plan could not be resolved.");
|
||||||
|
}
|
||||||
|
|
||||||
|
Report report = reportService.generateReport(getReportType(), actionedUponNodeRef);
|
||||||
|
reportService.fileReport(filePlan, report);
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user