mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-07 13:41:21 +00:00
#268: Add "add" buttons to UI.
This commit is contained in:
@@ -33,8 +33,8 @@
|
|||||||
|
|
||||||
<h1>Administration</h1>
|
<h1>Administration</h1>
|
||||||
|
|
||||||
<h2>Users</h2>
|
<h2 class="require-manage-users">Users</h2>
|
||||||
<div class="settings section" id="users">
|
<div class="settings section require-manage-users" id="users">
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Click or tap on a user below to manage that user. Depending
|
Click or tap on a user below to manage that user. Depending
|
||||||
@@ -48,10 +48,14 @@
|
|||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
<div id="user-add-form">
|
||||||
|
<div class="icon user add"/><input type="text" class="name" id="username" placeholder="Add user"/><button id="add-user">Add</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h2>Connections</h2>
|
<h2 class="require-manage-connections">Connections</h2>
|
||||||
<div class="settings section" id="connections">
|
<div class="settings section require-manage-connections" id="connections">
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Click or tap on a connection below to manage that connection.
|
Click or tap on a connection below to manage that connection.
|
||||||
@@ -60,11 +64,9 @@
|
|||||||
can be changed.
|
can be changed.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<!--
|
<div id="connection-add-form">
|
||||||
<div class="connection">
|
<div class="icon connection add"/><select id="protocol"><option value="vnc">VNC</option><option value="rdp">RDP</option></select><input type="text" id="connection-id" class="name" placeholder="Add connection"/><button id="add-connection">Add</button>
|
||||||
<div class="caption"><div class="protocol"><div class="icon add"/></div><span class="name"><input style="width: 20em; padding: 0.25em" type="text" placeholder="Add connection"/></span></div>
|
|
||||||
</div>
|
</div>
|
||||||
-->
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -80,51 +82,57 @@
|
|||||||
|
|
||||||
<script type="text/javascript"><![CDATA[
|
<script type="text/javascript"><![CDATA[
|
||||||
|
|
||||||
var users = document.getElementById("users");
|
function hasEntry(object) {
|
||||||
|
for (var name in object)
|
||||||
var user_manager = new GuacAdmin.UserManager();
|
return true;
|
||||||
users.appendChild(user_manager.getElement());
|
return false;
|
||||||
|
|
||||||
function updateUsers() {
|
|
||||||
var user_list = GuacamoleService.Users.list();
|
|
||||||
user_manager.setUsers(user_list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
user_manager.onsave = function(id, password, connections) {
|
var connections = document.getElementById("connections");
|
||||||
updateUsers();
|
var users = document.getElementById("users");
|
||||||
console.log(id, password, connections);
|
|
||||||
return true;
|
|
||||||
};
|
|
||||||
|
|
||||||
user_manager.onadd = function(username) {
|
// Show admin elements if admin permissions available
|
||||||
|
var permissions = GuacamoleService.Permissions.list();
|
||||||
|
|
||||||
try {
|
if (permissions.create_connection
|
||||||
GuacamoleService.Users.create(username);
|
|| hasEntry(permissions.update_connection)
|
||||||
updateUsers();
|
|| hasEntry(permissions.remove_connection)
|
||||||
return true;
|
|| hasEntry(permissions.administer_connection))
|
||||||
}
|
GuacUI.addClass(document.body, "manage-connections");
|
||||||
catch (e) {
|
|
||||||
alert("User \"" + username + "\" cannot be created: " + e.message);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
if (permissions.create_user
|
||||||
|
|| hasEntry(permissions.update_user)
|
||||||
|
|| hasEntry(permissions.remove_user)
|
||||||
|
|| hasEntry(permissions.administer_user))
|
||||||
|
GuacUI.addClass(document.body, "manage-users");
|
||||||
|
|
||||||
user_manager.onremove = function(username) {
|
// Connection creation
|
||||||
|
if (permissions.create_connection) {
|
||||||
|
GuacUI.addClass(document.body, "add-connections");
|
||||||
|
|
||||||
try {
|
var add_connection = document.getElementById("add-connection");
|
||||||
GuacamoleService.Users.remove(username);
|
var connection_id = document.getElementById("connection-id");
|
||||||
updateUsers();
|
var protocol = document.getElementById("protocol");
|
||||||
return true;
|
|
||||||
}
|
|
||||||
catch (e) {
|
|
||||||
alert("User \"" + username + "\" cannot be deleted: " + e.message);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
add_connection.onclick = function() {
|
||||||
|
var connection = new GuacamoleService.Connection(
|
||||||
|
protocol.value, connection_id.value);
|
||||||
|
GuacamoleService.Connections.create(connection);
|
||||||
|
};
|
||||||
|
|
||||||
updateUsers();
|
}
|
||||||
|
|
||||||
|
// User creation
|
||||||
|
if (permissions.create_user) {
|
||||||
|
GuacUI.addClass(document.body, "add-users");
|
||||||
|
|
||||||
|
var add_user = document.getElementById("add-user");
|
||||||
|
var username = document.getElementById("username");
|
||||||
|
add_user.onclick = function() {
|
||||||
|
GuacamoleService.Users.create(username.value);
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
]]></script>
|
]]></script>
|
||||||
|
|
||||||
|
@@ -325,10 +325,28 @@ div.section {
|
|||||||
font-size: 0.75em;
|
font-size: 0.75em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-list input.name {
|
#connections input.name,
|
||||||
|
#users input.name {
|
||||||
max-width: 20em;
|
max-width: 20em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-list .add-user button {
|
#connections #add-connection,
|
||||||
|
#users #add-user {
|
||||||
font-size: 0.8em;
|
font-size: 0.8em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body:not(.manage-connections) .require-manage-connections {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
body:not(.manage-users) .require-manage-users {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
body:not(.add-connections) #connection-add-form {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
body:not(.add-users) #user-add-form {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user