GitHub user mike-jumper opened a pull request:
https://github.com/apache/guacamole-client/pull/309
GUACAMOLE-220: Add user interface for managing user groups and membership.
This change:
* Adds a new tab for managing user groups, similar to the existing user
management tab.
* Adds a new directive which provides an interface for manipulating whether
an object shares some relation with another object (in this case group
membership relations).
* Leverages the above directive to add support for manipulating a user's
group memberships, as well as the group memberships of other groups.
* Upgrades both jQuery and Lodash to the latest versions. (The version of
Lodash previously included with Guacamole lacks the `sortedIndexOf()` function,
which is needed by the new directive mentioned above. If upgrading Lodash, we
may as well upgrade jQuery while we're at it, as the version previously
included within Guacamole is no longer maintained.)
With these changes in place, administrators will see a new "Groups" tab
next to the existing "Users" tab:

When edited, each group appears largely like a user, with sets of
permissions that can be granted to the group. In addition to the usual system
and connection permission sections, there are three group membership sections
which allow parent groups and member users/groups to be manipulated:

Clicking the "X" next to the name of a user or group marks that object for
removal from that membership relation, to take effect once the admin clicks
"Save". A similar new section is now present in the user editor for
manipulating group membership at the user level:

These membership editor sections are collapsed by default. The intent there
is to reduce clutter within the user and group edit screens while also
providing admins with a quick view into the current state of a user or group's
membership. When expanded, a full list of available users or groups is
displayed, with checkboxes allowing those users/groups to be added/removed:

Each of these sections is displayed only if there are applicable users or
groups.
The filters in the section headers have the effect you would expect,
reducing the users/groups visible in both the abbreviated and expanded views of
the editor.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/mike-jumper/guacamole-client user-group-ui
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/guacamole-client/pull/309.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #309
----
commit 9f01fcb1558b11b52c78bcddee2ea601ab4b102c
Author: Michael Jumper <mjumper@...>
Date: 2018-04-19T21:38:24Z
GUACAMOLE-220: Add JavaScript service for retrieving/manipulating user
groups.
commit 55bcf25a1c53f85ba2383fc83b46e2bc2ccd05af
Author: Michael Jumper <mjumper@...>
Date: 2018-04-19T21:39:04Z
GUACAMOLE-220: Allow manipulation and retrieval of user group permissions
via JavaScript.
commit 615f5c6bab28f78884cf42fb29c76ad44822a33d
Author: Michael Jumper <mjumper@...>
Date: 2018-04-20T06:21:17Z
GUACAMOLE-220: Add missing getUserGroupAttributes() to JavaScript
schemaService.
commit 1cf16d1dc6f02e608eb860d627c423dc6be958da
Author: Michael Jumper <mjumper@...>
Date: 2018-07-22T02:41:47Z
GUACAMOLE-220: Upgrade to latest versions of jQuery and Lodash.
The version of Lodash previously included with Guacamole lacks the
sortedIndexOf() function, which is needed by the identity set editor
directive for manipulating sorted arrays of identifiers.
If upgrading Lodash, may as well upgrade jQuery while we're at it. The
version previously included within Guacamole is no longer maintained.
commit 229b0dee4882352e7583c4f5872bee92158da712
Author: Michael Jumper <mjumper@...>
Date: 2018-07-25T09:34:27Z
GUACAMOLE-220: Implement generic editor directive for manipulating sets of
identifiers.
commit fed2b9cb1440f21ba8f72055a29af07f7e4586cc
Author: Michael Jumper <mjumper@...>
Date: 2018-08-07T19:15:46Z
GUACAMOLE-220: Add management interface for user parent groups.
commit 0059121716c869e34a8089ada3069ad67ffb6ee7
Author: Michael Jumper <mjumper@...>
Date: 2018-08-07T19:25:55Z
GUACAMOLE-220: Hide identifier set editor if there are no identifiers to
edit.
commit 59ea968614bfa747829eab4fcae8199a9bd44522
Author: Michael Jumper <mjumper@...>
Date: 2018-08-07T20:05:09Z
GUACAMOLE-220: Do not display "X" for removing an identifier if the
identifier cannot actually be edited.
commit 439030ac4b8743ac91cceb1cd2f27f7d133f6857
Author: Michael Jumper <mjumper@...>
Date: 2018-04-20T06:51:25Z
GUACAMOLE-220: Add management tab and editor for user groups.
----
---