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) {