124 lines
3.1 KiB
Plaintext
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>
|