Package org.ametys.core.ui.right
Class ProfileAssignmentsToolClientSideElement
java.lang.Object
org.ametys.runtime.plugin.component.AbstractLogEnabled
org.ametys.core.ui.StaticFileImportsClientSideElement
org.ametys.core.ui.StaticClientSideElement
org.ametys.core.ui.right.ProfileAssignmentsToolClientSideElement
- All Implemented Interfaces:
ClientSideElement
,LogEnabled
,PluginAware
,Configurable
,Serviceable
ClientSideElement
for the tool displaying the profile assignments-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
Enumeration of all possible access typesstatic enum
Enumeration of all possible target typesNested classes/interfaces inherited from interface org.ametys.core.ui.ClientSideElement
ClientSideElement.Script, ClientSideElement.ScriptFile
-
Field Summary
Modifier and TypeFieldDescriptionprotected GroupDirectoryDAO
The DAO for group directoriesprotected GroupManager
The group managerprotected ObservationManager
The observation managerprotected ProfileAssignmentStorageExtensionPoint
The profile assignment storage componentprotected RightProfilesDAO
The profile DAOprotected RightAssignmentContextExtensionPoint
The extension point for right assignment contextsprotected UserHelper
The user helperFields inherited from class org.ametys.core.ui.StaticFileImportsClientSideElement
_currentUserProvider, _dependencies, _featureName, _id, _pluginName, _rightManager, _rights, _rightsMode, _script
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
canDelegateRights
(UserIdentity user, Set<GroupIdentity> groups, String profileId, String assignment, Object context) Only allow user with right CMS_Rights_Delegate_Rights to add a profil that this user already have on this contextvoid
disallowInheritance
(String rightAssignmentCtxId, Object jsContext, boolean disallow) Allow or disallow the inheritance of assignments on the given contextgetInheritedAssignment
(String rightAssignmentCtxId, Object jsContext, String profileId, String targetType, Map<String, String> identity) Get the first permission given by inheritance for a object context and a specific profilegetInheritedAssignments
(String rightAssignmentCtxId, Object jsContext, List<String> profileIds, String targetType, Map<String, String> identity) Get the first permission given by inheritance for a object context and profilesgetScripts
(boolean ignoreRights, Map<String, Object> contextParameters) This method return the scripts that will be used on client side.getUserGroups
(String login, String populationId) Gets the groups of a user as JSONboolean
isInheritanceDisallowed
(String rightAssignmentCtxId, Object jsContext) Determines if the inheritance of assignments is disallowed on the given contextsaveChanges
(String rightAssignmentCtxId, Object jsContext, List<Map<String, Object>> assignmentsInfo) Save some changes made client-side.void
service
(ServiceManager smanager) Methods inherited from class org.ametys.core.ui.StaticClientSideElement
_configureClass, _configureParameters, _configureScript, configureInitialParameters
Methods inherited from class org.ametys.core.ui.StaticFileImportsClientSideElement
_configureDependencies, _configureImports, _configureRights, _configureRightsMode, configure, getDependencies, getId, getPluginName, getRights, getScripts, hasRight, setPluginInfo, toString
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
Field Details
-
_profileAssignmentStorageEP
The profile assignment storage component -
_rightAssignmentContextEP
The extension point for right assignment contexts -
_groupDirectoryDAO
The DAO for group directories -
_groupManager
The group manager -
_observationManager
The observation manager -
_userHelper
The user helper -
_profileDAO
The profile DAO
-
-
Constructor Details
-
ProfileAssignmentsToolClientSideElement
-
-
Method Details
-
service
- Specified by:
service
in interfaceServiceable
- Overrides:
service
in classStaticFileImportsClientSideElement
- Throws:
ServiceException
-
getScripts
public List<ClientSideElement.Script> getScripts(boolean ignoreRights, Map<String, Object> contextParameters) Description copied from interface:ClientSideElement
This method return the scripts that will be used on client side. This class will be parametrized by initial and current parameters.- Specified by:
getScripts
in interfaceClientSideElement
- Overrides:
getScripts
in classStaticFileImportsClientSideElement
- Parameters:
ignoreRights
- True to ignore the rights verification.contextParameters
- Contextuals parameters transmitted by the environment.- Returns:
- The list of scripts or an empty list.
-
getUserGroups
Gets the groups of a user as JSON- Parameters:
login
- The login of the userpopulationId
- The population of the user- Returns:
- the groups of a user as JSON
-
saveChanges
public Map<String,Object> saveChanges(String rightAssignmentCtxId, Object jsContext, List<Map<String, Object>> assignmentsInfo) Save some changes made client-side.- Parameters:
rightAssignmentCtxId
- The id of the right assignment contextjsContext
- The JS object contextassignmentsInfo
- The list of all the changes to make. Each map in the list must contain the following keys:- profileId for the id of the profile (as a string)
- assignment for the kind of assignment (can be ACCESS_TYPE_ALLOW, ACCESS_TYPE_DENY...)
- assignmentType expects one of these four strings: "user", "group", "anonymous", "anyConnectedUser"
- identity Can be null if assignmentType is "anonymous" or "anyConnectedUser". If "user", must be a map with the keys "login" and "populationId". If "group", must be a map with the keys "groupId" and "groupDirectory"
- Returns:
- a map containing 3 objects : success : boolean, everything is saved successInfos : elements from assignmentsInfo that are saved errorInfos : elements from assignmentsInfo that are not saved
-
canDelegateRights
protected boolean canDelegateRights(UserIdentity user, Set<GroupIdentity> groups, String profileId, String assignment, Object context) Only allow user with right CMS_Rights_Delegate_Rights to add a profil that this user already have on this context- Parameters:
user
- user that want to de an assignmentgroups
- groups of the userprofileId
- profil impactedassignment
- assignment seeProfileAssignmentsToolClientSideElement.AccessType
context
- context of the assignment- Returns:
- true if user can de this assignment
-
isInheritanceDisallowed
Determines if the inheritance of assignments is disallowed on the given context- Parameters:
rightAssignmentCtxId
- The id of the right assignment contextjsContext
- The JS object context- Returns:
- true if the inheritance is disallowed.
-
disallowInheritance
Allow or disallow the inheritance of assignments on the given context- Parameters:
rightAssignmentCtxId
- The id of the right assignment contextjsContext
- The JS object contextdisallow
- true to disallow the inheritance, false to allow.
-
getInheritedAssignments
public Map<String,String> getInheritedAssignments(String rightAssignmentCtxId, Object jsContext, List<String> profileIds, String targetType, Map<String, String> identity) Get the first permission given by inheritance for a object context and profiles- Parameters:
rightAssignmentCtxId
- The id of the right assignment contextjsContext
- The JS object contextprofileIds
- The list of profilestargetType
- The type of target : anonymous, any connected users, a user or a groupidentity
- The identity of the target. Can be null if the target is anonymous or any connected users- Returns:
- The first access type given by inheritance for each profile
-
getInheritedAssignment
public String getInheritedAssignment(String rightAssignmentCtxId, Object jsContext, String profileId, String targetType, Map<String, String> identity) Get the first permission given by inheritance for a object context and a specific profile- Parameters:
rightAssignmentCtxId
- The id of the right assignment contextjsContext
- The JS object contextprofileId
- The id of profiletargetType
- The type of target : anonymous, any connected users, a user or a groupidentity
- The identity of the target. Can be null if the target is anonymous or any connected users- Returns:
- The first access type given by inheritance
-