rc1
This commit is contained in:
0
nodejs/views/email_templates/untitled
Normal file
0
nodejs/views/email_templates/untitled
Normal file
24
nodejs/views/email_templates/validate_link.js
Normal file
24
nodejs/views/email_templates/validate_link.js
Normal file
@ -0,0 +1,24 @@
|
||||
module.exports = {
|
||||
subject: 'Validate email for Theta 42 account',
|
||||
message: `
|
||||
<h2> Theta 42 account</h2>
|
||||
|
||||
<p>
|
||||
Welcome,
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We need to verify the provided email address in order to continue. Please
|
||||
follow the link below to verify this email address:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
{{ link }}
|
||||
</p>
|
||||
|
||||
</p>
|
||||
Thank you,<br />
|
||||
Theta 42
|
||||
</p>
|
||||
`
|
||||
};
|
34
nodejs/views/email_templates/welcome.js
Normal file
34
nodejs/views/email_templates/welcome.js
Normal file
@ -0,0 +1,34 @@
|
||||
module.exports = {
|
||||
subject: 'Welcome to Theta 42!',
|
||||
message: `
|
||||
<p>
|
||||
Welcome {{user.givenName}},
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Your new Theta 42 Single sign-on account is ready to use. Here is some
|
||||
information to get you started.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Your username is <b>{{user.uid}}</b>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You can manage your account at https://sso.theta42.com
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You account is ready to be used now, test it by SSHing into the Theta 42
|
||||
jump host \`ssh {{user.uid}}@718it.biz\`
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The SSO service is still in beta, so please report any bugs you may find!
|
||||
You will be notified of new features and services as they become available.
|
||||
</p>
|
||||
Thank you,<br />
|
||||
Theta 42
|
||||
</p>
|
||||
`
|
||||
};
|
@ -11,8 +11,6 @@
|
||||
<i>LDAP DN:</i> <b>{{dn}} </b><br />
|
||||
<i>Joined</i> <b>{{createTimestamp}} </b><br />
|
||||
<i>Joined</i> <b>{{modifyTimestamp}} </b><br />
|
||||
|
||||
|
||||
<img id="profile_photo" >
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
@ -43,7 +41,6 @@
|
||||
|
||||
function getInvite(){
|
||||
app.user.createInvite(function(error, data){
|
||||
console.log(data)
|
||||
$('#invite_token').html(location.origin+"/login/invite/"+data.token);
|
||||
});
|
||||
}
|
||||
@ -54,14 +51,15 @@
|
||||
</script>
|
||||
<div class="row" style="display:none">
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-3 card-default">
|
||||
<div class="shadow-lg card mb-3 card-default">
|
||||
<div class="card-header">
|
||||
<span class="card-title">
|
||||
<div class="float-right">
|
||||
<i class="far fa-arrows-v"></i>
|
||||
</div>
|
||||
Invite User
|
||||
</span>
|
||||
<div class="float-right">
|
||||
|
||||
<i class="far fa-arrows-v"></i>
|
||||
|
||||
</div>
|
||||
Invite User
|
||||
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<button onclick="getInvite(this)">New Invite Token</button>
|
||||
@ -71,24 +69,47 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3 card-default">
|
||||
<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="fas fa-user-plus"></i> Add new user
|
||||
<i class="fas fa-user-plus"></i>
|
||||
Services
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<%- include('user_form') %>
|
||||
|
||||
<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="card card-default">
|
||||
<div class="shadow-lg card card-default">
|
||||
<div class="card-header">
|
||||
User List
|
||||
<div class="float-right">
|
||||
<div class="hover-effect float-right">
|
||||
<i class="far fa-arrows-v"></i>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -5,25 +5,20 @@
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
$('form').attr('action', 'auth/invite/<%= invite.token %>').attr('evalAJAX', 'location.replace("/login");')
|
||||
|
||||
$('form').attr('action', 'auth/invite/<%= invite.token %>/<%= invite.mail_token %>').attr('evalAJAX', 'location.replace("/login");')
|
||||
$('[name="mail"').val('<%= invite.mail %>').prop("disabled", true);
|
||||
});
|
||||
</script>
|
||||
<div class="row" style="display:none">
|
||||
<div class="col-md-12">
|
||||
<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 class="card">
|
||||
<div class="card-header">
|
||||
Add new user
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<h3>
|
||||
Invited By: <b><%= invite.created_by %></b>, On <b><%= invite.created_on %></b>
|
||||
</h3>
|
||||
<div class="card-body">
|
||||
<p>
|
||||
Invited By: <b><%= invite.created_by %></b>, <%= invite.created_on %>
|
||||
</p>
|
||||
<div class="alert alert-warning actionMessage" style="display:none">
|
||||
<!-- Message after AJAX action is preformed -->
|
||||
</div>
|
||||
|
48
nodejs/views/invite_email.ejs
Normal file
48
nodejs/views/invite_email.ejs
Normal file
@ -0,0 +1,48 @@
|
||||
<%- include('top') %>
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
var emailSent = function(){
|
||||
$('#email_card .card-body').html("<h1>Thank you!</h1><p>Check your mail</p>")
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class="row">
|
||||
<div id="email_card" class="card-deck">
|
||||
<div class="shadow-lg card mb-3">
|
||||
<div class="card-header">
|
||||
Validate Email
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p>
|
||||
Invited By: <b><%= invite.created_by %></b>, <%= invite.created_on %>.
|
||||
</p>
|
||||
<p>
|
||||
Please enter a valid email address. A link will be sent to
|
||||
the supplied address to complete the registration process.
|
||||
</p>
|
||||
<p>
|
||||
The supplied email will also be used as the linked email for
|
||||
the new user.
|
||||
</p>
|
||||
<form action="auth/invite/<%= invite.token %>" onsubmit="formAJAX(this)" evalAJAX="emailSent()">
|
||||
<div class="form-group">
|
||||
<div class="input-group mb-3">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text" ><i class="fad fa-at"></i></span>
|
||||
</div>
|
||||
<input type="email" name="mail" class="form-control" placeholder="jsmith@gmail.com" required />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-outline-dark"><i class="fad fa-paper-plane"></i> Send It!</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%- include('bottom') %>
|
@ -32,28 +32,84 @@
|
||||
</script>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<div class="panel-title">Log in</div>
|
||||
<div class="card-deck">
|
||||
<div class="shadow-lg card mb-3">
|
||||
<div class="card-header">
|
||||
Password Log in
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="card-body">
|
||||
<div class="alert alert-warning actionMessage" style="display:none">
|
||||
</div>
|
||||
<form action="login" onsubmit="$(this).validate()">
|
||||
<input type="hidden" name="redirect" value="<%= redirect %>">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">User name</label>
|
||||
<input type="text" name="uid" class="form-control" placeholder="User" validate="user:3" />
|
||||
<div class="input-group mb-3">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text" ><i class="fad fa-user"></i></span>
|
||||
</div>
|
||||
<input type="text" name="uid" class="form-control" placeholder="jsmith" validate="user:3" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Password</label>
|
||||
<input type="password" name="password" class="form-control" placeholder="Password" validate="password:5" />
|
||||
<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=":3" />
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-default" >Log in</button>
|
||||
|
||||
<button type="submit" class="btn btn-outline-dark"><i class="fad fa-sign-in"></i> Log in</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="shadow-lg card border-danger mb-3">
|
||||
<div class="card-header">
|
||||
Social Login
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="alert alert-warning actionMessage" style="display:none">
|
||||
</div>
|
||||
<h3>Coming soon!</h3>
|
||||
<ul>
|
||||
<li><i class="fab fa-google"></i> Login with google OATH</li>
|
||||
<li><i class="fab fa-github"></i> Login with github OATH</li>
|
||||
<li><i class="fab fa-facebook"></i> Login with facebook OATH</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="shadow-lg card border-danger mb-3">
|
||||
<div class="card-header">
|
||||
Password Reset
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p>
|
||||
Forgot your password? Or your user name? No problem! Just
|
||||
enter you email address below and if you are in our system,
|
||||
we will email with the required information to get back up
|
||||
and running!
|
||||
</p>
|
||||
<form action="reset_password" onsubmit="$(this).validate()">
|
||||
<input type="hidden" name="redirect" value="<%= redirect %>">
|
||||
|
||||
<div class="form-group">
|
||||
<div class="input-group mb-3">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text" ><i class="fad fa-at"></i></span>
|
||||
</div>
|
||||
<input type="email" name="mail" class="form-control" placeholder="jsmith@gmail.com" required />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-outline-dark"><i class="fad fa-question"></i> Help me!</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%- include('bottom') %>
|
||||
|
@ -26,15 +26,15 @@
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
<div class="d-flex flex-column flex-md-row align-items-center p-3 px-md-4 mb-3 bg-white border-bottom shadow-sm">
|
||||
<h5 class="my-0 mr-md-auto font-weight-normal">SSO Manager - Theta 42</h5>
|
||||
<nav class="my-2 my-md-0 mr-md-3">
|
||||
<a class="p-2 text-dark" href="/">Home</a>
|
||||
<a class="p-2 text-dark" href="/users"><i class="fad fa-users"></i> User Admin</a>
|
||||
</nav>
|
||||
<a class="btn btn-outline-primary" onclick="app.auth.logOut()"><i class="fas fa-sign-out"></i> Log Out</a>
|
||||
<header class="shadow d-flex flex-column flex-md-row align-items-center p-3 px-md-4 mb-3 bg-white border-bottom shadow-sm">
|
||||
<h5 class="hover-effect my-0 mr-md-auto font-weight-normal">SSO Manager - Theta 42</h5>
|
||||
<nav class="my-2 my-md-0 mr-md-3">
|
||||
<a class="hover-effect text-dark p-2" href="/"><i class="fad fa-tachometer-alt-fastest"></i> Home</a>
|
||||
<a class="hover-effect text-dark p-2" href="/users"><i class="fad fa-users"></i> User Admin</a>
|
||||
</nav>
|
||||
<a class="hover-effect btn btn-outline-primary" onclick="app.auth.logOut(e => window.location.href='/')"><i class="fas fa-sign-out"></i> Log Out</a>
|
||||
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Container -->
|
||||
<div class="container">
|
||||
<!-- Container -->
|
||||
<div class="container">
|
@ -12,12 +12,12 @@
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Email</label>
|
||||
<input type="text" class="form-control" name="mail" placeholder="jsmith@gmail.com" validate="email" />
|
||||
<input type="text" class="form-control" name="mail" placeholder="jsmith@gmail.com" validate="email:3" />
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Mobile Phone</label>
|
||||
<input type="text" class="form-control" name="mobile" placeholder="jsmith@gmail.com" validate="email" />
|
||||
<input type="text" class="form-control" name="mobile" placeholder="9175551234" validate=":9" />
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
|
@ -2,21 +2,13 @@
|
||||
<script id="rowTemplate" type="text/html">
|
||||
<tr action="user/password/{{ username }}" method="put" evalAJAX="$form.trigger('reset')">
|
||||
<td>
|
||||
{{ uid }}:{{ username }}
|
||||
{{ uidNumber }}:{{ uid }}
|
||||
</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>
|
||||
{{givenName}} {{sn}} {{mail}}
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" onclick="app.user.remove({username: '{{username}}'}, function(){tableAJAX('username {{username}} delete.')})" class="btn btn-sm btn-danger">
|
||||
<button type="button" onclick="app.user.remove({uid: '{{uid}}'}, function(){tableAJAX('username {{uid}} delete.')})" class="btn btn-sm btn-danger">
|
||||
Delete
|
||||
</button>
|
||||
</td>
|
||||
@ -49,46 +41,22 @@
|
||||
</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 class="card">
|
||||
<div class="card-header">
|
||||
Add new user
|
||||
|
||||
</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 class="card-body">
|
||||
<%- include('user_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 class="card">
|
||||
<div class="card-header">
|
||||
User List
|
||||
</div>
|
||||
<div class="panel-body" style="padding-bottom:0">
|
||||
<div class="card-body" style="padding-bottom:0">
|
||||
<div class="alert alert-warning actionMessage" style="display:none">
|
||||
<!-- Message after AJAX action is preformed -->
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user