GitHub user mike-jumper opened a pull request:
https://github.com/apache/guacamole-client/pull/306
GUACAMOLE-220: Display readable connections only by default within
permission editor.
In the interest of reducing clutter within the group editor (which has even
more sections than the already-somewhat-cluttered user editor), this change
splits the "Connections" section into tabs such that the view can be limited to
only the connections currently accessible by that user. This reduced view is
selected by default for users which have access to at least one connection.
This has the effect that the default view within the editor (1) functions
as a report of what the user may currently access and (2) allows direct
management of the most relevant permissions:
![guac-user-current-connections](https://user-images.githubusercontent.com/4632905/43040224-421f1092-8cf3-11e8-8cb8-e1ca4115239a.png)
To grant access to connections, connection groups, etc. which are not
already accessible nor nested within already accessible groups, the
administrator can switch to the "All Connections" view:
![guac-user-all-connections](https://user-images.githubusercontent.com/4632905/43040228-523275fa-8cf3-11e8-8d24-6d42761903e4.png)
For any user that does not have access to any connections, including new
users, the "All Connections" view is selected by default:
![guac-new-user-all-connections](https://user-images.githubusercontent.com/4632905/43040233-64c92542-8cf3-11e8-9078-496c55936d6d.png)
It is intended that these views represent the actual, current state of
things, not the state of unsaved changes made within the editor. Each view is
thus populated at the time the editor loads. Connections will not appear within
nor disappear from the "Current Connections" view as a result of unsaved
changes made within the editor.
Part of all this required modifying the `guacGroupListFilter` directive to
preserve the type of its input, which varies between `ConnectionGroup` and
`GroupListItem` depending on usage. It previously always converted to
`ConnectionGroup` by unwrapping any given `GroupListItem`, thus undoing any
filtering performed only on the `GroupListItem` hierarchy.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/mike-jumper/guacamole-client
display-readable-only
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/guacamole-client/pull/306.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 #306
commit dd65bf6e268616f1df41a6243ea121983ddf1c45
Author: Michael Jumper
Date: 2018-07-21T04:49:52Z
GUACAMOLE-220: Preserve types of filtered GroupListItems / ConnectionGroups.
commit edcb2af21f4982f8054f0292fb4265854baaf77b
Author: Michael Jumper
Date: 2018-07-21T07:00:52Z
GUACAMOLE-220: Display only selected connection permissions by default.
commit 861bddea6db932dec5386988d9657a613fd782c0
Author: Michael Jumper
Date: 2018-07-21T08:11:24Z
GUACAMOLE-220: Add semantic CSS class for headers having corresponding tabs.
commit deb5b51ddc43742c48d8e1c46f4e9aba22632e8c
Author: Michael Jumper
Date: 2018-07-21T20:22:57Z
GUACAMOLE-220: Add generic directive for displaying tabs which divide a
section into logical views.
commit 62e58eaf9f700f56ee348da518cb78580b876ed6
Author: Michael Jumper
Date: 2018-07-21T20:23:46Z
GUACAMOLE-220: Migrate connection permission editor to tab-based views.
commit e03251f78c607c73a572e2f917171dd86b7e40e9
Author: Michael Jumper
Date: 2018-07-21T20:59:52Z
GUACAMOLE-220: Include children of readable items within connection
permission editor, as they are likely relevant to the administrative task at
hand.
commit 055219bc6ce776c0affc45e10b13f6e53abc4434
Author: Michael Jumper
Date: 2018-07-21T21:02:57Z
GUACAMOLE-220: Rename "Selected Connections" to "Current Connections" for
clarity.
"Selected Connections" vs. "All Connections" gives the impression that the
tab controls how permissions are used, with "All Connections" being a mode
where all connections are readable regardless of which are explicitly selected.
---