Class ProjectRightHelper
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.plugins.workspaces.project.rights.ProjectRightHelper
-
- All Implemented Interfaces:
LogEnabled,Component,Serviceable
public class ProjectRightHelper extends AbstractLogEnabled implements Serviceable, Component
Helper related to rights management for projects.
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<String,WorkspaceModule>_contentTypesToModuleAssociation ContentTypeId, Moduleprotected CurrentUserProvider_currentUserProviderCurrent user providerprotected WorkspaceModuleExtensionPoint_moduleManagerEPModule managers EPprotected ProjectManager_projectManagerProject managerprotected AmetysObjectResolver_resolverAmetys object resolverprotected RightManager_rightManagerRight managerprotected RightProfilesDAO_rightProfilesDaoRight profiles managerprotected WorkspaceModuleExtensionPoint_workspaceModuleEPWorkspace Module ExtensionPointstatic StringROLEAvalon Role
-
Constructor Summary
Constructors Constructor Description ProjectRightHelper()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanAddMember(Project project)Determines if the current user has right to add member on projectbooleancanAddTag(Project project)Determines if the current user has right to add tags on projectbooleancanEditMember(Project project)Determines if the current user has right to edit member on projectbooleancanRemoveMember(Project project)Determines if the current user has right to add member on projectbooleancanRemoveTag(Project project)Determines if the current user has right to remove tags on projectbooleancanViewMembers(Project project)Determines if the current user can view the members of a projectSet<Profile>getProfiles()Retrieves all project profile given the "profile list" configuration parameter Profile order is guaranteed to be the same as in the configuration parameter.Set<String>getProfilesIds()Retrieves all project profiles ids given the "profile list" configuration parameter Profile order is guaranteed to be the same as in the configuration parameter.Map<String,WorkspaceModule>getProjectContentTypesAndModules()The association of all project content types and associated modulesMap<String,Object>getProjectRightsData(String projectName)Get the list of profiles and the list of modules available for rights affectation in the project.booleanhasReadAccess(Project project)Test if the current user has a read access on the projectbooleanhasRight(String rightId, ExplorerNode explorerNode)Test if the current user has the right on an explorer nodebooleanhasRight(String rightId, Project project)Test if the current user has the right on the projectvoidservice(ServiceManager manager)-
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
-
-
-
Field Detail
-
_resolver
protected AmetysObjectResolver _resolver
Ametys object resolver
-
_projectManager
protected ProjectManager _projectManager
Project manager
-
_rightManager
protected RightManager _rightManager
Right manager
-
_rightProfilesDao
protected RightProfilesDAO _rightProfilesDao
Right profiles manager
-
_currentUserProvider
protected CurrentUserProvider _currentUserProvider
Current user provider
-
_workspaceModuleEP
protected WorkspaceModuleExtensionPoint _workspaceModuleEP
Workspace Module ExtensionPoint
-
_contentTypesToModule
protected Map<String,WorkspaceModule> _contentTypesToModule
Association ContentTypeId, Module
-
_moduleManagerEP
protected WorkspaceModuleExtensionPoint _moduleManagerEP
Module managers EP
-
-
Constructor Detail
-
ProjectRightHelper
public ProjectRightHelper()
-
-
Method Detail
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
servicein interfaceServiceable- Throws:
ServiceException
-
getProjectContentTypesAndModules
public Map<String,WorkspaceModule> getProjectContentTypesAndModules()
The association of all project content types and associated modules- Returns:
- The association
-
getProfilesIds
public Set<String> getProfilesIds()
Retrieves all project profiles ids given the "profile list" configuration parameter Profile order is guaranteed to be the same as in the configuration parameter.- Returns:
- the projects
-
getProfiles
public Set<Profile> getProfiles()
Retrieves all project profile given the "profile list" configuration parameter Profile order is guaranteed to be the same as in the configuration parameter.- Returns:
- the projects
-
getProjectRightsData
public Map<String,Object> getProjectRightsData(String projectName)
Get the list of profiles and the list of modules available for rights affectation in the project.- Parameters:
projectName- The project to check if the modules are activated. Can be null to ignore- Returns:
- the project rights data
-
canViewMembers
public boolean canViewMembers(Project project)
Determines if the current user can view the members of a project- Parameters:
project- the project- Returns:
- true if user can view members
-
canAddMember
public boolean canAddMember(Project project)
Determines if the current user has right to add member on project- Parameters:
project- the project- Returns:
- true if user can add member
-
canEditMember
public boolean canEditMember(Project project)
Determines if the current user has right to edit member on project- Parameters:
project- the project- Returns:
- true if user can edit member
-
canRemoveMember
public boolean canRemoveMember(Project project)
Determines if the current user has right to add member on project- Parameters:
project- the project- Returns:
- true if user can remove member
-
canAddTag
public boolean canAddTag(Project project)
Determines if the current user has right to add tags on project- Parameters:
project- the project- Returns:
- true if user can add tags
-
canRemoveTag
public boolean canRemoveTag(Project project)
Determines if the current user has right to remove tags on project- Parameters:
project- the project- Returns:
- true if user can remove tags
-
hasRight
public boolean hasRight(String rightId, Project project)
Test if the current user has the right on the project- Parameters:
rightId- The right idproject- The project- Returns:
- true if has right
-
hasReadAccess
public boolean hasReadAccess(Project project)
Test if the current user has a read access on the project- Parameters:
project- The project- Returns:
- true if has read access
-
hasRight
public boolean hasRight(String rightId, ExplorerNode explorerNode)
Test if the current user has the right on an explorer node- Parameters:
rightId- The right idexplorerNode- The explorer node- Returns:
- true if has right
-
-