Class EditGlobalPermissionsAdministrator

All Implemented Interfaces:
EditPermissionsAdministrator, PermissionsAdministrator

public class EditGlobalPermissionsAdministrator extends AbstractEditPermissionsAdministrator
Since:
7.17
  • Constructor Details

  • Method Details

    • getAdministrativePermissionType

      public String getAdministrativePermissionType()
      Returns the top level permission type applicable to the current scope. That is, the permission that must exist at least once per space, or globally.
      Returns:
      top level permission type
    • addPermission

      public void addPermission(SpacePermission permissionToAdd)
      Adds the given permission if the current user has permission to do so and updates the current active user count.

      Does nothing silently otherwise.

      Parameters:
      permissionToAdd - the permission you want to add.
    • removePermission

      public void removePermission(SpacePermission permissionToRemove)
      Removes the given permission if the current user has permission to do so and updates the current active user count.

      Does nothing silently otherwise.

      Specified by:
      removePermission in interface EditPermissionsAdministrator
      Overrides:
      removePermission in class AbstractEditPermissionsAdministrator
      Parameters:
      permissionToRemove - the permission you want rid of.
    • createUserGuardPermission

      public SpacePermission createUserGuardPermission(String guardPermission, ConfluenceUser user)
      Creates the relevant guard permission for the user
      Parameters:
      guardPermission - - the name of the guard permission to create
      user - - name of the user to add the permission to
      Returns:
      spacepermission object for the user
    • createGroupGuardPermission

      public SpacePermission createGroupGuardPermission(String guardPermission, String groupName)
      Creates the relevant guard permission for the group
      Parameters:
      guardPermission - - the name of the guard permission to create
      groupName - - name of group to add the permission to
      Returns:
      spacepermission object for the user
    • getInitialPermissionsFromForm

      public Collection<SpacePermission> getInitialPermissionsFromForm(Map requestParams)
      Retrieve the permissions initial state
      Returns:
      initial state
    • getRequestedPermissionsFromForm

      public Collection<SpacePermission> getRequestedPermissionsFromForm(Map requestParams)
      Retrieve the state of the permissions requested by the user
      Returns:
      requested state
    • buildPermissionsFromWebForm

      public Collection<SpacePermission> buildPermissionsFromWebForm(Map formParameters, String parameterQualifier)
      Given a map containing the web form parameters from a permissions edit, return the list of global permissions that are represented by the form
      Parameters:
      formParameters - the map of form parameters
      parameterQualifier - distinguishes the set of parameters from other sets of parameters used to represent permissions in the same form.
      Returns:
      a list of the permissions in the form
    • canSetPermissionOnUser

      public boolean canSetPermissionOnUser(String permission, ConfluenceUser user) throws EntityRuntimeException
      Returns whether the remote user can set the required permission for the user (used by velocity)
      Throws:
      EntityRuntimeException
    • canSetPermissionOnGroup

      public boolean canSetPermissionOnGroup(String permission, String groupName) throws EntityRuntimeException
      Returns whether the remote user can set the required permission for the group(used by velocity)
      Throws:
      EntityRuntimeException
    • canSetSystemAdministratorPermission

      public boolean canSetSystemAdministratorPermission()
      Returns whether the user can set the administrator permissions (used by velocity)
    • applyPermissionChanges

      public void applyPermissionChanges(Collection<SpacePermission> oldPermissions, Collection<SpacePermission> newPermissions) throws IllegalArgumentException
      Given the old permissions and new permissions, apply necessary permission changes to make old permissions the same as new permissions, then reset the current active user count.
      Specified by:
      applyPermissionChanges in interface EditPermissionsAdministrator
      Overrides:
      applyPermissionChanges in class AbstractEditPermissionsAdministrator
      Parameters:
      oldPermissions - - initial permissions
      newPermissions - - expected permissions
      Throws:
      IllegalArgumentException