mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-08 14:51:49 +00:00
Merge branch 'feature-2.4/RM-3265_MoveDestroyedRecordFolders' into 'release/V2.4'
Feature 2.4/rm 3265 move destroyed record folders See merge request !127
This commit is contained in:
@@ -60,9 +60,9 @@
|
|||||||
class="org.alfresco.module.org_alfresco_module_rm.capability.declarative.condition.TransferredCapabilityCondition">
|
class="org.alfresco.module.org_alfresco_module_rm.capability.declarative.condition.TransferredCapabilityCondition">
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="capabilityCondition.movable"
|
<bean id="capabilityCondition.movableRecordFolder"
|
||||||
parent="capabilityCondition.base"
|
parent="capabilityCondition.base"
|
||||||
class="org.alfresco.module.org_alfresco_module_rm.capability.declarative.condition.MovableCapabilityCondition">
|
class="org.alfresco.module.org_alfresco_module_rm.capability.declarative.condition.MovableRecordFolderCapabilityCondition">
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="capabilityCondition.destroyed"
|
<bean id="capabilityCondition.destroyed"
|
||||||
|
@@ -122,6 +122,11 @@
|
|||||||
<property name="name" value="MoveRecordFolder"/>
|
<property name="name" value="MoveRecordFolder"/>
|
||||||
<property name="private" value="true"/>
|
<property name="private" value="true"/>
|
||||||
<property name="undetermined" value="true"/>
|
<property name="undetermined" value="true"/>
|
||||||
|
<property name="kinds">
|
||||||
|
<list>
|
||||||
|
<value>RECORD_FOLDER</value>
|
||||||
|
</list>
|
||||||
|
</property>
|
||||||
<property name="capabilities">
|
<property name="capabilities">
|
||||||
<list>
|
<list>
|
||||||
<ref bean="rmDeleteRecordFolderCapability"/>
|
<ref bean="rmDeleteRecordFolderCapability"/>
|
||||||
@@ -129,7 +134,7 @@
|
|||||||
</property>
|
</property>
|
||||||
<property name="conditions">
|
<property name="conditions">
|
||||||
<map>
|
<map>
|
||||||
<entry key="capabilityCondition.movable" value="true"/>
|
<entry key="capabilityCondition.movableRecordFolder" value="true"/>
|
||||||
</map>
|
</map>
|
||||||
</property>
|
</property>
|
||||||
<property name="targetCapability" ref="rmCreateRecordFolderCapability"/>
|
<property name="targetCapability" ref="rmCreateRecordFolderCapability"/>
|
||||||
|
@@ -36,7 +36,7 @@ import org.alfresco.service.cmr.repository.NodeRef;
|
|||||||
* @since 2.4.1
|
* @since 2.4.1
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class MovableCapabilityCondition extends AbstractCapabilityCondition
|
public class MovableRecordFolderCapabilityCondition extends AbstractCapabilityCondition
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -47,6 +47,6 @@ public class MovableCapabilityCondition extends AbstractCapabilityCondition
|
|||||||
{
|
{
|
||||||
if (nodeService.hasAspect(nodeRef, ASPECT_GHOSTED) && dispositionService.isDisposableItemCutoff(nodeRef))
|
if (nodeService.hasAspect(nodeRef, ASPECT_GHOSTED) && dispositionService.isDisposableItemCutoff(nodeRef))
|
||||||
return true;
|
return true;
|
||||||
return !dispositionService.isDisposableItemCutoff(nodeRef);
|
return !(dispositionService.isDisposableItemCutoff(nodeRef) || recordFolderService.isRecordFolderClosed(nodeRef));
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -510,6 +510,46 @@ public class MoveRecordFolderTest extends BaseRMTestCase
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Given a closed folder
|
||||||
|
* When we evaluate the move capability on it
|
||||||
|
* The access is denied
|
||||||
|
*/
|
||||||
|
public void testMoveClosedFolder()
|
||||||
|
{
|
||||||
|
final NodeRef destination = doTestInTransaction(new Test<NodeRef>()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public NodeRef run()
|
||||||
|
{
|
||||||
|
// create a record category
|
||||||
|
return filePlanService.createRecordCategory(filePlan, GUID.generate());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
final NodeRef testFolder = doTestInTransaction(new Test<NodeRef>()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public NodeRef run()
|
||||||
|
{
|
||||||
|
// create folder
|
||||||
|
NodeRef testFolder = recordFolderService.createRecordFolder(rmContainer, GUID.generate());
|
||||||
|
|
||||||
|
// close folder
|
||||||
|
recordFolderService.closeRecordFolder(testFolder);
|
||||||
|
|
||||||
|
return testFolder;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void test(NodeRef testFolder) throws Exception
|
||||||
|
{
|
||||||
|
Capability moveCapability = capabilityService.getCapability("MoveRecordFolder");
|
||||||
|
assertEquals(AccessDecisionVoter.ACCESS_DENIED, moveCapability.evaluate(testFolder, destination));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private NodeRef createRecordCategory(boolean recordLevel)
|
private NodeRef createRecordCategory(boolean recordLevel)
|
||||||
{
|
{
|
||||||
NodeRef rc = filePlanService.createRecordCategory(filePlan, GUID.generate());
|
NodeRef rc = filePlanService.createRecordCategory(filePlan, GUID.generate());
|
||||||
|
Reference in New Issue
Block a user