diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionServiceImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionServiceImpl.java index 29b1a5737b..f87af2aeb6 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionServiceImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionServiceImpl.java @@ -287,7 +287,15 @@ public class DispositionServiceImpl extends ServiceBaseImpl NodeRef dsNodeRef = null; if (isRecord(nodeRef)) { - DispositionSchedule originDispositionSchedule = getOriginDispositionSchedule(nodeRef); + // calculate disposition schedule without taking into account the user + DispositionSchedule originDispositionSchedule = AuthenticationUtil.runAsSystem(new RunAsWork() + { + @Override + public DispositionSchedule doWork() + { + return getOriginDispositionSchedule(nodeRef); + } + }); // if the initial disposition schedule of the record is folder based if (originDispositionSchedule == null || isNotTrue(originDispositionSchedule.isRecordLevelDisposition()))