osops-coda/coda/templates/coda/instances.html

88 lines
4.1 KiB
HTML
Executable File

<script type="text/javascript">
$(document).ready(function(){
var csrftoken = Cookies.get('csrftoken');
var project_id = "{{ project_id }}";
var region = "{{ region }}";
var update_cache = "{{ update_cache }}";
$.post('/coda/instances/', {csrfmiddlewaretoken: csrftoken, project_id: project_id, region: region, update_cache: update_cache}, function(data, status) {
var resultsDiv = $('#instances_{{ region }}_{{ project_id }}').find('#results');
data = JSON.parse(data);
if(Object.keys(data).length > 0) {
$.map(data, function (instancesList, userID) {
var tableWrapper = $("<div>").addClass("table_wrapper");
tableWrapper.append("<h3 class=\"table_title\">Instances for User ID: " + userID + "</h3>");
var table = $("<table>");
table.addClass("table")
table.addClass("table-bordered")
table.addClass("datatable")
var thead = $("<thead>");
var tr = $("<tr>");
tr.append($("<th>UUID</th>").addClass("normal_column"));
tr.append($("<th>Name</th>").addClass("normal_column"));
tr.append($("<th>Flavor</th>").addClass("normal_column"));
tr.append($("<th>Status</th>").addClass("normal_column"));
tr.append($("<th>Task</th>").addClass("normal_column"));
tr.append($("<th>Power</th>").addClass("normal_column"));
tr.append($("<th>Hypervisor</th>").addClass("normal_column"));
tr.append($("<th>Image Id</th>").addClass("normal_column"));
tr.append($("<th>Image Name</th>").addClass("normal_column"));
thead.append(tr);
table.append(thead);
var tbody = $("<tbody>");
$.each(instancesList, function (i, instance) {
var tr = $("<tr>");
tr.append("<td>" + instance.id + "</td>");
tr.append("<td>" + instance.name + "</td>");
tr.append("<td>" + instance.flavor.id + "</td>");
tr.append("<td>" + instance.status + "</td>");
tr.append("<td>" + instance["OS-EXT-STS:task_state"] + "</td>");
tr.append("<td>" + instance["OS-EXT-STS:power_state"] + "</td>");
tr.append("<td>" + instance["OS-EXT-SRV-ATTR:hypervisor_hostname"] + "</td>");
tr.append("<td>" + instance.image.id + "</td>");
tr.append("<td>" + instance.image.name + "</td>");
tbody.append(tr);
});
table.append(tbody);
var tfoot = $("<tfoot>");
var tr = $("<tr>");
var td = $("<td colspan='9'>");
var span = $("<span colspan='9'>");
var footerMessage = "Displaying " + instancesList.length + " item";
if (instancesList.length > 1)
footerMessage += "s";
span.append(footerMessage);
td.append(span);
tr.append(td);
tfoot.append(tr);
table.append(tfoot);
tableWrapper.append(table);
resultsDiv.append(tableWrapper);
});
} else {
var resultsDiv = $('#instances_{{ region }}_{{ project_id }}').find('#results');
resultsDiv.html("<h4>No Instances in region.</h4>")
}
$('#instances_{{ region }}_{{ project_id }}').find('#querying').hide();
$('#instances_{{ region }}_{{ project_id }}').find('#results').show();
});
});
</script>
<div id="instances_{{ region }}_{{ project_id }}" class="table_wrapper">
<div id="querying">
<h3>Querying instances for region: {{ region }}...</h3>
</div>
<div id="results" style="display: none">
</div>
</div>