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" />
</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>

View File

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

View File

@@ -102,13 +102,18 @@
</type>
<type name="rma:holdContainer">
<title>Hold Container</title>
<title>Hold Container</title>
<parent>rma:recordsManagementContainer</parent>
<mandatory-aspects>
<aspect>rma:countable</aspect>
</mandatory-aspects>
</type>
<type name="rma:holdContainerChild">
<title>Hold Container Child</title>
<parent>rma:recordsManagementContainer</parent>
</type>
<type name="rma:transferContainer">
<title>Transfer Container</title>
<parent>rma:recordsManagementContainer</parent>
@@ -738,7 +743,7 @@
<title>Original Name</title>
<type>d:text</type>
<protected>true</protected>
</property>
</property>
</properties>
@@ -751,7 +756,7 @@
</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 -->
<!-- using a bootstrap bean -->
<aspect name="rma:recordMetaData">
@@ -1139,7 +1144,7 @@
</property>
</properties>
</aspect>
<!-- Helper aspect that can be used to keep a count -->
<aspect name="rma:countable">
<title>Countable aspect</title>

View File

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

View File

@@ -782,4 +782,15 @@
<property name="capability" value="EndRetention" />
</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>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -65,7 +65,8 @@ public interface RecordsManagementModel extends RecordsManagementCustomModel
// Hold container
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
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_DATE = QName.createQName(RM_URI, "recordRejectionDate");
public static final QName PROP_RECORD_REJECTION_REASON = QName.createQName(RM_URI, "recordRejectionReason");
// Countable aspect
public static final QName ASPECT_COUNTABLE = QName.createQName(RM_URI, "countable");
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
{
/** File plan service */
private FilePlanService filePlanService;
@@ -119,7 +119,7 @@ public class RMv22CapabilityPatch extends AbstractModulePatch
}
}
}
/**
* @see org.alfresco.module.org_alfresco_module_rm.patch.AbstractModulePatch#applyInternal()
*/
@@ -145,6 +145,10 @@ public class RMv22CapabilityPatch extends AbstractModulePatch
"FileDestructionReport",
FilePlanRoleService.ROLE_ADMIN,
FilePlanRoleService.ROLE_RECORDS_MANAGER);
addCapability(filePlan,
"CreateHold",
FilePlanRoleService.ROLE_ADMIN,
FilePlanRoleService.ROLE_RECORDS_MANAGER);
}
}
}