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
public class ProfileAssignmentsToolClientSideElement extends StaticClientSideElement
ClientSideElementfor the tool displaying the profile assignments
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classProfileAssignmentsToolClientSideElement.AccessTypeEnumeration of all possible access typesstatic classProfileAssignmentsToolClientSideElement.TargetTypeEnumeration of all possible target types-
Nested classes/interfaces inherited from interface org.ametys.core.ui.ClientSideElement
ClientSideElement.Script, ClientSideElement.ScriptFile
-
-
Field Summary
Fields Modifier and Type Field Description protected GroupDirectoryDAO_groupDirectoryDAOThe DAO for group directoriesprotected GroupManager_groupManagerThe group managerprotected ObservationManager_observationManagerThe observation managerprotected ProfileAssignmentStorageExtensionPoint_profileAssignmentStorageEPThe profile assignment storage componentprotected RightProfilesDAO_profileDAOThe profile DAOprotected RightAssignmentContextExtensionPoint_rightAssignmentContextEPThe extension point for right assignment contextsprotected UserHelper_userHelperThe user helper-
Fields inherited from class org.ametys.core.ui.StaticFileImportsClientSideElement
_currentUserProvider, _dependencies, _featureName, _id, _pluginName, _rightManager, _rights, _rightsMode, _script
-
-
Constructor Summary
Constructors Constructor Description ProfileAssignmentsToolClientSideElement()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private String_getInheritedAssignmentForAnonymous(RightAssignmentContext extension, Object context, String profileId)private String_getInheritedAssignmentForAnyconnected(RightAssignmentContext extension, Object context, String profileId)private String_getInheritedAssignmentForGroup(RightAssignmentContext extension, Object context, String profileId, GroupIdentity group)private String_getInheritedAssignmentForUser(RightAssignmentContext extension, Object context, String profileId, UserIdentity user)private Map<String,Object>_groupToJson(GroupIdentity groupIdentity)private void_notifyObservers(Object context, String contextIdentifier, Set<String> profileIds)private void_saveChange(Object context, String profileId, String assignment, String targetType, Map<String,String> identity)voiddisallowInheritance(String rightAssignmentCtxId, Object jsContext, boolean disallow)Allow or disallow the inheritance of assignments on the given contextStringgetInheritedAssignment(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 profileMap<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 profilesList<ClientSideElement.Script>getScripts(boolean ignoreRights, Map<String,Object> contextParameters)This method return the scripts that will be used on client side.List<Map<String,Object>>getUserGroups(String login, String populationId)Gets the groups of a user as JSONbooleanisInheritanceDisallowed(String rightAssignmentCtxId, Object jsContext)Determines if the inheritance of assignments is disallowed on the given contextvoidsaveChanges(String rightAssignmentCtxId, Object jsContext, List<Map<String,Object>> assignmentsInfo)Save some changes made client-side.voidservice(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 Detail
-
_profileAssignmentStorageEP
protected ProfileAssignmentStorageExtensionPoint _profileAssignmentStorageEP
The profile assignment storage component
-
_rightAssignmentContextEP
protected RightAssignmentContextExtensionPoint _rightAssignmentContextEP
The extension point for right assignment contexts
-
_groupDirectoryDAO
protected GroupDirectoryDAO _groupDirectoryDAO
The DAO for group directories
-
_groupManager
protected GroupManager _groupManager
The group manager
-
_observationManager
protected ObservationManager _observationManager
The observation manager
-
_userHelper
protected UserHelper _userHelper
The user helper
-
_profileDAO
protected RightProfilesDAO _profileDAO
The profile DAO
-
-
Constructor Detail
-
ProfileAssignmentsToolClientSideElement
public ProfileAssignmentsToolClientSideElement()
-
-
Method Detail
-
service
public void service(ServiceManager smanager) throws ServiceException
- Specified by:
servicein interfaceServiceable- Overrides:
servicein classStaticFileImportsClientSideElement- Throws:
ServiceException
-
getScripts
public List<ClientSideElement.Script> getScripts(boolean ignoreRights, Map<String,Object> contextParameters)
Description copied from interface:ClientSideElementThis method return the scripts that will be used on client side. This class will be parametrized by initial and current parameters.- Specified by:
getScriptsin interfaceClientSideElement- Overrides:
getScriptsin 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
public List<Map<String,Object>> getUserGroups(String login, String populationId)
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
-
_groupToJson
private Map<String,Object> _groupToJson(GroupIdentity groupIdentity)
-
saveChanges
public void 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"
-
_notifyObservers
private void _notifyObservers(Object context, String contextIdentifier, Set<String> profileIds)
-
isInheritanceDisallowed
public boolean isInheritanceDisallowed(String rightAssignmentCtxId, Object jsContext)
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
public void disallowInheritance(String rightAssignmentCtxId, Object jsContext, boolean disallow)
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
-
_getInheritedAssignmentForAnonymous
private String _getInheritedAssignmentForAnonymous(RightAssignmentContext extension, Object context, String profileId)
-
_getInheritedAssignmentForAnyconnected
private String _getInheritedAssignmentForAnyconnected(RightAssignmentContext extension, Object context, String profileId)
-
_getInheritedAssignmentForUser
private String _getInheritedAssignmentForUser(RightAssignmentContext extension, Object context, String profileId, UserIdentity user)
-
_getInheritedAssignmentForGroup
private String _getInheritedAssignmentForGroup(RightAssignmentContext extension, Object context, String profileId, GroupIdentity group)
-
-