mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-02-04 13:49:13 +01:00
pass available permissions to the state object, if the current user has the administrator role
This commit is contained in:
@@ -35,12 +35,14 @@ package sonia.scm;
|
||||
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import sonia.scm.security.PermissionDescriptor;
|
||||
import sonia.scm.user.User;
|
||||
import sonia.scm.web.security.WebSecurityContext;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
@@ -122,6 +124,29 @@ public class ScmState
|
||||
public ScmState(SCMContextProvider provider, User user,
|
||||
Collection<String> groups, Collection<Type> repositoryTypes,
|
||||
String defaultUserType, ScmClientConfig clientConfig)
|
||||
{
|
||||
this(provider, user, groups, repositoryTypes, defaultUserType,
|
||||
clientConfig, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs {@link ScmState} object.
|
||||
*
|
||||
*
|
||||
* @param provider context provider
|
||||
* @param user current user
|
||||
* @param groups groups of the current user
|
||||
* @param repositoryTypes available repository types
|
||||
* @param defaultUserType default user type
|
||||
* @param clientConfig client configuration
|
||||
* @param availablePermissions list of available permissions
|
||||
*
|
||||
* @since 1.31
|
||||
*/
|
||||
public ScmState(SCMContextProvider provider, User user,
|
||||
Collection<String> groups, Collection<Type> repositoryTypes,
|
||||
String defaultUserType, ScmClientConfig clientConfig,
|
||||
List<PermissionDescriptor> availablePermissions)
|
||||
{
|
||||
this.version = provider.getVersion();
|
||||
this.user = user;
|
||||
@@ -129,10 +154,23 @@ public class ScmState
|
||||
this.repositoryTypes = repositoryTypes;
|
||||
this.clientConfig = clientConfig;
|
||||
this.defaultUserType = defaultUserType;
|
||||
this.availablePermissions = availablePermissions;
|
||||
}
|
||||
|
||||
//~--- get methods ----------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Returns a list of available global permissions.
|
||||
*
|
||||
*
|
||||
* @return available global permissions
|
||||
* @since 1.31
|
||||
*/
|
||||
public List<PermissionDescriptor> getAvailablePermissions()
|
||||
{
|
||||
return availablePermissions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns configuration for SCM-Manager clients.
|
||||
*
|
||||
@@ -215,6 +253,18 @@ public class ScmState
|
||||
|
||||
//~--- set methods ----------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Sets a list of available global permissions.
|
||||
*
|
||||
*
|
||||
* @param permissions list of available global permisisons
|
||||
* @since 1.31
|
||||
*/
|
||||
public void setAvailablePermissions(List<PermissionDescriptor> permissions)
|
||||
{
|
||||
this.availablePermissions = permissions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for the client configuration
|
||||
*
|
||||
@@ -299,6 +349,12 @@ public class ScmState
|
||||
|
||||
//~--- fields ---------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Avaliable global permission
|
||||
* @since 1.31
|
||||
*/
|
||||
private List<PermissionDescriptor> availablePermissions;
|
||||
|
||||
/** Field description */
|
||||
private ScmClientConfig clientConfig;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user