From 63288f45eebb9aee61dc39be9cc34bf3e62d146a Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Wed, 14 Aug 2013 13:35:40 -0700 Subject: [PATCH] Update regarding new permissions. Set checkboxes of groups in GroupView appropriately. --- guacamole/src/main/webapp/scripts/admin-ui.js | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/guacamole/src/main/webapp/scripts/admin-ui.js b/guacamole/src/main/webapp/scripts/admin-ui.js index 4b6777ba2..16d00099f 100644 --- a/guacamole/src/main/webapp/scripts/admin-ui.js +++ b/guacamole/src/main/webapp/scripts/admin-ui.js @@ -485,9 +485,10 @@ GuacAdmin.UserEditor = function(name, parameters) { } - // If readable connections exist, list them - if (GuacAdmin.cached_permissions.administer || - GuacAdmin.hasEntry(GuacAdmin.cached_permissions.administer_connection)) { + // If administrable connections/groups exist, list them + if (GuacAdmin.cached_permissions.administer + || GuacAdmin.hasEntry(GuacAdmin.cached_permissions.administer_connection) + || GuacAdmin.hasEntry(GuacAdmin.cached_permissions.administer_connection_group)) { // Add fields for per-connection checkboxes var connections_header = GuacUI.createChildElement(sections, "dt"); @@ -534,6 +535,19 @@ GuacAdmin.UserEditor = function(name, parameters) { } + for (var group_id in group_view.groups) { + + // Pre-select connection if readable by chosen user + if (group_id in user_perms.read_connection_group) + group_view.setGroupValue(group_id, true); + + // If we lack permissions to admin this connection, disable it + if (!GuacAdmin.cached_permissions.administer && + !(group_id in GuacAdmin.cached_permissions.administer_connection_group)) + group_view.setGroupEnabled(group_id, false); + + } + } // Add save button @@ -1102,7 +1116,10 @@ GuacAdmin.reset = function() { || GuacAdmin.cached_permissions.create_connection || GuacAdmin.hasEntry(GuacAdmin.cached_permissions.update_connection) || GuacAdmin.hasEntry(GuacAdmin.cached_permissions.remove_connection) - || GuacAdmin.hasEntry(GuacAdmin.cached_permissions.administer_connection)) + || GuacAdmin.hasEntry(GuacAdmin.cached_permissions.administer_connection) + || GuacAdmin.hasEntry(GuacAdmin.cached_permissions.update_connection_group) + || GuacAdmin.hasEntry(GuacAdmin.cached_permissions.remove_connection_group) + || GuacAdmin.hasEntry(GuacAdmin.cached_permissions.administer_connection_group)) GuacUI.addClass(document.body, "manage-connections"); else GuacUI.removeClass(document.body, "manage-connections");