RM-1203 (As a records user I want to create a new hold so that I can add records to it)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@63190 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Tuna Aksoy
2014-02-24 21:45:18 +00:00
parent 5b823b7deb
commit 68341737ba
12 changed files with 83 additions and 22 deletions

View File

@@ -53,4 +53,23 @@
<property name="index" value="30" /> <property name="index" value="30" />
</bean> </bean>
<bean id="rmCreateHoldCapability"
parent="declarativeCapability">
<property name="name" value="CreateHold"/>
<property name="permission" value="CreateHold"/>
<property name="kinds">
<list>
<value>HOLD</value>
<value>HOLD_CONTAINER_CHILD</value>
</list>
</property>
<property name="conditions">
<map>
<entry key="capabilityCondition.filling" value="true"/>
</map>
</property>
<property name="group"><ref bean="holdControlsGroup"/></property>
<property name="index" value="40" />
</bean>
</beans> </beans>

View File

@@ -62,6 +62,7 @@ capability.group.holdControls.title=Hold Controls
capability.ExtendRetentionPeriodOrFreeze.title=Extend Retention Period or Freeze capability.ExtendRetentionPeriodOrFreeze.title=Extend Retention Period or Freeze
capability.Unfreeze.title=Unfreeze capability.Unfreeze.title=Unfreeze
capability.ViewUpdateReasonsForFreeze.title=View Update Reasons for Freeze capability.ViewUpdateReasonsForFreeze.title=View Update Reasons for Freeze
capability.CreateHold.title=Create Hold
# Audit # Audit
capability.group.audit.title=Audit capability.group.audit.title=Audit

View File

@@ -102,13 +102,18 @@
</type> </type>
<type name="rma:holdContainer"> <type name="rma:holdContainer">
<title>Hold Container</title> <title>Hold Container</title>
<parent>rma:recordsManagementContainer</parent> <parent>rma:recordsManagementContainer</parent>
<mandatory-aspects> <mandatory-aspects>
<aspect>rma:countable</aspect> <aspect>rma:countable</aspect>
</mandatory-aspects> </mandatory-aspects>
</type> </type>
<type name="rma:holdContainerChild">
<title>Hold Container Child</title>
<parent>rma:recordsManagementContainer</parent>
</type>
<type name="rma:transferContainer"> <type name="rma:transferContainer">
<title>Transfer Container</title> <title>Transfer Container</title>
<parent>rma:recordsManagementContainer</parent> <parent>rma:recordsManagementContainer</parent>
@@ -738,7 +743,7 @@
<title>Original Name</title> <title>Original Name</title>
<type>d:text</type> <type>d:text</type>
<protected>true</protected> <protected>true</protected>
</property> </property>
</properties> </properties>
@@ -751,7 +756,7 @@
</aspect> </aspect>
<!-- Marker aspect used to indicate an aspect is used for record meta-data --> <!-- Marker aspect used to indicate an aspect is used for record meta-data -->
<!-- @deprecated since 2.2, record metadata aspects are configured via spring --> <!-- @deprecated since 2.2, record metadata aspects are configured via spring -->
<!-- using a bootstrap bean --> <!-- using a bootstrap bean -->
<aspect name="rma:recordMetaData"> <aspect name="rma:recordMetaData">
@@ -1139,7 +1144,7 @@
</property> </property>
</properties> </properties>
</aspect> </aspect>
<!-- Helper aspect that can be used to keep a count --> <!-- Helper aspect that can be used to keep a count -->
<aspect name="rma:countable"> <aspect name="rma:countable">
<title>Countable aspect</title> <title>Countable aspect</title>

View File

