RM-652: Updated "Reject" rule is executed when the record is created

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@49881 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Roy Wetherall
2013-05-09 06:39:29 +00:00
parent 5d2cf093ff
commit 3d3ebef858
2 changed files with 65 additions and 44 deletions

View File

@@ -1105,6 +1105,7 @@
<property name="ownableService" ref="OwnableService" />
<property name="notificationHelper" ref="recordsManagementNotificationHelper"/>
<property name="capabilityService" ref="CapabilityService" />
<property name="ruleService" ref="RuleService" />
</bean>
<bean id="RecordService" class="org.springframework.aop.framework.ProxyFactoryBean">

View File

@@ -62,6 +62,7 @@ import org.alfresco.service.cmr.dictionary.PropertyDefinition;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.rule.RuleService;
import org.alfresco.service.cmr.security.AccessPermission;
import org.alfresco.service.cmr.security.AccessStatus;
import org.alfresco.service.cmr.security.OwnableService;
@@ -170,6 +171,9 @@ public class RecordServiceImpl implements RecordService,
/** Capability service */
private CapabilityService capabilityService;
/** Rule service */
private RuleService ruleService;
/** List of available record meta-data aspects */
private Set<QName> recordMetaDataAspects;
@@ -285,6 +289,14 @@ public class RecordServiceImpl implements RecordService,
this.capabilityService = capabilityService;
}
/**
* @param ruleService rule service
*/
public void setRuleService(RuleService ruleService)
{
this.ruleService = ruleService;
}
/**
* Init method
*/
@@ -662,6 +674,9 @@ public class RecordServiceImpl implements RecordService,
{
@Override
public Void doWork() throws Exception
{
ruleService.disableRules();
try
{
// take note of the record id
String recordId = (String)nodeService.getProperty(nodeRef, PROP_IDENTIFIER);
@@ -714,6 +729,11 @@ public class RecordServiceImpl implements RecordService,
// send an email to the record creator
notificationHelper.recordRejectedEmailNotification(nodeRef, recordId, documentOwner);
}
finally
{
ruleService.enableRules();
}
return null;
}