This repository has been archived on 2025-12-25. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
qmi-cloud/server/views/layout.ejs
Manuel Romero 19b234ac16 First commit
2019-11-25 16:08:55 +01:00

124 lines
3.1 KiB
Plaintext

<!DOCTYPE html>
<html>
<head>
<title>QMI Cloud</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
<div id="logs" style="width: 70%; min-height: 600px; padding: 20px; height:100%; right:-70%; top: 0px; color: white; background: #444; position: fixed; z-index:5; overflow: auto;">
</div>
<div class="container">
<% if (!user) { %>
<h2>Welcome! Please log in.</h2>
<a href="/login">Log In</a>
<% } else { %>
<div style="float:right;">
<h4>Hello, <%= user.displayName %>.</h4>
<a href="/myprovisions">Go to your QMI cloud</a></br>
<a href="/account">Account Info</a></br>
<a href="/logout">Log Out</a>
</div>
<br>
<br>
<h2>Available scenarios</h2>
<ul>
<li>azqmi-qdc-sn (My Proffessioanl Azure): <a class="btn btn-primary btn-sm" onclick="provision('azqmi-qdc-sn', '<%= user._id %>');" href="#">Provision</a></li>
<li>azqmi-qdc-ss (Dev/Test IT Azure): <a class="btn btn-primary btn-sm" onclick="provision('azqmi-qdc-ss', '<%= user._id %>');" href="#">Provision</a></li>
<li>azqmi-qseok (Dev/Test IT Azure): <a class="btn btn-primary btn-sm" onclick="provision('azqmi-qseok', '<%= user._id %>');" href="#">Provision</a></li>
</ul>
<br>
<% } %>
<div id="provisions"></div>
</div>
<script>
var logTimer;
function _updateProvs(){
$.ajax({
type: "GET",
url: "/getmyprovs"
}).done(function(data){
$("#provisions").html(data);
});
}
function _updateLog(id){
$.ajax({
type: "GET",
url: "/log/"+id
}).done(function(data){
$("#logs").html(data);
});
}
_updateProvs();
setInterval(function(){
_updateProvs();
}, 5000);
function showlog(id) {
document.getElementById("logs").style.right = "0px";
_updateLog(id);
clearInterval(logTimer);
logTimer = setInterval(function(){
_updateLog(id);
}, 3000);
}
function hidelog(){
document.getElementById("logs").style.right = "-70%";
clearInterval(logTimer);
}
function provision(name, userId){
$.ajax({
type: "POST",
url: "/api/users/"+userId+"/provisions",
data: {
"scenario": name
},
success: function(){
_updateProvs();
},
dataType: "json"
});
}
function destroy(provId, userId){
$.ajax({
type: "POST",
url: "/api/users/"+userId+"/destroyprovisions",
data: {
"id": provId
},
success: function(){
_updateProvs();
},
dataType: "json"
});
}
function del(provId, userId){
$.ajax({
type: "DELETE",
url: "/api/users/"+userId+"/provisions",
data: {
"id": provId
},
success: function(){
_updateProvs();
},
dataType: "json"
});
}
</script>
</body>
</html>