@@ -89,6 +89,7 @@
<includePermissionGroup type="rma:filePlanComponent" permissionGroup="LinkToRecords"/> <includePermissionGroup type="rma:filePlanComponent" permissionGroup="LinkToRecords"/>
<!-- Since V2.2 --> <!-- Since V2.2 -->
<includePermissionGroup type="rma:filePlanComponent" permissionGroup="FileTransferReport"/> <includePermissionGroup type="rma:filePlanComponent" permissionGroup="FileTransferReport"/>
<includePermissionGroup type="rma:filePlanComponent" permissionGroup="CreateHold"/>
</permissionGroup> </permissionGroup>
<permissionGroup name="Filing" allowFullControl="false" expose="true"> <permissionGroup name="Filing" allowFullControl="false" expose="true">
@@ -171,6 +172,7 @@
<!-- Added since V2.2 --> <!-- Added since V2.2 -->
<permissionGroup name="FileTransferReport" expose="false" allowFullControl="false"/> <permissionGroup name="FileTransferReport" expose="false" allowFullControl="false"/>
<permissionGroup name="CreateHold" expose="false" allowFullControl="false"/>
<!-- End --> <!-- End -->
@@ -448,6 +450,12 @@
<grantedToGroup permissionGroup="LinkToRecords"/> <grantedToGroup permissionGroup="LinkToRecords"/>
</permission> </permission>
<!-- Added since V2.1 -->
<permission name="_CreateHold" expose="false">
<grantedToGroup permissionGroup="CreateHold"/>
</permission>
</permissionSet> </permissionSet>
</permissions> </permissions>

View File

@@ -782,4 +782,15 @@
<property name="capability" value="EndRetention" /> <property name="capability" value="EndRetention" />
</bean> </bean>
<bean id="jsonConversionComponent.newHold"
parent="jsonConversionComponent.baseAction">
<property name="name" value="newHold"/>
<property name="kinds">
<set>
<value>HOLD</value>
<value>HOLD_CONTAINER_CHILD</value>
</set>
</property>
<property name="capability" value="CreateHold"/>
</bean>
</beans> </beans>

View File

@@ -138,7 +138,8 @@
"FileUnfiledRecords", "FileUnfiledRecords",
"RejectRecords", "RejectRecords",
"LinkToRecords", "LinkToRecords",
"FileTransferReport" "FileTransferReport",
"CreateHold"
] ]
}, },
{ {
@@ -205,8 +206,8 @@
"FileUnfiledRecords", "FileUnfiledRecords",
"RejectRecords", "RejectRecords",
"LinkToRecords", "LinkToRecords",
"FileTransferReport" "FileTransferReport",
"CreateHold"
] ]
} }
] ]

View File

