mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
RM-6864 Fix roles issue
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
<property name="recordContributorsGroupName" value="${rm.record.contributors.group.name}"/>
|
||||
<property name="recordService" ref="RecordService"/>
|
||||
<property name="filePlanService" ref="FilePlanService"/>
|
||||
<property name="filePlanRoleService" ref="FilePlanRoleService" />
|
||||
<property name="capabilityService" ref="CapabilityService"/>
|
||||
<property name="dictionaryService" ref="DictionaryService" />
|
||||
<property name="siteService" ref="SiteService" />
|
||||
|
@@ -36,9 +36,11 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel;
|
||||
import org.alfresco.module.org_alfresco_module_rm.capability.impl.ViewRecordsCapability;
|
||||
import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionAction;
|
||||
import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService;
|
||||
@@ -47,6 +49,8 @@ import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanComponentKind
|
||||
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.role.FilePlanRoleService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.role.Role;
|
||||
import org.alfresco.repo.cache.SimpleCache;
|
||||
import org.alfresco.repo.node.NodeServicePolicies;
|
||||
import org.alfresco.repo.policy.JavaBehaviour;
|
||||
@@ -58,6 +62,7 @@ import org.alfresco.service.cmr.model.FileInfo;
|
||||
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.security.AccessStatus;
|
||||
import org.alfresco.service.cmr.security.PermissionService;
|
||||
import org.alfresco.service.cmr.site.SiteInfo;
|
||||
import org.alfresco.service.cmr.site.SiteService;
|
||||
import org.alfresco.service.namespace.NamespaceService;
|
||||
@@ -95,6 +100,9 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS
|
||||
/** File plan service */
|
||||
private FilePlanService filePlanService;
|
||||
|
||||
/** File plan role service */
|
||||
protected FilePlanRoleService filePlanRoleService;
|
||||
|
||||
/** Capability service */
|
||||
private CapabilityService capabilityService;
|
||||
|
||||
@@ -156,6 +164,14 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS
|
||||
this.filePlanService = filePlanService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param filePlanRoleService file plan role service
|
||||
*/
|
||||
public void setFilePlanRoleService(FilePlanRoleService filePlanRoleService)
|
||||
{
|
||||
this.filePlanRoleService = filePlanRoleService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param capabilityService capability service
|
||||
*/
|
||||
@@ -277,7 +293,7 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS
|
||||
// Set the base root values
|
||||
super.setRootValues(nodeInfo, rootJSONObject, useShortQNames);
|
||||
|
||||
// check the exisitance of the RM site
|
||||
// check the existence of the RM site
|
||||
checkRmSiteExistence(rootJSONObject);
|
||||
|
||||
// get the record contributor information
|
||||
@@ -301,11 +317,22 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS
|
||||
addInfo(nodeInfo, rootJSONObject);
|
||||
}
|
||||
}
|
||||
Set<NodeRef> filePlans = filePlanService.getFilePlans();
|
||||
if (!filePlans.isEmpty())
|
||||
{
|
||||
NodeRef filePlanNodeRef = filePlans.stream().findFirst().orElse(null);
|
||||
if (filePlanNodeRef != null)
|
||||
{
|
||||
Set<Role> roles = filePlanRoleService.getRolesByUser(filePlanNodeRef, AuthenticationUtil.getFullyAuthenticatedUser());
|
||||
boolean hasFilingPermission = (roles != null && roles.size() > 0) ? true : false;
|
||||
rootJSONObject.put("isVisibleForCurrentUser", hasFilingPermission);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks for the existance of the RM site
|
||||
* Checks for the existence of the RM site
|
||||
*
|
||||
* @param rootJSONObject the root JSON object
|
||||
*/
|
||||
|
Reference in New Issue
Block a user