From c914e2f02ecc2a9772d8ec6aa659fa0ff980ad76 Mon Sep 17 00:00:00 2001 From: Tuna Aksoy Date: Wed, 3 Jul 2013 13:14:59 +0000 Subject: [PATCH] RM-756 (Rule do not fire within collaboration site) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@52069 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/rule/ExtendedRuleServiceImpl.java | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/rm-server/source/java/org/alfresco/repo/rule/ExtendedRuleServiceImpl.java b/rm-server/source/java/org/alfresco/repo/rule/ExtendedRuleServiceImpl.java index 7901081930..33624e4929 100644 --- a/rm-server/source/java/org/alfresco/repo/rule/ExtendedRuleServiceImpl.java +++ b/rm-server/source/java/org/alfresco/repo/rule/ExtendedRuleServiceImpl.java @@ -95,27 +95,25 @@ public class ExtendedRuleServiceImpl extends RuleServiceImpl // The dispositionSchedule node will not be executed by rules if (recordsManagementService.isFilePlanComponent(nodeRef) == true - && typeQName.equals(RecordsManagementModel.TYPE_DISPOSITION_SCHEDULE) == false) + && typeQName.equals(RecordsManagementModel.TYPE_DISPOSITION_SCHEDULE) == false + && isFilePlanComponentRule(rule) == true && runAsRmAdmin == true) { - if (isFilePlanComponentRule(rule) == true && runAsRmAdmin == true) + String user = AuthenticationUtil.getFullyAuthenticatedUser(); + try { - String user = AuthenticationUtil.getFullyAuthenticatedUser(); - try - { - AuthenticationUtil.setFullyAuthenticatedUser(filePlanAuthenticationService.getRmAdminUserName()); - ExtendedRuleServiceImpl.super.executeRule(rule, nodeRef, executedRules); - } - finally - { - AuthenticationUtil.setFullyAuthenticatedUser(user); - } + AuthenticationUtil.setFullyAuthenticatedUser(filePlanAuthenticationService.getRmAdminUserName()); + ExtendedRuleServiceImpl.super.executeRule(rule, nodeRef, executedRules); } - else + finally { - // just execute the rule as the current user - super.executeRule(rule, nodeRef, executedRules); + AuthenticationUtil.setFullyAuthenticatedUser(user); } } + else + { + // just execute the rule as the current user + super.executeRule(rule, nodeRef, executedRules); + } } private boolean isFilePlanComponentRule(Rule rule)