mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 13:17:41 +00:00
GUAC-800: Use Forms for attributes, not just Fields.
This commit is contained in:
@@ -38,6 +38,7 @@ import org.glyptodon.guacamole.auth.jdbc.permission.ConnectionGroupPermissionSer
|
||||
import org.glyptodon.guacamole.auth.jdbc.permission.ConnectionPermissionService;
|
||||
import org.glyptodon.guacamole.auth.jdbc.permission.UserPermissionService;
|
||||
import org.glyptodon.guacamole.form.Field;
|
||||
import org.glyptodon.guacamole.form.Form;
|
||||
import org.glyptodon.guacamole.net.auth.User;
|
||||
import org.glyptodon.guacamole.net.auth.permission.ObjectPermissionSet;
|
||||
import org.glyptodon.guacamole.net.auth.permission.SystemPermission;
|
||||
@@ -58,15 +59,19 @@ public class ModeledUser extends ModeledDirectoryObject<UserModel> implements Us
|
||||
public static final String DISABLED_ATTRIBUTE_NAME = "disabled";
|
||||
|
||||
/**
|
||||
* A typed field corresponding to the disabled attribute of a user.
|
||||
* All attributes related to restricting user accounts, within a logical
|
||||
* form.
|
||||
*/
|
||||
public static final Field DISABLED_ATTRIBUTE = new Field(DISABLED_ATTRIBUTE_NAME, "Disabled", "true");
|
||||
public static final Form ACCOUNT_RESTRICTIONS = new Form("restrictions", "Account Restrictions", Arrays.asList(
|
||||
new Field(DISABLED_ATTRIBUTE_NAME, "Disabled", "true")
|
||||
));
|
||||
|
||||
/**
|
||||
* All possible attributes of user objects.
|
||||
* All possible attributes of user objects organized as individual,
|
||||
* logical forms.
|
||||
*/
|
||||
public static final Collection<Field> ATTRIBUTES = Collections.unmodifiableCollection(Arrays.asList(
|
||||
DISABLED_ATTRIBUTE
|
||||
public static final Collection<Form> ATTRIBUTES = Collections.unmodifiableCollection(Arrays.asList(
|
||||
ACCOUNT_RESTRICTIONS
|
||||
));
|
||||
|
||||
/**
|
||||
|
@@ -33,7 +33,7 @@ import java.util.Collections;
|
||||
import org.glyptodon.guacamole.GuacamoleException;
|
||||
import org.glyptodon.guacamole.auth.jdbc.base.RestrictedObject;
|
||||
import org.glyptodon.guacamole.auth.jdbc.activeconnection.ActiveConnectionDirectory;
|
||||
import org.glyptodon.guacamole.form.Field;
|
||||
import org.glyptodon.guacamole.form.Form;
|
||||
import org.glyptodon.guacamole.net.auth.ActiveConnection;
|
||||
import org.glyptodon.guacamole.net.auth.Connection;
|
||||
import org.glyptodon.guacamole.net.auth.ConnectionGroup;
|
||||
@@ -134,18 +134,18 @@ public class UserContext extends RestrictedObject
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Field> getUserAttributes() {
|
||||
public Collection<Form> getUserAttributes() {
|
||||
return ModeledUser.ATTRIBUTES;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Field> getConnectionAttributes() {
|
||||
return Collections.<Field>emptyList();
|
||||
public Collection<Form> getConnectionAttributes() {
|
||||
return Collections.<Form>emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Field> getConnectionGroupAttributes() {
|
||||
return Collections.<Field>emptyList();
|
||||
public Collection<Form> getConnectionGroupAttributes() {
|
||||
return Collections.<Form>emptyList();
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1,5 +1,9 @@
|
||||
{
|
||||
"USER_ATTRIBUTES" : {
|
||||
"FIELD_HEADER_DISABLED" : "Disabled:"
|
||||
|
||||
"FIELD_HEADER_DISABLED" : "Login disabled:",
|
||||
|
||||
"SECTION_HEADER_RESTRICTIONS" : "Account Restrictions"
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -24,7 +24,7 @@ package org.glyptodon.guacamole.net.auth;
|
||||
|
||||
import java.util.Collection;
|
||||
import org.glyptodon.guacamole.GuacamoleException;
|
||||
import org.glyptodon.guacamole.form.Field;
|
||||
import org.glyptodon.guacamole.form.Form;
|
||||
|
||||
/**
|
||||
* The context of an active user. The functions of this class enforce all
|
||||
@@ -121,7 +121,7 @@ public interface UserContext {
|
||||
* @return
|
||||
* A collection of all attributes applicable to users.
|
||||
*/
|
||||
Collection<Field> getUserAttributes();
|
||||
Collection<Form> getUserAttributes();
|
||||
|
||||
/**
|
||||
* Retrieves a collection of all attributes applicable to connections. This
|
||||
@@ -132,7 +132,7 @@ public interface UserContext {
|
||||
* @return
|
||||
* A collection of all attributes applicable to connections.
|
||||
*/
|
||||
Collection<Field> getConnectionAttributes();
|
||||
Collection<Form> getConnectionAttributes();
|
||||
|
||||
/**
|
||||
* Retrieves a collection of all attributes applicable to connection
|
||||
@@ -143,6 +143,6 @@ public interface UserContext {
|
||||
* @return
|
||||
* A collection of all attributes applicable to connection groups.
|
||||
*/
|
||||
Collection<Field> getConnectionGroupAttributes();
|
||||
Collection<Form> getConnectionGroupAttributes();
|
||||
|
||||
}
|
||||
|
@@ -28,7 +28,7 @@ import java.util.Collections;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import org.glyptodon.guacamole.GuacamoleException;
|
||||
import org.glyptodon.guacamole.form.Field;
|
||||
import org.glyptodon.guacamole.form.Form;
|
||||
import org.glyptodon.guacamole.net.auth.ActiveConnection;
|
||||
import org.glyptodon.guacamole.net.auth.Connection;
|
||||
import org.glyptodon.guacamole.net.auth.ConnectionGroup;
|
||||
@@ -176,18 +176,18 @@ public class SimpleUserContext implements UserContext {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Field> getUserAttributes() {
|
||||
return Collections.<Field>emptyList();
|
||||
public Collection<Form> getUserAttributes() {
|
||||
return Collections.<Form>emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Field> getConnectionAttributes() {
|
||||
return Collections.<Field>emptyList();
|
||||
public Collection<Form> getConnectionAttributes() {
|
||||
return Collections.<Form>emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Field> getConnectionGroupAttributes() {
|
||||
return Collections.<Field>emptyList();
|
||||
public Collection<Form> getConnectionGroupAttributes() {
|
||||
return Collections.<Form>emptyList();
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import javax.ws.rs.core.MediaType;
|
||||
import org.glyptodon.guacamole.GuacamoleException;
|
||||
import org.glyptodon.guacamole.environment.Environment;
|
||||
import org.glyptodon.guacamole.environment.LocalEnvironment;
|
||||
import org.glyptodon.guacamole.form.Field;
|
||||
import org.glyptodon.guacamole.form.Form;
|
||||
import org.glyptodon.guacamole.net.auth.UserContext;
|
||||
import org.glyptodon.guacamole.net.basic.rest.AuthProviderRESTExposure;
|
||||
import org.glyptodon.guacamole.net.basic.rest.auth.AuthenticationService;
|
||||
@@ -65,8 +65,8 @@ public class SchemaRESTService {
|
||||
* performing the operation.
|
||||
*
|
||||
* @return
|
||||
* A collection of form fields which describe the possible attributes
|
||||
* of a user object.
|
||||
* A collection of forms which describe the possible attributes of a
|
||||
* user object.
|
||||
*
|
||||
* @throws GuacamoleException
|
||||
* If an error occurs while retrieving the possible attributes.
|
||||
@@ -74,7 +74,7 @@ public class SchemaRESTService {
|
||||
@GET
|
||||
@Path("/users/attributes")
|
||||
@AuthProviderRESTExposure
|
||||
public Collection<Field> getUserAttributes(@QueryParam("token") String authToken) throws GuacamoleException {
|
||||
public Collection<Form> getUserAttributes(@QueryParam("token") String authToken) throws GuacamoleException {
|
||||
|
||||
// Retrieve all possible user attributes
|
||||
UserContext userContext = authenticationService.getUserContext(authToken);
|
||||
@@ -90,8 +90,8 @@ public class SchemaRESTService {
|
||||
* performing the operation.
|
||||
*
|
||||
* @return
|
||||
* A collection of form fields which describe the possible attributes
|
||||
* of a connection object.
|
||||
* A collection of forms which describe the possible attributes of a
|
||||
* connection object.
|
||||
*
|
||||
* @throws GuacamoleException
|
||||
* If an error occurs while retrieving the possible attributes.
|
||||
@@ -99,7 +99,7 @@ public class SchemaRESTService {
|
||||
@GET
|
||||
@Path("/connections/attributes")
|
||||
@AuthProviderRESTExposure
|
||||
public Collection<Field> getConnectionAttributes(@QueryParam("token") String authToken) throws GuacamoleException {
|
||||
public Collection<Form> getConnectionAttributes(@QueryParam("token") String authToken) throws GuacamoleException {
|
||||
|
||||
// Retrieve all possible connection attributes
|
||||
UserContext userContext = authenticationService.getUserContext(authToken);
|
||||
@@ -115,8 +115,8 @@ public class SchemaRESTService {
|
||||
* performing the operation.
|
||||
*
|
||||
* @return
|
||||
* A collection of form fields which describe the possible attributes
|
||||
* of a connection group object.
|
||||
* A collection of forms which describe the possible attributes of a
|
||||
* connection group object.
|
||||
*
|
||||
* @throws GuacamoleException
|
||||
* If an error occurs while retrieving the possible attributes.
|
||||
@@ -124,7 +124,7 @@ public class SchemaRESTService {
|
||||
@GET
|
||||
@Path("/connectionGroups/attributes")
|
||||
@AuthProviderRESTExposure
|
||||
public Collection<Field> getConnectionGroupAttributes(@QueryParam("token") String authToken) throws GuacamoleException {
|
||||
public Collection<Form> getConnectionGroupAttributes(@QueryParam("token") String authToken) throws GuacamoleException {
|
||||
|
||||
// Retrieve all possible connection group attributes
|
||||
UserContext userContext = authenticationService.getUserContext(authToken);
|
||||
|
@@ -105,9 +105,10 @@ angular.module('manage').controller('manageUserController', ['$scope', '$injecto
|
||||
|
||||
/**
|
||||
* All available user attributes. This is only the set of attribute
|
||||
* definitions, not attribute values.
|
||||
* definitions, organized as logical groupings of attributes, not attribute
|
||||
* values.
|
||||
*
|
||||
* @type Field[]
|
||||
* @type Form[]
|
||||
*/
|
||||
$scope.attributes = null;
|
||||
|
||||
|
@@ -36,12 +36,13 @@ angular.module('rest').factory('schemaService', ['$injector',
|
||||
/**
|
||||
* Makes a request to the REST API to get the list of available attributes
|
||||
* for user objects, returning a promise that provides an array of
|
||||
* @link{Field} objects if successful. Each element of the array describes
|
||||
* a possible attribute.
|
||||
* @link{Form} objects if successful. Each element of the array describes
|
||||
* a logical grouping of possible attributes.
|
||||
*
|
||||
* @returns {Promise.<Field[]>}
|
||||
* A promise which will resolve with an array of @link{Field}
|
||||
* objects, where each @link{Field} describes a possible attribute.
|
||||
* @returns {Promise.<Form[]>}
|
||||
* A promise which will resolve with an array of @link{Form}
|
||||
* objects, where each @link{Form} describes a logical grouping of
|
||||
* possible attributes.
|
||||
*/
|
||||
service.getUserAttributes = function getUserAttributes() {
|
||||
|
||||
@@ -63,12 +64,13 @@ angular.module('rest').factory('schemaService', ['$injector',
|
||||
/**
|
||||
* Makes a request to the REST API to get the list of available attributes
|
||||
* for connection objects, returning a promise that provides an array of
|
||||
* @link{Field} objects if successful. Each element of the array describes
|
||||
* a possible attribute.
|
||||
* @link{Form} objects if successful. Each element of the array describes
|
||||
* a logical grouping of possible attributes.
|
||||
*
|
||||
* @returns {Promise.<Field[]>}
|
||||
* A promise which will resolve with an array of @link{Field}
|
||||
* objects, where each @link{Field} describes a possible attribute.
|
||||
* @returns {Promise.<Form[]>}
|
||||
* A promise which will resolve with an array of @link{Form}
|
||||
* objects, where each @link{Form} describes a logical grouping of
|
||||
* possible attributes.
|
||||
*/
|
||||
service.getConnectionAttributes = function getConnectionAttributes() {
|
||||
|
||||
@@ -90,12 +92,13 @@ angular.module('rest').factory('schemaService', ['$injector',
|
||||
/**
|
||||
* Makes a request to the REST API to get the list of available attributes
|
||||
* for connection group objects, returning a promise that provides an array
|
||||
* of @link{Field} objects if successful. Each element of the array
|
||||
* describes a possible attribute.
|
||||
* of @link{Form} objects if successful. Each element of the array
|
||||
* a logical grouping of possible attributes.
|
||||
*
|
||||
* @returns {Promise.<Field[]>}
|
||||
* A promise which will resolve with an array of @link{Field}
|
||||
* objects, where each @link{Field} describes a possible attribute.
|
||||
* @returns {Promise.<Form[]>}
|
||||
* A promise which will resolve with an array of @link{Form}
|
||||
* objects, where each @link{Form} describes a logical grouping of
|
||||
* possible attributes.
|
||||
*/
|
||||
service.getConnectionGroupAttributes = function getConnectionGroupAttributes() {
|
||||
|
||||
|
Reference in New Issue
Block a user