vpn-p2p/nodejs/views/home.ejs
2020-05-15 00:40:15 -04:00

177 lines
5.3 KiB
Plaintext

<%- include('top') %>
<script id="profileTemplate" type="text/html">
<h2><i>User Name:</i> <b>{{uid}}</b></h2>
<i>Name:</i> <b>{{givenName}} {{sn}}</b><br />
<i>Email:</i> <b>{{mail}} </b><br />
<i>Phone:</i> <b>{{mobile}} </b><br />
<i>Home Directory:</i> <b>{{homeDirectory}} </b><br />
<i>Login Shell:</i> <b>{{loginShell}} </b><br />
<i>Unix User ID:</i> <b>{{uidNumber}} </b><br />
<i>Unix Group ID:</i> <b>{{gidNumber}} </b><br />
<i>LDAP DN:</i> <b>{{dn}} </b><br />
<i>SSH Public Key</i> <b>{{sshPublicKey}}</b><br />
<i>Joined</i> <b>{{createTimestamp}} </b><br />
<i>Edited</i> <b>{{modifyTimestamp}} </b><br />
<img id="profile_photo" >
</script>
<script id="paswordResetTemplate" type="text/html">
<h3>
Reset Password for {{uid}}
</h3>
<form action="user/{{uid}}/password" method="put" onsubmit="formAJAX(this)">
<div class="form-group">
<label class="control-label">Password</label>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text" ><i class="fad fa-key"></i></span>
</div>
<input type="password" name="userPassword" class="form-control" placeholder="hunter123!" validate=":3" />
</div>
</div>
<div class="form-group">
<label class="control-label">Agian</label>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text" ><i class="fad fa-key"></i></span>
</div>
<input type="password" name="password" class="form-control" placeholder="hunter123!" validate="eq:userPassword" />
</div>
</div>
<button type="submit" class="btn btn-outline-dark">Change</button>
</form>
</script>
<script type="text/javascript">
function hexToBase64(str) {
return btoa(String.fromCharCode.apply(null, str.replace(/\r|\n/g, "").replace(/([\da-fA-F]{2}) ?/g, "0x$1 ").replace(/ +$/, "").split(" ")));
}
function getInvite(){
app.user.createInvite(function(error, data){
$('#invite_token').html(location.origin+"/login/invite/"+data.token);
});
}
$(document).ready(function(){
var profileTemplate = $('#profileTemplate').html();
var paswordResetTemplate = $('#paswordResetTemplate').html();
var $target = $('#tableAJAX');
$target.html('').hide();
app.auth.isLoggedIn(function(error, data){
if(error){
app.util.actionMessage(data.message || '', $target, error ? 'danger': null);
}else{
// data.photo = unescape(encodeURIComponent(data.jpegPhoto));
data.createTimestamp = moment(data.createTimestamp, "YYYYMMDDHHmmssZ").fromNow();
data.modifyTimestamp = moment(data.modifyTimestamp, "YYYYMMDDHHmmssZ").fromNow();
$target.html(Mustache.render(profileTemplate, data));
$('#passwordReset').html(Mustache.render(paswordResetTemplate, data))
$target.fadeIn('slow');
}
});
});
</script>
<div class="row" style="display:none">
<div class="col-md-4">
<div class="shadow-lg card mb-3 card-default">
<div class="card-header">
<i class="fas fa-user-plus"></i>
Invite User
<div class="float-right">
<i class="far fa-arrows-v"></i>
</div>
</div>
<div class="card-header actionMessage" style="display:none">
</div>
<div class="card-body">
<button onclick="getInvite(this)">New Invite Token</button>
<div>
<b id="invite_token"></b>
</div>
</div>
</div>
<div class="shadow-lg card mb-3 card-default">
<div class="card-header">
<div class="float-right">
<i class="far fa-arrows-v"></i>
</div>
<i class="fad fa-th-list"></i>
Services
</div>
<div class="card-header actionMessage" style="display:none">
</div>
<div class="card-body">
<ul class="list-group text-dark">
<a href="https://emby.718it.biz/" target="_blank" class="text-dark">
<li class="list-group-item text-dark">
<i class="fad fa-film"></i>
Emby
</li>
</a>
<a href="https://git.theta42.com" target="_blank" class="text-dark">
<li class="list-group-item text-dark">
<i class="fab fa-git"></i>
Git server
</li>
</a>
<a href="https://pve.admin.vm42.us" target="_blank" class="text-dark">
<li class="list-group-item text-dark">
<i class="fad fa-server"></i>
Promox (contact wmanlty for access)
</li>
</a>
<li class="list-group-item text-dark">
<i class="fad fa-terminal"></i>
ssh:718it.biz
</li>
</ul>
</div>
</div>
</div>
<div class="col-md-8">
<div class="shadow-lg card card-default mb-8">
<div class="card-header">
<i class="fad fa-id-card"></i>
Profile
<div class="hover-effect float-right">
<i class="far fa-arrows-v"></i>
</div>
</div>
<div class="card-header actionMessage" style="display:none">
</div>
<div class="card-body" style="padding-bottom:0">
<div class="alert alert-warning actionMessage" style="display:none">
<!-- Message after AJAX action is preformed -->
</div>
<div id="tableAJAX" style="display:none">
</div>
</div>
</div>
<br />
<div class="shadow-lg card">
<div class="card-header">
<i class="fad fa-undo-alt"></i>
Password Reset
<div class="float-right">
<i class="far fa-arrows-v"></i>
</div>
</div>
<div class="card-header actionMessage" style="display:none">
</div>
<div id="passwordReset" class="card-body">
</div>
</div>
</div>
</div>
<%- include('bottom') %>