<script>
|
|
function editHostForm(id, username, apiKey)
|
|
{
|
|
$("#editUserBox").css("display", "");
|
|
$("#useridLabel").val(id);
|
|
$("#usernameLabel").val(username);
|
|
$("#revokeAPIUsername").val(username);
|
|
$("#apiDisplay").html(apiKey);
|
|
}
|
|
</script>
|
|
|
|
<div id="editUserBox" class="row" style="display:none">
|
|
<!-- Edit User -->
|
|
<div class="col-md-6 col-12">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h3 class="text-center">Edit User</h3>
|
|
</div>
|
|
<div class="card-body">
|
|
<form action="/user/edituser" method ="post" class="p-2">
|
|
<div class="form-group">
|
|
<input class="form-control" id="useridLabel" type="text" name="id" required>
|
|
<label>User ID</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<input class="form-control" id="usernameLabel" type="text" name="username" required>
|
|
<label>User Name</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<input class="form-control" type="password" name="password" required>
|
|
<label>Password</label>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<input class="form-control w-100" type="checkbox" name="admin">
|
|
<label>Admin</label>
|
|
</div>
|
|
<div class="text-center">
|
|
<input type="submit" name="add_user" value="Update User"
|
|
class="btn btn-lg btn-secondary"/>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<br>
|
|
</div>
|
|
|
|
<!-- Edit API -->
|
|
<div class="col-md-6 col-12">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h3 class="text-center">API Settings</h3>
|
|
</div>
|
|
<div class="card-body">
|
|
|
|
<h4>Current API Key</h4>
|
|
<p id="apiDisplay"></p>
|
|
|
|
<form action="/user/revokeAPI" method ="post" class="p-2">
|
|
<input class="form-control" id="revokeAPIUsername" type="text" name="username" value="" hidden>
|
|
<div class="text-center">
|
|
<input type="submit" name="revoke_api" value="Generate New API Key"
|
|
class="btn btn-lg btn-secondary"/>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<br>
|
|
</div>
|
|
</div>
|
|
|
|
{if admin}
|
|
<div class="row">
|
|
<!-- Current Users -->
|
|
<div class="col-md-8">
|
|
<div class='card'>
|
|
<div class="card-header">
|
|
<h3 class="text-center">Users</h3>
|
|
</div>
|
|
<div class="card-body">
|
|
<table class="table table-striped">
|
|
<thead class="thead-dark">
|
|
<tr>
|
|
<td>User Name</td>
|
|
<td>User ID</td>
|
|
<td>Admin</td>
|
|
<td>Edit</td>
|
|
<td>Terminate</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{for user in users}
|
|
<tr>
|
|
<td>{user.username}</td>
|
|
<td>{user.id}</td>
|
|
<td>{user.admin}</td>
|
|
<td>
|
|
<button onclick="editHostForm({user.id}, '{user.username}', '{user.api}')" class="btn btn-secondary">Edit User</button>
|
|
</td>
|
|
<td>
|
|
<form action="/user/removeuser" method ="post" >
|
|
<input type="submit" name="submit" value="Delete" class="btn btn-secondary"/>
|
|
<input type='hidden' name='id' value='{user.id}' />
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
{/for}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Add User -->
|
|
<div class="col-md-4">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h3 class="text-center">Add New User</h3>
|
|
</div>
|
|
<div class="card-body">
|
|
<form action="/user/addUser" method ="post" class="p-2">
|
|
<div class="form-group">
|
|
<label> User Name
|
|
<input class="form-control w-100" type="text" name="username" required>
|
|
</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label>Password
|
|
<input class="form-control w-100" type="password" name="password" required>
|
|
</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label>Admin
|
|
<input class="form-control w-100" type="checkbox" name="admin">
|
|
</label>
|
|
</div>
|
|
<div class="text-center">
|
|
<input type="submit" name="add_user" value="Create User"
|
|
class="btn btn-lg btn-secondary"/>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<br>
|
|
</div>
|
|
</div>
|
|
{else}
|
|
{if loggedIn}
|
|
<div class="row">
|
|
<div class="col-md-6 col-12">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h3 class="text-center">Update Profile</h3>
|
|
</div>
|
|
<div class="card-body">
|
|
<form action="/user/updateUser" method ="post" class="p-2">
|
|
<div class="form-group">
|
|
<input class="form-control" id="usernameLabel" type="text" name="username" value="{username}" required>
|
|
<label>User Name</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<input class="form-control" type="password" name="password" required>
|
|
<label>Password</label>
|
|
</div>
|
|
<div class="text-center">
|
|
<input type="submit" name="Update Profile" value="Update User"
|
|
class="btn btn-lg btn-secondary"/>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<br>
|
|
</div>
|
|
<div class="col-md-6 col-12">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h3 class="text-center">API Settings</h3>
|
|
</div>
|
|
<div class="card-body">
|
|
|
|
<h4>Current API Key</h4>
|
|
<p>{apiKey}</p>
|
|
|
|
<form action="/user/revokeAPI" method ="post" class="p-2">
|
|
<div class="text-center">
|
|
<input type="submit" name="revoke_api" value="Generate New API Key"
|
|
class="btn btn-lg btn-secondary"/>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<br>
|
|
</div>
|
|
</div>
|
|
{else}
|
|
<h1 class="align-content-center">Login Required</h1>
|
|
<div class="align-content-center">
|
|
<img src="/includes/img/404.jpg" alt="Page not found" width="70%" />
|
|
</div>
|
|
{/if}
|
|
{/if}
|