@@ -153,6 +153,7 @@ Filters.getFilterParams = function RecordsManagementFilter_getFilterParams(filte
case "transfers": case "transfers":
case "holds": case "holds":
filterParams.variablePath = false;
if (filterData == null) if (filterData == null)
{ {
filterParams.query = ""; filterParams.query = "";

View File

@@ -23,18 +23,19 @@ package org.alfresco.module.org_alfresco_module_rm.fileplan;
* <br> * <br>
* Helpful when trying to determine the characteristics of a kind * Helpful when trying to determine the characteristics of a kind
* of file plan component. * of file plan component.
* *
* @author Roy Wetherall * @author Roy Wetherall
*/ */
public enum FilePlanComponentKind public enum FilePlanComponentKind
{ {
FILE_PLAN_COMPONENT, FILE_PLAN_COMPONENT,
FILE_PLAN, FILE_PLAN,
RECORD_CATEGORY, RECORD_CATEGORY,
RECORD_FOLDER, RECORD_FOLDER,
RECORD, RECORD,
TRANSFER, TRANSFER,
HOLD, HOLD,
HOLD_CONTAINER_CHILD,
DISPOSITION_SCHEDULE, DISPOSITION_SCHEDULE,
UNFILED_RECORD_CONTAINER, UNFILED_RECORD_CONTAINER,
UNFILED_RECORD_CONTAINER_CHILD; UNFILED_RECORD_CONTAINER_CHILD;

View File

@@ -218,6 +218,10 @@ public class FilePlanServiceImpl extends ServiceBaseImpl
{ {
result = FilePlanComponentKind.HOLD; result = FilePlanComponentKind.HOLD;
} }
else if (instanceOf(nodeRef, TYPE_HOLD_CONTAINER_CHILD))
{
result = FilePlanComponentKind.HOLD_CONTAINER_CHILD;
}
else if (getTransferService().isTransfer(nodeRef) == true) else if (getTransferService().isTransfer(nodeRef) == true)
{ {
result = FilePlanComponentKind.TRANSFER; result = FilePlanComponentKind.TRANSFER;

View File

@@ -260,6 +260,11 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JSONC
result = "hold-container"; result = "hold-container";
break; break;
} }
case HOLD_CONTAINER_CHILD:
{
result = "hold-container-child";
break;
}
case TRANSFER: case TRANSFER:
{ {
result = "transfer-container"; result = "transfer-container";

View File

@@ -65,7 +65,8 @@ public interface RecordsManagementModel extends RecordsManagementCustomModel
// Hold container // Hold container
public static final QName TYPE_HOLD_CONTAINER = QName.createQName(RM_URI, "holdContainer"); public static final QName TYPE_HOLD_CONTAINER = QName.createQName(RM_URI, "holdContainer");
public static final QName TYPE_HOLD_CONTAINER_CHILD = QName.createQName(RM_URI, "holdContainerChild");
// Transfer container // Transfer container
public static final QName TYPE_TRANSFER_CONTAINER = QName.createQName(RM_URI, "transferContainer"); public static final QName TYPE_TRANSFER_CONTAINER = QName.createQName(RM_URI, "transferContainer");
@@ -255,9 +256,9 @@ public interface RecordsManagementModel extends RecordsManagementCustomModel
public static final QName PROP_RECORD_REJECTION_USER_ID = QName.createQName(RM_URI, "recordRejectionUserId"); public static final QName PROP_RECORD_REJECTION_USER_ID = QName.createQName(RM_URI, "recordRejectionUserId");
public static final QName PROP_RECORD_REJECTION_DATE = QName.createQName(RM_URI, "recordRejectionDate"); public static final QName PROP_RECORD_REJECTION_DATE = QName.createQName(RM_URI, "recordRejectionDate");
public static final QName PROP_RECORD_REJECTION_REASON = QName.createQName(RM_URI, "recordRejectionReason"); public static final QName PROP_RECORD_REJECTION_REASON = QName.createQName(RM_URI, "recordRejectionReason");
// Countable aspect // Countable aspect
public static final QName ASPECT_COUNTABLE = QName.createQName(RM_URI, "countable"); public static final QName ASPECT_COUNTABLE = QName.createQName(RM_URI, "countable");
public static final QName PROP_COUNT = QName.createQName(RM_URI, "count"); public static final QName PROP_COUNT = QName.createQName(RM_URI, "count");
} }

View File

@@ -37,7 +37,7 @@ import org.alfresco.service.cmr.repository.NodeRef;
*/ */
public class RMv22CapabilityPatch extends AbstractModulePatch public class RMv22CapabilityPatch extends AbstractModulePatch
{ {
/** File plan service */ /** File plan service */
private FilePlanService filePlanService; private FilePlanService filePlanService;
@@ -119,7 +119,7 @@ public class RMv22CapabilityPatch extends AbstractModulePatch
} }
} }
} }
/** /**
* @see org.alfresco.module.org_alfresco_module_rm.patch.AbstractModulePatch#applyInternal() * @see org.alfresco.module.org_alfresco_module_rm.patch.AbstractModulePatch#applyInternal()
*/ */
@@ -145,6 +145,10 @@ public class RMv22CapabilityPatch extends AbstractModulePatch
"FileDestructionReport", "FileDestructionReport",
FilePlanRoleService.ROLE_ADMIN, FilePlanRoleService.ROLE_ADMIN,
FilePlanRoleService.ROLE_RECORDS_MANAGER); FilePlanRoleService.ROLE_RECORDS_MANAGER);
addCapability(filePlan,
"CreateHold",
FilePlanRoleService.ROLE_ADMIN,
FilePlanRoleService.ROLE_RECORDS_MANAGER);
} }
} }
} }