From bdf16ff7120956fb7f54b3fdb2200b03741d504b Mon Sep 17 00:00:00 2001 From: Craig Tan Date: Fri, 5 Jul 2013 05:25:22 +0000 Subject: [PATCH] RM-682 User with Manage Rules capability can't delete the rule git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@52162 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/rule/ExtendedRuleServiceImpl.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) 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 33624e4929..39270acc45 100644 --- a/rm-server/source/java/org/alfresco/repo/rule/ExtendedRuleServiceImpl.java +++ b/rm-server/source/java/org/alfresco/repo/rule/ExtendedRuleServiceImpl.java @@ -88,6 +88,28 @@ public class ExtendedRuleServiceImpl extends RuleServiceImpl } } + @Override + public void removeRule(final NodeRef nodeRef, final Rule rule) + { + if (recordsManagementService.isFilePlanComponent(nodeRef) == true && runAsRmAdmin == true) + { + AuthenticationUtil.runAsSystem(new RunAsWork() + { + @Override + public Void doWork() throws Exception + { + ExtendedRuleServiceImpl.super.removeRule(nodeRef, rule); + return null; + } + + }); + } + else + { + super.removeRule(nodeRef, rule); + } + } + @Override public void executeRule(final Rule rule, final NodeRef nodeRef, final Set executedRules) {