From e66b06056adbc2a3073eec7cd15f8e2de54649f4 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Tue, 13 Aug 2013 17:19:59 -0700 Subject: [PATCH] Pre-select connections which the selected user can read. Do not allow connections to be altered if which we lack admin permissions. --- guacamole/src/main/webapp/scripts/admin-ui.js | 87 ++++++------------- 1 file changed, 28 insertions(+), 59 deletions(-) diff --git a/guacamole/src/main/webapp/scripts/admin-ui.js b/guacamole/src/main/webapp/scripts/admin-ui.js index 2c100ce42..bbddd77fb 100644 --- a/guacamole/src/main/webapp/scripts/admin-ui.js +++ b/guacamole/src/main/webapp/scripts/admin-ui.js @@ -495,76 +495,45 @@ GuacAdmin.UserEditor = function(name, parameters) { var connections_section = GuacUI.createChildElement(sections, "dd"); - // FIXME - only list connections with admin permission + // Construct group view for all readable connections var group_view = new GuacUI.GroupView(GuacAdmin.cached_root_group, true); connections_section.appendChild(group_view.getElement()); - /* - // Actual paged connections list - var connections = GuacUI.createChildElement( - connections_section, "div", "list"); + // Update connection permissions when changed + group_view.onconnectionchange = function(connection, selected) { - // Button div - var connections_buttons = GuacUI.createChildElement( - connections_section, "div", "list-pager-buttons"); + var id = connection.id; - // Create pager which populates list - var connections_pager = new GuacUI.Pager(connections); + // Update permission deltas for ADDED permission + if (selected) { + added_perms.read_connection[id] = true; + if (removed_perms.read_connection[id]) + delete removed_perms.read_connection[id]; + } - // Add connections to pager - var available_connections = GuacAdmin.cached_connections; - for (var i=0; i