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="recordContributorsGroupName" value="${rm.record.contributors.group.name}"/>
|
||||||
<property name="recordService" ref="RecordService"/>
|
<property name="recordService" ref="RecordService"/>
|
||||||
<property name="filePlanService" ref="FilePlanService"/>
|
<property name="filePlanService" ref="FilePlanService"/>
|
||||||
|
<property name="filePlanRoleService" ref="FilePlanRoleService" />
|
||||||
<property name="capabilityService" ref="CapabilityService"/>
|
<property name="capabilityService" ref="CapabilityService"/>
|
||||||
<property name="dictionaryService" ref="DictionaryService" />
|
<property name="dictionaryService" ref="DictionaryService" />
|
||||||
<property name="siteService" ref="SiteService" />
|
<property name="siteService" ref="SiteService" />
|
||||||
|
@@ -36,9 +36,11 @@ import java.util.ArrayList;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService;
|
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.capability.impl.ViewRecordsCapability;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionAction;
|
import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionAction;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService;
|
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.fileplan.FilePlanService;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
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.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.cache.SimpleCache;
|
||||||
import org.alfresco.repo.node.NodeServicePolicies;
|
import org.alfresco.repo.node.NodeServicePolicies;
|
||||||
import org.alfresco.repo.policy.JavaBehaviour;
|
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.ChildAssociationRef;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.security.AccessStatus;
|
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.SiteInfo;
|
||||||
import org.alfresco.service.cmr.site.SiteService;
|
import org.alfresco.service.cmr.site.SiteService;
|
||||||
import org.alfresco.service.namespace.NamespaceService;
|
import org.alfresco.service.namespace.NamespaceService;
|
||||||
@@ -95,6 +100,9 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS
|
|||||||
/** File plan service */
|
/** File plan service */
|
||||||
private FilePlanService filePlanService;
|
private FilePlanService filePlanService;
|
||||||
|
|
||||||
|
/** File plan role service */
|
||||||
|
protected FilePlanRoleService filePlanRoleService;
|
||||||
|
|
||||||
/** Capability service */
|
/** Capability service */
|
||||||
private CapabilityService capabilityService;
|
private CapabilityService capabilityService;
|
||||||
|
|
||||||
@@ -156,6 +164,14 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS
|
|||||||
this.filePlanService = filePlanService;
|
this.filePlanService = filePlanService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param filePlanRoleService file plan role service
|
||||||
|
*/
|
||||||
|
public void setFilePlanRoleService(FilePlanRoleService filePlanRoleService)
|
||||||
|
{
|
||||||
|
this.filePlanRoleService = filePlanRoleService;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param capabilityService capability service
|
* @param capabilityService capability service
|
||||||
*/
|
*/
|
||||||
@@ -277,7 +293,7 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS
|
|||||||
// Set the base root values
|
// Set the base root values
|
||||||
super.setRootValues(nodeInfo, rootJSONObject, useShortQNames);
|
super.setRootValues(nodeInfo, rootJSONObject, useShortQNames);
|
||||||
|
|
||||||
// check the exisitance of the RM site
|
// check the existence of the RM site
|
||||||
checkRmSiteExistence(rootJSONObject);
|
checkRmSiteExistence(rootJSONObject);
|
||||||
|
|
||||||
// get the record contributor information
|
// get the record contributor information
|
||||||
@@ -301,11 +317,22 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS
|
|||||||
addInfo(nodeInfo, rootJSONObject);
|
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
|
* @param rootJSONObject the root JSON object
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user