vpn-p2p/nodejs/views/users.ejs
2020-05-03 18:22:51 -04:00

112 lines
3.4 KiB
Plaintext
Executable File

<%- include('top') %>
<script id="rowTemplate" type="text/html">
<tr action="user/password/{{ username }}" method="put" evalAJAX="$form.trigger('reset')">
<td>
{{ uid }}:{{ username }}
</td>
<td>
<input type="hidden" name="username" value="{{ username }}" />
<div class="col-xs-10 form-group">
<label class="control-label"></label>
<input type="password" size="15" class="form-control" name="password" placeholder="New password" validate="password:5"/>
</div>
<button type="button btn-warn" onclick="formAJAX(this)" class="btn btn-sm btn-warn">
Change
</button>
</td>
<td>
<button type="button" onclick="app.user.remove({username: '{{username}}'}, function(){tableAJAX('username {{username}} delete.')})" class="btn btn-sm btn-danger">
Delete
</button>
</td>
</tr>
</script>
<script type="text/javascript">
function tableAJAX(actionMessage){
var rowTemplate = $('#rowTemplate').html();
$('#tableAJAX').html('').hide();
app.util.actionMessage('Refreshing user list...')
app.user.list(function(error, data){
$.each( data.results, function(key, value) {
user_row = Mustache.render(rowTemplate, value);
$('#tableAJAX').append(user_row);
});
$('#tableAJAX').fadeIn('slow');
app.util.actionMessage(actionMessage || '', {type: 'info'});
});
}
$(document).ready(function(){
tableAJAX(); //populate the table
});
</script>
<div class="row" style="display:none">
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">
<div class="panel-title">
Add new user
<div class="pull-right">
<label class="glyphicon glyphicon-circle-arrow-down panel-toggle"></label>
</div>
</div>
</div>
<div class="panel-body">
<form action="user/" evalAJAX="$form.trigger('reset')">
<input type="hidden" class="form-control" name="delete" value="false" />
<div class="form-group">
<label class="control-label">User-name</label>
<input type="text" class="form-control" name="username" placeholder="Letter, numbers, -, _, . and @ only" validate="user:3" />
</div>
<div class="form-group">
<label class="control-label">Password</label>
<input type="password" class="form-control" name="password" placeholder="Atleast 5 char. long" validate="password:5"/>
</div>
<div class="form-group">
<label class="control-label">Again</label>
<input type="password" class="form-control" name="passwordMatch" placeholder="Retype password" validate="eq:password"/>
</div>
<button type="button" onclick="formAJAX(this)" class="btn btn-default">Add</button>
</form>
</div>
</div>
</div>
<div class="col-md-8">
<div class="panel panel-default">
<div class="panel-heading">
<div class="panel-title">
User List
<div class="pull-right">
<label class="glyphicon glyphicon-circle-arrow-down panel-toggle"></label>
</div>
</div>
</div>
<div class="panel-body" style="padding-bottom:0">
<div class="alert alert-warning actionMessage" style="display:none">
<!-- Message after AJAX action is preformed -->
</div>
<div class="table-responsive">
<table class="table">
<thead>
<th>Name</th>
<th>Password</th>
<th>Delete</th>
</thead>
<tbody id="tableAJAX">
<!-- ajax loaded table -->
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<%- include('bottom') %>