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>
_contentTypesToModule
Association ContentTypeId, Moduleprotected CurrentUserProvider
_currentUserProvider
Current user providerprotected WorkspaceModuleExtensionPoint
_moduleManagerEP
Module managers EPprotected ProjectManager
_projectManager
Project managerprotected AmetysObjectResolver
_resolver
Ametys object resolverprotected RightManager
_rightManager
Right managerprotected RightProfilesDAO
_rightProfilesDao
Right profiles managerprotected WorkspaceModuleExtensionPoint
_workspaceModuleEP
Workspace Module ExtensionPointstatic String
ROLE
Avalon Role
-
Constructor Summary
Constructors Constructor Description ProjectRightHelper()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canAddMember(Project project)
Determines if the current user has right to add member on projectboolean
canAddTag(Project project)
Determines if the current user has right to add tags on projectboolean
canEditMember(Project project)
Determines if the current user has right to edit member on projectboolean
canRemoveMember(Project project)
Determines if the current user has right to add member on projectboolean
canRemoveTag(Project project)
Determines if the current user has right to remove tags on projectboolean
canViewMembers(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.boolean
hasReadAccess(Project project)
Test if the current user has a read access on the projectboolean
hasRight(String rightId, ExplorerNode explorerNode)
Test if the current user has the right on an explorer nodeboolean
hasRight(String rightId, Project project)
Test if the current user has the right on the projectvoid
service(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:
service
in 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
-
-