From 33c4e82f9b3ec47ab0dd05ce3543cd85538a4577 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Sun, 10 Feb 2013 03:47:50 -0800 Subject: [PATCH] #268: Only display "Manage" button if permission available. --- guacamole/src/main/webapp/scripts/root-ui.js | 21 ++++++++++++++++++++ guacamole/src/main/webapp/styles/login.css | 8 ++++++++ 2 files changed, 29 insertions(+) diff --git a/guacamole/src/main/webapp/scripts/root-ui.js b/guacamole/src/main/webapp/scripts/root-ui.js index 3b8656cfd..68c63a05b 100644 --- a/guacamole/src/main/webapp/scripts/root-ui.js +++ b/guacamole/src/main/webapp/scripts/root-ui.js @@ -133,10 +133,31 @@ GuacamoleRootUI.reset = function() { // Get parameters from query string var parameters = window.location.search.substring(1); + function hasEntry(object) { + for (var name in object) + return true; + return false; + } + // Read connections var connections; try { connections = GuacamoleService.Connections.list(parameters); + + // Show admin elements if admin permissions available + var permissions = GuacamoleService.Permissions.list(); + if (permissions.create_connection + || permissions.create_user + || hasEntry(permissions.update_user) + || hasEntry(permissions.remove_user) + || hasEntry(permissions.administer_user) + || hasEntry(permissions.update_connection) + || hasEntry(permissions.remove_connection) + || hasEntry(permissions.administer_connection)) + GuacUI.addClass(document.body, "admin"); + else + GuacUI.removeClass(document.body, "admin"); + } catch (e) { diff --git a/guacamole/src/main/webapp/styles/login.css b/guacamole/src/main/webapp/styles/login.css index 63be25b56..5ae335648 100644 --- a/guacamole/src/main/webapp/styles/login.css +++ b/guacamole/src/main/webapp/styles/login.css @@ -36,6 +36,14 @@ body { margin: 0; } +#manage { + display: none; +} + +.admin #manage { + display: inline-block; +} + div#login-ui { height: 100%; width: 100%;