From 4ac6ec8ba5f159723d5642cee05de753f06bbcce Mon Sep 17 00:00:00 2001 From: Tuna Aksoy Date: Mon, 27 Apr 2015 13:21:10 +0000 Subject: [PATCH] RM-2192 (User has no access to the recorded document after it was filed) +review RM-37 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.2.1.x@102756 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../recordfolder/RecordFolderServiceImpl.java | 12 ++++++++++-- .../test/integration/issue/RM2192Test.java | 4 ++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/recordfolder/RecordFolderServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/recordfolder/RecordFolderServiceImpl.java index eb59072ab3..e432769e1b 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/recordfolder/RecordFolderServiceImpl.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/recordfolder/RecordFolderServiceImpl.java @@ -32,6 +32,8 @@ import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService; import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel; import org.alfresco.module.org_alfresco_module_rm.record.RecordService; import org.alfresco.module.org_alfresco_module_rm.util.ServiceBaseImpl; +import org.alfresco.repo.security.authentication.AuthenticationUtil; +import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.namespace.NamespaceService; @@ -146,7 +148,7 @@ public class RecordFolderServiceImpl extends ServiceBaseImpl * @see org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService#isRecordFolderClosed(NodeRef) */ @Override - public boolean isRecordFolderClosed(NodeRef nodeRef) + public boolean isRecordFolderClosed(final NodeRef nodeRef) { ParameterCheck.mandatory("nodeRef", nodeRef); @@ -156,7 +158,13 @@ public class RecordFolderServiceImpl extends ServiceBaseImpl throw new AlfrescoRuntimeException(I18NUtil.getMessage(MSG_RECORD_FOLDER_EXPECTED)); } - return ((Boolean) nodeService.getProperty(nodeRef, PROP_IS_CLOSED)).booleanValue(); + return AuthenticationUtil.runAsSystem(new RunAsWork() + { + public Boolean doWork() throws Exception + { + return ((Boolean) nodeService.getProperty(nodeRef, PROP_IS_CLOSED)); + } + }); } @Override diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM2192Test.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM2192Test.java index 3279872496..bf9759c9a0 100644 --- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM2192Test.java +++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM2192Test.java @@ -1,5 +1,6 @@ package org.alfresco.module.org_alfresco_module_rm.test.integration.issue; +import static org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService.ROLE_RECORDS_MANAGER; import static org.alfresco.repo.site.SiteModel.SITE_MANAGER; import static org.alfresco.repo.site.SiteServiceImpl.getSiteContainer; import static org.alfresco.service.cmr.rule.RuleType.INBOUND; @@ -10,6 +11,7 @@ import static org.alfresco.util.GUID.generate; import org.alfresco.module.org_alfresco_module_rm.action.dm.CreateRecordAction; import org.alfresco.module.org_alfresco_module_rm.action.impl.FileToAction; +import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService; import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase; import org.alfresco.repo.jscript.app.JSONConversionComponent; import org.alfresco.service.cmr.action.Action; @@ -82,6 +84,8 @@ public class RM2192Test extends BaseRMTestCase createPerson(user); siteService.setMembership(collabSiteId2, user, SITE_MANAGER); + + filePlanRoleService.assignRoleToAuthority(filePlan, ROLE_RECORDS_MANAGER, user); } public void testAccessToRecordAfterDeclaring()