mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
RM Transfer Bug Fixes:
* RM-336: Impossible to create File Report for transferred object * RM-170: Not successfully complete Transfer action * RM-210: Assession disposition action does not disappear after event completion * RM-224: Script error when add Disposition Transfer Step if user doesn't have access to any Transfer Location * RM-346: Incorrect list of actions for transfered Folder or Record * RM-358: A folder isn't displayed in Transfers without without reloading the page. * RM-331: Audit is removed from Transfers and Holds * Also the transfer and accession capabilities are refactored to work correctly. * Transfer, accend, and relevant complete actions all correctly react to the different capability assignments. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.0@36528 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -89,4 +89,30 @@
|
||||
<property name="dictionaryService" ref="DictionaryService"/>
|
||||
</bean>
|
||||
|
||||
<bean id="capabilityCondition.transferIsScheduled"
|
||||
parent="capabilityCondition.base"
|
||||
class="org.alfresco.module.org_alfresco_module_rm.capability.declarative.condition.IsScheduledCapabilityCondition">
|
||||
<property name="dispositionService" ref="DispositionService"/>
|
||||
<property name="dispositionAction" value="transfer"/>
|
||||
</bean>
|
||||
|
||||
<bean id="capabilityCondition.accessionIsScheduled"
|
||||
parent="capabilityCondition.base"
|
||||
class="org.alfresco.module.org_alfresco_module_rm.capability.declarative.condition.IsScheduledCapabilityCondition">
|
||||
<property name="dispositionService" ref="DispositionService"/>
|
||||
<property name="dispositionAction" value="accession"/>
|
||||
</bean>
|
||||
|
||||
<bean id="capabilityCondition.isTransferAccession"
|
||||
parent="capabilityCondition.base"
|
||||
class="org.alfresco.module.org_alfresco_module_rm.capability.declarative.condition.IsTransferAccessionCapabilityCondition">
|
||||
</bean>
|
||||
|
||||
<bean id="capabilityCondition.isTransferring"
|
||||
parent="capabilityCondition.base"
|
||||
class="org.alfresco.module.org_alfresco_module_rm.capability.declarative.condition.HasAspectCapabilityCondition">
|
||||
<property name="aspectName" value="rma:transferring"/>
|
||||
<property name="namespaceService" ref="NamespaceService"/>
|
||||
</bean>
|
||||
|
||||
</beans>
|
@@ -0,0 +1,176 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
|
||||
|
||||
<beans>
|
||||
|
||||
<!-- Assignable Capabilities -->
|
||||
|
||||
<!-- Cut off -->
|
||||
<bean id="rmApproveRecordsScheduledForCutoffCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="ApproveRecordsScheduledForCutoff"/>
|
||||
<property name="permission" value="ApproveRecordsScheduledForCutoff"/>
|
||||
<property name="kinds">
|
||||
<list>
|
||||
<value>RECORD_FOLDER</value>
|
||||
<value>RECORD</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="conditions">
|
||||
<map>
|
||||
<entry key="capabilityCondition.filling" value="true"/>
|
||||
<entry key="capabilityCondition.frozenOrFrozenChildren" value="false"/>
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- Transfer -->
|
||||
<bean id="rmAuthorizeAllTransfersCapability"
|
||||
parent="compositeCapability">
|
||||
<property name="name" value="AuthorizeAllTransfers"/>
|
||||
<property name="permission" value="AuthorizeAllTransfers"/>
|
||||
<property name="capabilities">
|
||||
<list>
|
||||
<ref bean="rmInitiateAllTransfersCapability"/>
|
||||
<ref bean="rmCompleteAllTransfersCapability"/>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- Accession -->
|
||||
<bean id="rmAuthorizeNominatedTransfersCapability"
|
||||
parent="compositeCapability">
|
||||
<property name="name" value="AuthorizeNominatedTransfers"/>
|
||||
<property name="permission" value="AuthorizeNominatedTransfers"/>
|
||||
<property name="capabilities">
|
||||
<list>
|
||||
<ref bean="rmInitiateNominatedTransfersCapability"/>
|
||||
<ref bean="rmCompleteNominatedTransfersCapability"/>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- Destroy -->
|
||||
<bean id="rmDestroyRecordsScheduledForDestructionCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="DestroyRecordsScheduledForDestruction"/>
|
||||
<property name="permission" value="DestroyRecordsScheduledForDestruction"/>
|
||||
<property name="kinds">
|
||||
<list>
|
||||
<value>RECORD_FOLDER</value>
|
||||
<value>RECORD</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="conditions">
|
||||
<map>
|
||||
<entry key="capabilityCondition.filling" value="true"/>
|
||||
<entry key="capabilityCondition.frozenOrFrozenChildren" value="false"/>
|
||||
<entry key="capabilityCondition.destroyIsScheduled" value="true"/>
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- Unscheduled Destroy -->
|
||||
<bean id="rmDestroyRecordsCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="DestroyRecords"/>
|
||||
<property name="permission" value="DestroyRecords"/>
|
||||
<property name="kinds">
|
||||
<list>
|
||||
<value>RECORD_FOLDER</value>
|
||||
<value>RECORD</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="conditions">
|
||||
<map>
|
||||
<entry key="capabilityCondition.filling" value="true"/>
|
||||
<entry key="capabilityCondition.frozenOrFrozenChildren" value="false"/>
|
||||
<entry key="capabilityCondition.destroyMayBeScheduled" value="true"/>
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- Manually Change Disposition Dates -->
|
||||
<bean id="rmManuallyChangeDispositionDatesCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="ManuallyChangeDispositionDates"/>
|
||||
<property name="permission" value="ManuallyChangeDispositionDates"/>
|
||||
<property name="kinds">
|
||||
<list>
|
||||
<value>RECORD_FOLDER</value>
|
||||
<value>RECORD</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="conditions">
|
||||
<map>
|
||||
<entry key="capabilityCondition.filling" value="true"/>
|
||||
<entry key="capabilityCondition.frozenOrFrozenChildren" value="false"/>
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- Non-assignable Capabilities -->
|
||||
|
||||
<bean id="rmInitiateAllTransfersCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="InitiateAllTransfers"/>
|
||||
<property name="private" value="true"/>
|
||||
<property name="kinds">
|
||||
<list>
|
||||
<value>RECORD_FOLDER</value>
|
||||
<value>RECORD</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="conditions">
|
||||
<map>
|
||||
<entry key="capabilityCondition.frozenOrFrozenChildren" value="false"/>
|
||||
<entry key="capabilityCondition.transferIsScheduled" value="true" />
|
||||
<entry key="capabilityCondition.isTransferring" value="false" />
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="rmCompleteAllTransfersCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="CompleteAllTransfers"/>
|
||||
<property name="private" value="true"/>
|
||||
<property name="kinds" value="TRANSFER"/>
|
||||
<property name="conditions">
|
||||
<map>
|
||||
<entry key="capabilityCondition.isTransferAccession" value="false"/>
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="rmInitiateNominatedTransfersCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="InitiateNominatedTransfers"/>
|
||||
<property name="private" value="true"/>
|
||||
<property name="kinds">
|
||||
<list>
|
||||
<value>RECORD_FOLDER</value>
|
||||
<value>RECORD</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="conditions">
|
||||
<map>
|
||||
<entry key="capabilityCondition.frozenOrFrozenChildren" value="false"/>
|
||||
<entry key="capabilityCondition.accessionIsScheduled" value="true" />
|
||||
<entry key="capabilityCondition.isTransferring" value="false" />
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="rmCompleteNominatedTransfersCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="CompleteNominatedTransfers"/>
|
||||
<property name="private" value="true"/>
|
||||
<property name="kinds" value="TRANSFER"/>
|
||||
<property name="conditions">
|
||||
<map>
|
||||
<entry key="capabilityCondition.isTransferAccession" value="true"/>
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
</beans>
|
@@ -141,36 +141,6 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="rmDestroyRecordsCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="DestroyRecords"/>
|
||||
<property name="permission" value="DestroyRecords"/>
|
||||
<property name="kinds">
|
||||
<list>
|
||||
<value>RECORD_FOLDER</value>
|
||||
<value>RECORD</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="conditions">
|
||||
<map>
|
||||
<entry key="capabilityCondition.frozenOrFrozenChildren" value="false"/>
|
||||
<entry key="capabilityCondition.destroyMayBeScheduled" value="true"/>
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="rmDestroyRecordsScheduledForDestructionCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="DestroyRecordsScheduledForDestruction"/>
|
||||
<property name="permission" value="DestroyRecordsScheduledForDestruction"/>
|
||||
<property name="conditions">
|
||||
<map>
|
||||
<entry key="capabilityCondition.frozenOrFrozenChildren" value="false"/>
|
||||
<entry key="capabilityCondition.destroyIsScheduled" value="true"/>
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="rmEditDeclaredRecordMetadataCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="EditDeclaredRecordMetadata"/>
|
||||
@@ -252,4 +222,23 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="rmReOpenFoldersCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="ReOpenFolders"/>
|
||||
<property name="permission" value="ReOpenFolders"/>
|
||||
<property name="kinds">
|
||||
<list>
|
||||
<value>RECORD_FOLDER</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="conditions">
|
||||
<map>
|
||||
<entry key="capabilityCondition.filling" value="true"/>
|
||||
<entry key="capabilityCondition.cutoff" value="false"/>
|
||||
<entry key="capabilityCondition.frozenOrFrozenChildren" value="false"/>
|
||||
<entry key="capabilityCondition.closed" value="true"/>
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
</beans>
|
@@ -714,13 +714,11 @@
|
||||
<property name="target">
|
||||
<ref bean="accessionComplete"/>
|
||||
</property>
|
||||
<!--
|
||||
<property name="interceptorNames">
|
||||
<list>
|
||||
<idref bean="accesion_security"/>
|
||||
<idref bean="accession_security"/>
|
||||
</list>
|
||||
</property>
|
||||
-->
|
||||
</bean>
|
||||
|
||||
<bean id="accessionComplete" class="org.alfresco.module.org_alfresco_module_rm.action.impl.TransferCompleteAction" parent="rmAction" depends-on="rmAuthorizeNominatedTransfersCapability">
|
||||
@@ -764,48 +762,4 @@
|
||||
class="org.alfresco.module.org_alfresco_module_rm.action.impl.CreateDispositionScheduleAction"
|
||||
parent="rmAction" />
|
||||
|
||||
<!-- Actions to create DOD 5015 custom types -->
|
||||
<!--
|
||||
<bean id="applyScannedRecord_proxy" class="org.alfresco.module.org_alfresco_module_rm.capability.RMActionProxyFactoryBean" parent="rmProxyAction" init-method="registerAction">
|
||||
<property name="target">
|
||||
<ref bean="applyScannedRecord"/>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="applyScannedRecord" class="org.alfresco.module.org_alfresco_module_rm.action.impl.ApplyCustomTypeAction" parent="rmAction">
|
||||
<property name="customTypeAspect" value="dod:scannedRecord" />
|
||||
</bean>
|
||||
|
||||
|
||||
<bean id="applyPdfRecord_proxy" class="org.alfresco.module.org_alfresco_module_rm.capability.RMActionProxyFactoryBean" parent="rmProxyAction" init-method="registerAction">
|
||||
<property name="target">
|
||||
<ref bean="applyPdfRecord"/>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="applyPdfRecord" class="org.alfresco.module.org_alfresco_module_rm.action.impl.ApplyCustomTypeAction" parent="rmAction">
|
||||
<property name="customTypeAspect" value="dod:pdfRecord" />
|
||||
</bean>
|
||||
|
||||
<bean id="applyDigitalPhotographRecord_proxy" class="org.alfresco.module.org_alfresco_module_rm.capability.RMActionProxyFactoryBean" parent="rmProxyAction" init-method="registerAction">
|
||||
<property name="target">
|
||||
<ref bean="applyDigitalPhotographRecord"/>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="applyDigitalPhotographRecord" class="org.alfresco.module.org_alfresco_module_rm.action.impl.ApplyCustomTypeAction" parent="rmAction">
|
||||
<property name="customTypeAspect" value="dod:digitalPhotographRecord" />
|
||||
</bean>
|
||||
|
||||
<bean id="applyWebRecord_proxy" class="org.alfresco.module.org_alfresco_module_rm.capability.RMActionProxyFactoryBean" parent="rmProxyAction" init-method="registerAction">
|
||||
<property name="target">
|
||||
<ref bean="applyWebRecord"/>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="applyWebRecord" class="org.alfresco.module.org_alfresco_module_rm.action.impl.ApplyCustomTypeAction" parent="rmAction">
|
||||
<property name="customTypeAspect" value="dod:webRecord" />
|
||||
</bean>
|
||||
-->
|
||||
|
||||
</beans>
|
@@ -53,52 +53,12 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="rmApproveRecordsScheduledForCutoffCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="ApproveRecordsScheduledForCutoff"/>
|
||||
<property name="permission" value="ApproveRecordsScheduledForCutoff"/>
|
||||
<property name="kinds">
|
||||
<list>
|
||||
<value>RECORD_FOLDER</value>
|
||||
<value>RECORD</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="conditions">
|
||||
<map>
|
||||
<entry key="capabilityCondition.filling" value="true"/>
|
||||
<entry key="capabilityCondition.frozen" value="false"/>
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="rmAttachRulesToMetadataPropertiesCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="AttachRulesToMetadataProperties"/>
|
||||
<property name="permission" value="AttachRulesToMetadataProperties"/>
|
||||
</bean>
|
||||
|
||||
<bean id="rmAuthorizeAllTransfersCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="AuthorizeAllTransfers"/>
|
||||
<property name="permission" value="AuthorizeAllTransfers"/>
|
||||
<property name="conditions">
|
||||
<map>
|
||||
<entry key="capabilityCondition.frozen" value="false"/>
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="rmAuthorizeNominatedTransfersCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="AuthorizeNominatedTransfers"/>
|
||||
<property name="permission" value="AuthorizeNominatedTransfers"/>
|
||||
<property name="conditions">
|
||||
<map>
|
||||
<entry key="capabilityCondition.frozen" value="false"/>
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="rmChangeOrDeleteReferencesCapability"
|
||||
parent="rmBaseCapability"
|
||||
class="org.alfresco.module.org_alfresco_module_rm.capability.impl.ChangeOrDeleteReferencesCapability">
|
||||
@@ -291,18 +251,6 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="rmManuallyChangeDispositionDatesCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="ManuallyChangeDispositionDates"/>
|
||||
<property name="permission" value="ManuallyChangeDispositionDates"/>
|
||||
<property name="conditions">
|
||||
<map>
|
||||
<entry key="capabilityCondition.filling" value="true"/>
|
||||
<entry key="capabilityCondition.frozen" value="false"/>
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="rmMapClassificationGuideMetadataCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="MapClassificationGuideMetadata" />
|
||||
@@ -335,25 +283,6 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="rmReOpenFoldersCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="ReOpenFolders"/>
|
||||
<property name="permission" value="ReOpenFolders"/>
|
||||
<property name="kinds">
|
||||
<list>
|
||||
<value>RECORD_FOLDER</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="conditions">
|
||||
<map>
|
||||
<entry key="capabilityCondition.filling" value="true"/>
|
||||
<entry key="capabilityCondition.cutoff" value="false"/>
|
||||
<entry key="capabilityCondition.frozenOrFrozenChildren" value="false"/>
|
||||
<entry key="capabilityCondition.closed" value="true"/>
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="rmSelectAuditMetadataCapability"
|
||||
parent="declarativeCapability">
|
||||
<property name="name" value="SelectAuditMetadata" />
|
||||
@@ -422,6 +351,9 @@
|
||||
<!-- Freeze capabilities -->
|
||||
<import resource="classpath:alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-freeze-context.xml"/>
|
||||
|
||||
<!-- Disposition capabilities -->
|
||||
<import resource="classpath:alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-disposition-context.xml"/>
|
||||
|
||||
<!-- Group capabilities -->
|
||||
<import resource="classpath:alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-group-context.xml"/>
|
||||
|
||||
|
@@ -314,13 +314,6 @@
|
||||
<bean id="jsonConversionComponent.viewAuditLogAction"
|
||||
parent="jsonConversionComponent.baseAction">
|
||||
<property name="name" value="viewAuditLog"/>
|
||||
<property name="kinds">
|
||||
<set>
|
||||
<value>RECORD_CATEGORY</value>
|
||||
<value>RECORD_FOLDER</value>
|
||||
<value>RECORD</value>
|
||||
</set>
|
||||
</property>
|
||||
<property name="capability" value ="AccessAudit"/>
|
||||
</bean>
|
||||
|
||||
|
@@ -64,13 +64,21 @@ public interface CapabilityService
|
||||
Set<Capability> getCapabilities(boolean includePrivate);
|
||||
|
||||
/**
|
||||
* Get all the capabilities access state based on the current user.
|
||||
* Get all the capabilities access state based on the current user for the assignable capabilities.
|
||||
*
|
||||
* @param nodeRef node reference
|
||||
* @return
|
||||
*/
|
||||
Map<Capability, AccessStatus> getCapabilitiesAccessState(NodeRef nodeRef);
|
||||
|
||||
/**
|
||||
* Get all the capabilities access state based on the current user.
|
||||
*
|
||||
* @param nodeRef node reference
|
||||
* @return
|
||||
*/
|
||||
Map<Capability, AccessStatus> getCapabilitiesAccessState(NodeRef nodeRef, boolean includePrivate);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param nodeRef
|
||||
|
@@ -94,8 +94,18 @@ public class CapabilityServiceImpl implements CapabilityService
|
||||
*/
|
||||
public Map<Capability, AccessStatus> getCapabilitiesAccessState(NodeRef nodeRef)
|
||||
{
|
||||
return getCapabilitiesAccessState(nodeRef, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService#getCapabilitiesAccessState(org.alfresco.service.cmr.repository.NodeRef, boolean)
|
||||
*/
|
||||
@Override
|
||||
public Map<Capability, AccessStatus> getCapabilitiesAccessState(NodeRef nodeRef, boolean includePrivate)
|
||||
{
|
||||
Set<Capability> listOfCapabilites = getCapabilities(includePrivate);
|
||||
HashMap<Capability, AccessStatus> answer = new HashMap<Capability, AccessStatus>();
|
||||
for (Capability capability : capabilities.values())
|
||||
for (Capability capability : listOfCapabilites)
|
||||
{
|
||||
AccessStatus status = capability.hasPermission(nodeRef);
|
||||
if (answer.put(capability, status) != null)
|
||||
|
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2011 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.capability.declarative.condition;
|
||||
|
||||
import org.alfresco.module.org_alfresco_module_rm.capability.declarative.AbstractCapabilityCondition;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.namespace.NamespaceService;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
|
||||
/**
|
||||
* @author Roy Wetherall
|
||||
*/
|
||||
public class HasAspectCapabilityCondition extends AbstractCapabilityCondition
|
||||
{
|
||||
private String aspectName;
|
||||
|
||||
private NamespaceService namespaceService;
|
||||
|
||||
public void setAspectName(String aspectName)
|
||||
{
|
||||
this.aspectName = aspectName;
|
||||
}
|
||||
|
||||
public void setNamespaceService(NamespaceService namespaceService)
|
||||
{
|
||||
this.namespaceService = namespaceService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.capability.declarative.CapabilityCondition#evaluate(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
@Override
|
||||
public boolean evaluate(NodeRef nodeRef)
|
||||
{
|
||||
boolean result = false;
|
||||
if (aspectName != null)
|
||||
{
|
||||
QName aspect = QName.createQName(aspectName, namespaceService);
|
||||
result = nodeService.hasAspect(nodeRef, aspect);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
@@ -24,7 +24,7 @@ import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
|
||||
/**
|
||||
* Indicates whether the given disposition action 'may' be scheduled in the future
|
||||
* Indicates whether the given disposition action is scheduled next
|
||||
*
|
||||
* @author Roy Wetherall
|
||||
*/
|
||||
|
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2011 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.capability.declarative.condition;
|
||||
|
||||
import org.alfresco.module.org_alfresco_module_rm.FilePlanComponentKind;
|
||||
import org.alfresco.module.org_alfresco_module_rm.capability.declarative.AbstractCapabilityCondition;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
|
||||
/**
|
||||
* @author Roy Wetherall
|
||||
*/
|
||||
public class IsTransferAccessionCapabilityCondition extends AbstractCapabilityCondition
|
||||
{
|
||||
/**
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.capability.declarative.CapabilityCondition#evaluate(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
@Override
|
||||
public boolean evaluate(NodeRef nodeRef)
|
||||
{
|
||||
boolean result = false;
|
||||
|
||||
FilePlanComponentKind kind = rmService.getFilePlanComponentKind(nodeRef);
|
||||
if (FilePlanComponentKind.TRANSFER.equals(kind) == true)
|
||||
{
|
||||
Boolean value = (Boolean)nodeService.getProperty(nodeRef, PROP_TRANSFER_ACCESSION_INDICATOR);
|
||||
if (value != null)
|
||||
{
|
||||
result = value.booleanValue();
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
@@ -424,7 +424,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
.getSystemUserName());
|
||||
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(filePlan);
|
||||
assertEquals(66, access.size());
|
||||
assertEquals(59, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -543,7 +543,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
.setFullyAuthenticatedUser(AuthenticationUtil
|
||||
.getAdminUserName());
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(filePlan);
|
||||
assertEquals(66, access.size());
|
||||
assertEquals(59, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -664,7 +664,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(rmAdminName);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(filePlan);
|
||||
assertEquals(66, access.size());
|
||||
assertEquals(59, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -791,7 +791,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(recordsManagerName);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(filePlan);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
assertEquals(59, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -914,7 +914,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(securityOfficerName);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(filePlan);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
assertEquals(59, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -1032,7 +1032,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(powerUserName);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(filePlan);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
assertEquals(59, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -1150,7 +1150,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(rmUserName);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(filePlan);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
assertEquals(59, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -1269,7 +1269,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
.setFullyAuthenticatedUser(AuthenticationUtil.SYSTEM_USER_NAME);
|
||||
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(rmContainer);
|
||||
assertEquals(66, access.size());
|
||||
assertEquals(59, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -1391,7 +1391,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
.setFullyAuthenticatedUser(AuthenticationUtil
|
||||
.getAdminUserName());
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(rmContainer);
|
||||
assertEquals(66, access.size());
|
||||
assertEquals(59, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -1512,7 +1512,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(rmAdminName);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(rmContainer);
|
||||
assertEquals(66, access.size());
|
||||
assertEquals(59, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -1635,7 +1635,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
// permissionService.setPermission(recordCategory_1,
|
||||
// rm_records_manager, FILING, true);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(rmContainer);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
assertEquals(59, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -1759,7 +1759,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
// securityOfficerName, FILING, true);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(rmContainer);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
assertEquals(59, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -1880,7 +1880,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
// powerUserName, FILING, true);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(rmContainer);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
assertEquals(59, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -2001,7 +2001,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
// rmUserName, FILING, true);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(rmContainer);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
assertEquals(59, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -2121,7 +2121,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(rmFolder);
|
||||
assertEquals(66, access.size());
|
||||
assertEquals(59, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.ALLOWED);
|
||||
@@ -2250,7 +2250,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
.getAdminUserName());
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(rmFolder);
|
||||
assertEquals(66, access.size());
|
||||
assertEquals(59, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.ALLOWED);
|
||||
@@ -2373,7 +2373,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
.setFullyAuthenticatedUser(rmAdminName);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(rmFolder);
|
||||
assertEquals(66, access.size());
|
||||
assertEquals(59, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.ALLOWED);
|
||||
@@ -2494,7 +2494,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(recordsManagerName);
|
||||
//setFilingOnRecordFolder(rmFolder, recordsManagerName);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(rmFolder);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
assertEquals(59, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.ALLOWED);
|
||||
@@ -2615,7 +2615,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(securityOfficerName);
|
||||
//setFilingOnRecordFolder(rmFolder, securityOfficerName);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(rmFolder);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
assertEquals(59, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.ALLOWED);
|
||||
@@ -2733,7 +2733,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(powerUserName);
|
||||
//setFilingOnRecordFolder(rmFolder, powerUserName);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(rmFolder);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
assertEquals(59, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.ALLOWED);
|
||||
@@ -2853,7 +2853,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
//setFilingOnRecordFolder(rmFolder, rmUserName);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(rmFolder);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
assertEquals(59, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -2970,7 +2970,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
{
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.SYSTEM_USER_NAME);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(record);
|
||||
assertEquals(66, access.size());
|
||||
assertEquals(59, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -3094,7 +3094,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
.getAdminUserName());
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(record);
|
||||
assertEquals(66, access.size());
|
||||
assertEquals(59, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -3217,7 +3217,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
.setFullyAuthenticatedUser(rmAdminName);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(record);
|
||||
assertEquals(66, access.size());
|
||||
assertEquals(59, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -3341,7 +3341,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
// setFilingOnRecord(record, recordsManagerName);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(record);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
assertEquals(59, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -3465,7 +3465,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
// setFilingOnRecord(record, securityOfficerName);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(record);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
assertEquals(59, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -3587,7 +3587,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
// setFilingOnRecord(record, powerUserName);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(record);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
assertEquals(59, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -3708,7 +3708,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
// setFilingOnRecord(record, rmUserName);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(record);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
assertEquals(59, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
AccessStatus.DENIED);
|
||||
|
Reference in New Issue
Block a user