Commit 98449110 by Kálmán Viktor

Merge branch 'feature-base-template' into 'master'

Common base template for dashboard, network, registration

Closes #191
Closes #173

Also Font Awesome 4.1 upgrade

https://miskolc.cloud.bme.hu:18525/dashboard/
parents 2ca7eb56 325b8bba
...@@ -131,7 +131,7 @@ class VmCustomizeForm(forms.Form): ...@@ -131,7 +131,7 @@ class VmCustomizeForm(forms.Form):
"button", "button",
AnyTag( AnyTag(
"i", "i",
css_class="icon-play" css_class="fa fa-play"
), ),
HTML(" Start"), HTML(" Start"),
css_id="vm-create-customized-start", css_id="vm-create-customized-start",
...@@ -163,7 +163,7 @@ class VmCustomizeForm(forms.Form): ...@@ -163,7 +163,7 @@ class VmCustomizeForm(forms.Form):
Div( # cpu priority Div( # cpu priority
Div( Div(
HTML('<label for="vm-cpu-priority-slider">' HTML('<label for="vm-cpu-priority-slider">'
'<i class="icon-trophy"></i> CPU priority' '<i class="fa fa-trophy"></i> CPU priority'
'</label>'), '</label>'),
css_class="col-sm-3" css_class="col-sm-3"
), ),
...@@ -182,7 +182,7 @@ class VmCustomizeForm(forms.Form): ...@@ -182,7 +182,7 @@ class VmCustomizeForm(forms.Form):
Div( # cpu count Div( # cpu count
Div( Div(
HTML('<label for="cpu-count-slider">' HTML('<label for="cpu-count-slider">'
'<i class="icon-cogs"></i> CPU count' '<i class="fa fa-cogs"></i> CPU count'
'</label>'), '</label>'),
css_class="col-sm-3" css_class="col-sm-3"
), ),
...@@ -201,7 +201,7 @@ class VmCustomizeForm(forms.Form): ...@@ -201,7 +201,7 @@ class VmCustomizeForm(forms.Form):
Div( # ram size Div( # ram size
Div( Div(
HTML('<label for="ram-slider">' HTML('<label for="ram-slider">'
'<i class="icon-ticket"></i> RAM amount' '<i class="fa fa-ticket"></i> RAM amount'
'</label>'), '</label>'),
css_class="col-sm-3" css_class="col-sm-3"
), ),
...@@ -313,7 +313,7 @@ class VmCustomizeForm(forms.Form): ...@@ -313,7 +313,7 @@ class VmCustomizeForm(forms.Form):
"a", "a",
AnyTag( AnyTag(
"i", "i",
css_class="icon-plus-sign", css_class="fa fa-plus-circle",
), ),
css_id=("vm-create-network-add" css_id=("vm-create-network-add"
"-button"), "-button"),
...@@ -556,7 +556,7 @@ class NodeForm(forms.ModelForm): ...@@ -556,7 +556,7 @@ class NodeForm(forms.ModelForm):
"button", "button",
AnyTag( AnyTag(
"i", "i",
css_class="icon-play" css_class="fa fa-play"
), ),
HTML("Start"), HTML("Start"),
css_id="node-create-submit", css_id="node-create-submit",
...@@ -958,7 +958,7 @@ class CircleAuthenticationForm(AuthenticationForm): ...@@ -958,7 +958,7 @@ class CircleAuthenticationForm(AuthenticationForm):
"span", "span",
AnyTag( AnyTag(
"i", "i",
css_class="icon-user", css_class="fa fa-user",
), ),
css_class="input-group-addon", css_class="input-group-addon",
), ),
...@@ -972,7 +972,7 @@ class CircleAuthenticationForm(AuthenticationForm): ...@@ -972,7 +972,7 @@ class CircleAuthenticationForm(AuthenticationForm):
"span", "span",
AnyTag( AnyTag(
"i", "i",
css_class="icon-lock", css_class="fa fa-lock",
), ),
css_class="input-group-addon", css_class="input-group-addon",
), ),
...@@ -1000,7 +1000,7 @@ class CirclePasswordResetForm(PasswordResetForm): ...@@ -1000,7 +1000,7 @@ class CirclePasswordResetForm(PasswordResetForm):
"span", "span",
AnyTag( AnyTag(
"i", "i",
css_class="icon-envelope", css_class="fa fa-envelope",
), ),
css_class="input-group-addon", css_class="input-group-addon",
), ),
......
...@@ -146,10 +146,10 @@ ...@@ -146,10 +146,10 @@
height: 26px; height: 26px;
margin-top: -4px!important; margin-top: -4px!important;
margin-left: -6px !important; margin-left: -6px !important;
border-radius: 0px; border-radius: 0px;
-moz-border-radius: 0px; -moz-border-radius: 0px;
-webkit-border-radius: 0px; -webkit-border-radius: 0px;
text-shadow: 0 1px 0 #fff; text-shadow: 0 1px 0 #fff;
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3071a9)); background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3071a9));
...@@ -196,10 +196,10 @@ ...@@ -196,10 +196,10 @@
} }
.vm-slider { .vm-slider {
width: 300px; width: 300px;
} }
.output { .output {
padding-left: 10px; padding-left: 10px;
font-weight: bold; font-weight: bold;
} }
...@@ -145,13 +145,13 @@ html { ...@@ -145,13 +145,13 @@ html {
background-color: transparent; background-color: transparent;
} }
.sub-timeline { .sub-timeline {
} }
.sub-activity { .sub-activity {
margin-left: 30px; margin-left: 30px;
padding-left: 10px; padding-left: 10px;
border-left: 3px solid green; border-left: 3px solid green;
} }
.sub-activity-active { .sub-activity-active {
...@@ -235,7 +235,7 @@ html { ...@@ -235,7 +235,7 @@ html {
#vm-details-rename, #vm-details-h1-name, #vm-details-rename , #vm-details-rename, #vm-details-h1-name, #vm-details-rename ,
#node-details-rename, #node-details-rename *, #node-details-h1-name, #node-list-rename, #node-list-rename *#group-details-rename, #group-details-rename *, #group-details-h1-name, #group-list-rename, #group-list-rename * { #node-details-rename, #node-details-rename *, #node-details-h1-name, #node-list-rename, #node-list-rename *#group-details-rename, #group-details-rename *, #group-details-h1-name, #group-list-rename, #group-list-rename * {
display: inline; display: inline;
} }
...@@ -302,8 +302,8 @@ html { ...@@ -302,8 +302,8 @@ html {
} }
/* port add buttons */ /* port add buttons */
.vm-details-network-port-add .input-group-addon, .vm-details-network-port-add .input-group-btn { .vm-details-network-port-add .input-group-addon, .vm-details-network-port-add .input-group-btn {
width: inherit ; width: inherit ;
} }
/* vm-create */ /* vm-create */
...@@ -426,12 +426,12 @@ a.hover-black { ...@@ -426,12 +426,12 @@ a.hover-black {
cursor: pointer; cursor: pointer;
} }
#vm-migrate-node-list { #vm-migrate-node-list {
list-style: none; list-style: none;
} }
#vm-migrate-node-list li { #vm-migrate-node-list li {
padding-bottom: 10px; padding-bottom: 10px;
} }
.vm-migrate-node-property { .vm-migrate-node-property {
...@@ -446,7 +446,7 @@ a.hover-black { ...@@ -446,7 +446,7 @@ a.hover-black {
/* fancy stuff /* fancy stuff
border: 1px solid #ccc; border: 1px solid #ccc;
box-shadow: 0 0 10px rgba(0,0,0,0.2); box-shadow: 0 0 10px rgba(0,0,0,0.2);
border-radius: 8px; border-radius: 8px;
*/ */
} }
...@@ -460,25 +460,25 @@ a.hover-black { ...@@ -460,25 +460,25 @@ a.hover-black {
/* footer */ /* footer */
footer { footer {
position: absolute; position: absolute;
bottom: 0; bottom: 0;
width: 100%; width: 100%;
/* Set the fixed height of the footer here */ /* Set the fixed height of the footer here */
height: 30px; height: 30px;
background-color: #101010; background-color: #101010;
color: white; color: white;
font-size: 13px; font-size: 13px;
padding: 5px 5px 0 5px; padding: 5px 5px 0 5px;
box-shadow: 0 0 30px rgba(0, 0, 0, 0.4); box-shadow: 0 0 30px rgba(0, 0, 0, 0.4);
text-align: center; text-align: center;
} }
footer a, footer a:hover, footer a:visited { footer a, footer a:hover, footer a:visited {
color: white; color: white;
text-decoration: underline; text-decoration: underline;
} }
.template-disk-list { .template-disk-list {
list-style: none; list-style: none;
padding-left: 0; padding-left: 0;
...@@ -513,15 +513,15 @@ footer a, footer a:hover, footer a:visited { ...@@ -513,15 +513,15 @@ footer a, footer a:hover, footer a:visited {
} }
/* template create vm help */ /* template create vm help */
.alert-new-template { .alert-new-template {
background: #3071a9; background: #3071a9;
color: white; color: white;
font-size: 22px; font-size: 22px;
} }
.alert-new-template ol { .alert-new-template ol {
margin-left: 25px; margin-left: 25px;
} }
/* bootstrap tour */ /* bootstrap tour */
.tour-template { .tour-template {
...@@ -542,11 +542,11 @@ footer a, footer a:hover, footer a:visited { ...@@ -542,11 +542,11 @@ footer a, footer a:hover, footer a:visited {
} }
.index-vm-list-name { .index-vm-list-name {
display: inline-block; display: inline-block;
max-width: 70%; max-width: 70%;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
float: left; float: left;
} }
...@@ -555,11 +555,11 @@ footer a, footer a:hover, footer a:visited { ...@@ -555,11 +555,11 @@ footer a, footer a:hover, footer a:visited {
} }
.index-template-list-name { .index-template-list-name {
display: inline-block; display: inline-block;
max-width: 50%; max-width: 50%;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
float: left; float: left;
} }
...@@ -574,7 +574,7 @@ footer a, footer a:hover, footer a:visited { ...@@ -574,7 +574,7 @@ footer a, footer a:hover, footer a:visited {
} }
#vm-details-home-description { #vm-details-home-description {
display: inline-block; display: inline-block;
position: relative; position: relative;
} }
...@@ -588,8 +588,8 @@ footer a, footer a:hover, footer a:visited { ...@@ -588,8 +588,8 @@ footer a, footer a:hover, footer a:visited {
} }
.vm-details-description-submit { .vm-details-description-submit {
position: absolute; position: absolute;
bottom: 10px; bottom: 10px;
right: 20px; right: 20px;
} }
...@@ -670,25 +670,25 @@ textarea[name="list-new-namelist"] { ...@@ -670,25 +670,25 @@ textarea[name="list-new-namelist"] {
} }
/* vm list css */ /* vm list css */
.vm-list-selected, .vm-list-selected td { .vm-list-selected, .vm-list-selected td {
background-color: #e8e8e8 !important; background-color: #e8e8e8 !important;
} }
.vm-list-selected:hover, .vm-list-selected:hover td { .vm-list-selected:hover, .vm-list-selected:hover td {
background-color: #d0d0d0 !important; background-color: #d0d0d0 !important;
} }
.vm-list-selected td:first-child { .vm-list-selected td:first-child {
font-weight: bold; font-weight: bold;
} }
.vm-list-table-thin { .vm-list-table-thin {
width: 10px; width: 10px;
} }
.vm-list-table-admin { .vm-list-table-admin {
width: 130px; width: 130px;
} }
#vm-details-connection-string-copy { #vm-details-connection-string-copy {
cursor: pointer; cursor: pointer;
...@@ -705,9 +705,9 @@ textarea[name="list-new-namelist"] { ...@@ -705,9 +705,9 @@ textarea[name="list-new-namelist"] {
} }
#group-detail-user-table td:nth-child(2) a, #group-detail-user-table td:nth-child(2) a,
#group-detail-perm-table td:nth-child(2) a, #group-detail-perm-table td:nth-child(2) a,
#template-access-table td:nth-child(2) a, #template-access-table td:nth-child(2) a,
#vm-access-table td:nth-child(2) a, #vm-access-table td:nth-child(2) a,
.no-style-link, .no-style-link:hover { .no-style-link, .no-style-link:hover {
color: #555 !important; color: #555 !important;
text-decoration: none; text-decoration: none;
...@@ -733,7 +733,7 @@ textarea[name="list-new-namelist"] { ...@@ -733,7 +733,7 @@ textarea[name="list-new-namelist"] {
border: 1px solid #ccc; border: 1px solid #ccc;
} }
#group-detail-permissions .selector-available h2, #group-detail-permissions .selector-available h2,
#group-detail-permissions .selector-chosen h2 { #group-detail-permissions .selector-chosen h2 {
margin: 0; margin: 0;
padding: 5px 8px 5px 8px; padding: 5px 8px 5px 8px;
...@@ -749,5 +749,5 @@ textarea[name="list-new-namelist"] { ...@@ -749,5 +749,5 @@ textarea[name="list-new-namelist"] {
} }
#group-detail-permissions input[type="submit"]{ #group-detail-permissions input[type="submit"]{
margin-top: -6px; margin-top: -6px;
} }
...@@ -121,11 +121,11 @@ $(function () { ...@@ -121,11 +121,11 @@ $(function () {
$("#dashboard-vm-list").on('click', '.dashboard-vm-favourite', function(e) { $("#dashboard-vm-list").on('click', '.dashboard-vm-favourite', function(e) {
var star = $(this).children("i"); var star = $(this).children("i");
var pk = $(this).data("vm"); var pk = $(this).data("vm");
if(star.hasClass("icon-star-empty")) { if(star.hasClass("fa-star-o")) {
star.removeClass("icon-star-empty").addClass("icon-star"); star.removeClass("fa-star-o").addClass("fa-star");
star.prop("title", "Unfavourite"); star.prop("title", "Unfavourite");
} else { } else {
star.removeClass("icon-star").addClass("icon-star-empty"); star.removeClass("fa-star").addClass("fa-star-o");
star.prop("title", "Mark as favourite"); star.prop("title", "Mark as favourite");
} }
$.ajax({ $.ajax({
...@@ -381,12 +381,12 @@ function generateVmHTML(pk, name, host, icon, _status, fav, is_last) { ...@@ -381,12 +381,12 @@ function generateVmHTML(pk, name, host, icon, _status, fav, is_last) {
return '<a href="/dashboard/vm/' + pk + '/" class="list-group-item' + return '<a href="/dashboard/vm/' + pk + '/" class="list-group-item' +
(is_last ? ' list-group-item-last' : '') + '">' + (is_last ? ' list-group-item-last' : '') + '">' +
'<span class="index-vm-list-name">' + '<span class="index-vm-list-name">' +
'<i class="' + icon + '" title="' + _status + '"></i> ' + name + '<i class="fa ' + icon + '" title="' + _status + '"></i> ' + name +
'</span>' + '</span>' +
'<small class="text-muted"> ' + host + '</small>' + '<small class="text-muted"> ' + host + '</small>' +
'<div class="pull-right dashboard-vm-favourite" data-vm="' + pk + '">' + '<div class="pull-right dashboard-vm-favourite" data-vm="' + pk + '">' +
(fav ? '<i class="icon-star text-primary title-favourite" title="Unfavourite"></i>' : (fav ? '<i class="fa fa-star text-primary title-favourite" title="Unfavourite"></i>' :
'<i class="icon-star-empty text-primary title-favourite" title="Mark as favorite"></i>' ) + '<i class="fa fa-star-o text-primary title-favourite" title="Mark as favorite"></i>' ) +
'</div>' + '</div>' +
'<div style="clear: both;"></div>' + '<div style="clear: both;"></div>' +
'</a>'; '</a>';
...@@ -394,14 +394,14 @@ function generateVmHTML(pk, name, host, icon, _status, fav, is_last) { ...@@ -394,14 +394,14 @@ function generateVmHTML(pk, name, host, icon, _status, fav, is_last) {
function generateGroupHTML(url, name) { function generateGroupHTML(url, name) {
return '<a href="' + url + '" class="list-group-item real-link">'+ return '<a href="' + url + '" class="list-group-item real-link">'+
'<i class="icon-group"></i> '+ name + '<i class="fa fa-users"></i> '+ name +
'</a>'; '</a>';
} }
function generateNodeHTML(name, icon, _status, url, is_last) { function generateNodeHTML(name, icon, _status, url, is_last) {
return '<a href="' + url + '" class="list-group-item real-link' + (is_last ? ' list-group-item-last' : '') + '">' + return '<a href="' + url + '" class="list-group-item real-link' + (is_last ? ' list-group-item-last' : '') + '">' +
'<span class="index-node-list-name">' + '<span class="index-node-list-name">' +
'<i class="' + icon + '" title="' + _status + '"></i> ' + name + '<i class="fa ' + icon + '" title="' + _status + '"></i> ' + name +
'</span>' + '</span>' +
'<div style="clear: both;"></div>' + '<div style="clear: both;"></div>' +
'</a>'; '</a>';
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
<script src="js/simple-slider.js"></script> <script src="js/simple-slider.js"></script>
<link href="css/simple-slider.css" rel="stylesheet" type="text/css" /> <link href="css/simple-slider.css" rel="stylesheet" type="text/css" />
<link href="css/simple-slider-volume.css" rel="stylesheet" type="text/css" /> <link href="css/simple-slider-volume.css" rel="stylesheet" type="text/css" />
<!-- These styles are only used for this page, not required for the slider --> <!-- These styles are only used for this page, not required for the slider -->
<style> <style>
body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; } body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
......
...@@ -31,7 +31,7 @@ $(function() { ...@@ -31,7 +31,7 @@ $(function() {
ttable.on("aftertablesort", function(event, data) { ttable.on("aftertablesort", function(event, data) {
$(".template-list-table thead th i").remove(); $(".template-list-table thead th i").remove();
var icon_html = '<i class="icon-sort-' + (data.direction == "desc" ? "up" : "down") + ' pull-right" style="position: absolute;"></i>'; var icon_html = '<i class="fa fa-sort-' + (data.direction == "desc" ? "desc" : "asc") + ' pull-right" style="position: absolute;"></i>';
$(".template-list-table thead th").eq(data.column).append(icon_html); $(".template-list-table thead th").eq(data.column).append(icon_html);
}); });
......
...@@ -4,13 +4,13 @@ $(function() { ...@@ -4,13 +4,13 @@ $(function() {
/* vm operations */ /* vm operations */
$('#ops, #vm-details-resources-disk').on('click', '.operation.btn', function(e) { $('#ops, #vm-details-resources-disk').on('click', '.operation.btn', function(e) {
var icon = $(this).children("i").addClass('icon-spinner icon-spin'); var icon = $(this).children("i").addClass('fa-spinner fa-spin');
$.ajax({ $.ajax({
type: 'GET', type: 'GET',
url: $(this).attr('href'), url: $(this).attr('href'),
success: function(data) { success: function(data) {
icon.removeClass("icon-spinner icon-spin"); icon.removeClass("fa-spinner fa-spin");
$('body').append(data); $('body').append(data);
$('#confirmation-modal').modal('show'); $('#confirmation-modal').modal('show');
$('#confirmation-modal').on('hidden.bs.modal', function() { $('#confirmation-modal').on('hidden.bs.modal', function() {
......
...@@ -288,11 +288,11 @@ function vmCustomizeLoaded() { ...@@ -288,11 +288,11 @@ function vmCustomizeLoaded() {
function vmCreateNetworkLabel(pk, name, managed) { function vmCreateNetworkLabel(pk, name, managed) {
return '<span id="vlan-' + pk + '" class="label label-' + (managed ? 'primary' : 'default') + '"><i class="icon-' + (managed ? 'globe' : 'link') + '"></i> ' + name + ' <a href="#" class="hover-black vm-create-remove-network"><i class="icon-remove-sign"></i></a></span> '; return '<span id="vlan-' + pk + '" class="label label-' + (managed ? 'primary' : 'default') + '"><i class="fa fa-' + (managed ? 'globe' : 'link') + '"></i> ' + name + ' <a href="#" class="hover-black vm-create-remove-network"><i class="fa fa-times-circle"></i></a></span> ';
} }
function vmCreateDiskLabel(pk, name) { function vmCreateDiskLabel(pk, name) {
var style = "float: left; margin: 5px 5px 5px 0;"; var style = "float: left; margin: 5px 5px 5px 0;";
return '<span id="disk-' + pk + '" class="label label-primary" style="' + style + '"><i class="icon-file"></i> ' + name + ' <a href="#" class="hover-black vm-create-remove-disk"><i class="icon-remove-sign"></i></a></span> '; return '<span id="disk-' + pk + '" class="label label-primary" style="' + style + '"><i class="fa fa-file"></i> ' + name + ' <a href="#" class="hover-black vm-create-remove-disk"><i class="fa fa-times-circle"></i></a></span> ';
} }
...@@ -4,24 +4,24 @@ $(function() { ...@@ -4,24 +4,24 @@ $(function() {
checkNewActivity(false, 1); checkNewActivity(false, 1);
} }
$('a[href="#activity"]').click(function(){ $('a[href="#activity"]').click(function(){
$('a[href="#activity"] i').addClass('icon-spin'); $('a[href="#activity"] i').addClass('fa-spin');
checkNewActivity(false, 1); checkNewActivity(false, 1);
}); });
/* save resources */ /* save resources */
$('#vm-details-resources-save').click(function() { $('#vm-details-resources-save').click(function() {
$('i.icon-save', this).removeClass("icon-save").addClass("icon-refresh icon-spin"); $('i.fa-floppy-o', this).removeClass("fa-floppy-o").addClass("fa-refresh fa-spin");
var vm = $(this).data("vm"); var vm = $(this).data("vm");
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: "/dashboard/vm/" + vm + "/op/resources_change/", url: "/dashboard/vm/" + vm + "/op/resources_change/",
data: $('#vm-details-resources-form').serialize(), data: $('#vm-details-resources-form').serialize(),
success: function(data, textStatus, xhr) { success: function(data, textStatus, xhr) {
$("#vm-details-resources-save i").removeClass('icon-refresh icon-spin').addClass("icon-save"); $("#vm-details-resources-save i").removeClass('fa-refresh fa-spin').addClass("fa-floppy-o");
$('a[href="#activity"]').trigger("click"); $('a[href="#activity"]').trigger("click");
}, },
error: function(xhr, textStatus, error) { error: function(xhr, textStatus, error) {
$("#vm-details-resources-save i").removeClass('icon-refresh icon-spin').addClass("icon-save"); $("#vm-details-resources-save i").removeClass('fa-refresh fa-spin').addClass("fa-floppy-o");
if (xhr.status == 500) { if (xhr.status == 500) {
addMessage("500 Internal Server Error", "danger"); addMessage("500 Internal Server Error", "danger");
} else { } else {
...@@ -76,13 +76,13 @@ $(function() { ...@@ -76,13 +76,13 @@ $(function() {
var eye = $(this).children("#vm-details-pw-eye"); var eye = $(this).children("#vm-details-pw-eye");
eye.tooltip("destroy") eye.tooltip("destroy")
if(eye.hasClass("icon-eye-open")) { if(eye.hasClass("fa-eye")) {
eye.removeClass("icon-eye-open").addClass("icon-eye-close"); eye.removeClass("fa-eye").addClass("fa-eye-slash");
input.prop("type", "text"); input.prop("type", "text");
input.focus(); input.focus();
eye.prop("title", "Hide password"); eye.prop("title", "Hide password");
} else { } else {
eye.removeClass("icon-eye-close").addClass("icon-eye-open"); eye.removeClass("fa-eye-slash").addClass("fa-eye");
input.prop("type", "password"); input.prop("type", "password");
eye.prop("title", "Show password"); eye.prop("title", "Show password");
} }
...@@ -269,7 +269,7 @@ $(function() { ...@@ -269,7 +269,7 @@ $(function() {
$("#getScreenshotButton").click(function() { $("#getScreenshotButton").click(function() {
var vm = $(this).data("vm-pk"); var vm = $(this).data("vm-pk");
var ct = $("#vm-console-screenshot"); var ct = $("#vm-console-screenshot");
$("i", this).addClass("icon-spinner icon-spin"); $("i", this).addClass("fa-spinner fa-spin");
$(this).prop("disabled", true); $(this).prop("disabled", true);
ct.slideDown(); ct.slideDown();
var img = $("img", ct).prop("src", '/dashboard/vm/' + vm + '/screenshot/'); var img = $("img", ct).prop("src", '/dashboard/vm/' + vm + '/screenshot/');
...@@ -280,7 +280,7 @@ $(function() { ...@@ -280,7 +280,7 @@ $(function() {
// see: http://stackoverflow.com/a/3877079/1112653 // see: http://stackoverflow.com/a/3877079/1112653
$("#vm-console-screenshot img").load(function(e) { $("#vm-console-screenshot img").load(function(e) {
$("#getScreenshotButton").prop("disabled", false) $("#getScreenshotButton").prop("disabled", false)
.find("i").removeClass("icon-spinner icon-spin"); .find("i").removeClass("fa-spinner fa-spin");
}); });
...@@ -320,7 +320,7 @@ function removePort(data) { ...@@ -320,7 +320,7 @@ function removePort(data) {
function decideActivityRefresh() { function decideActivityRefresh() {
var check = false; var check = false;
/* if something is still spinning */ /* if something is still spinning */
if($('.timeline .activity:first i:first').hasClass('icon-spin')) if($('.timeline .activity:first i:first').hasClass('fa-spin'))
check = true; check = true;
/* if there is only one activity */ /* if there is only one activity */
if($('#activity-timeline div[class="activity"]').length < 2) if($('#activity-timeline div[class="activity"]').length < 2)
...@@ -360,7 +360,7 @@ function checkNewActivity(only_status, runs) { ...@@ -360,7 +360,7 @@ function checkNewActivity(only_status, runs) {
$("[title]").tooltip(); $("[title]").tooltip();
} }
$("#vm-details-state i").prop("class", data['icon']); $("#vm-details-state i").prop("class", "fa " + data['icon']);
$("#vm-details-state span").html(data['human_readable_status'].toUpperCase()); $("#vm-details-state span").html(data['human_readable_status'].toUpperCase());
if(data['status'] == "RUNNING") { if(data['status'] == "RUNNING") {
$("[data-target=#_console]").attr("data-toggle", "pill").attr("href", "#console").parent("li").removeClass("disabled"); $("[data-target=#_console]").attr("data-toggle", "pill").attr("href", "#console").parent("li").removeClass("disabled");
...@@ -382,7 +382,7 @@ function checkNewActivity(only_status, runs) { ...@@ -382,7 +382,7 @@ function checkNewActivity(only_status, runs) {
1000 + Math.exp(runs * 0.05) 1000 + Math.exp(runs * 0.05)
); );
} }
$('a[href="#activity"] i').removeClass('icon-spin'); $('a[href="#activity"] i').removeClass('fa-spin');
}, },
error: function() { error: function() {
......
...@@ -171,7 +171,7 @@ $(function() { ...@@ -171,7 +171,7 @@ $(function() {
$(".vm-list-table thead th i").remove(); $(".vm-list-table thead th i").remove();
var icon_html = '<i class="icon-sort-' + (data.direction == "desc" ? "up" : "down") + ' pull-right"></i>'; var icon_html = '<i class="fa fa-sort-' + (data.direction == "desc" ? "desc" : "asc") + ' pull-right"></i>';
$(".vm-list-table thead th").eq(data.column).append(icon_html); $(".vm-list-table thead th").eq(data.column).append(icon_html);
}); });
......
...@@ -17,13 +17,13 @@ function createTemplateTour() { ...@@ -17,13 +17,13 @@ function createTemplateTour() {
"<div class='popover-navigation'>" + "<div class='popover-navigation'>" +
"<div class='btn-group'>" + "<div class='btn-group'>" +
"<button class='btn btn-sm btn-default' data-role='prev'>" + "<button class='btn btn-sm btn-default' data-role='prev'>" +
'<i class="icon-chevron-left"></i> ' + gettext("Prev") + "</button> " + '<i class="fa fa-chevron-left"></i> ' + gettext("Prev") + "</button> " +
"<button class='btn btn-sm btn-default' data-role='next'>" + "<button class='btn btn-sm btn-default' data-role='next'>" +
gettext("Next") + ' <i class="icon-chevron-right"></i></button> ' + gettext("Next") + ' <i class="fa fa-chevron-right"></i></button> ' +
"<button class='btn btn-sm btn-default' data-role='pause-resume' data-pause-text='Pause' data-resume-text='Resume'>Pause</button> " + "<button class='btn btn-sm btn-default' data-role='pause-resume' data-pause-text='Pause' data-resume-text='Resume'>Pause</button> " +
"</div>" + "</div>" +
"<button class='btn btn-sm btn-default' data-role='end'>" + "<button class='btn btn-sm btn-default' data-role='end'>" +
gettext("End tour") + ' <i class="icon-flag-checkered"></i></button>' + gettext("End tour") + ' <i class="fa fa-flag-checkered"></i></button>' +
"</div>" + "</div>" +
"</div>", "</div>",
}); });
...@@ -99,7 +99,7 @@ function createTemplateTour() { ...@@ -99,7 +99,7 @@ function createTemplateTour() {
ttour.addStep({ ttour.addStep({
element: "#ops", element: "#ops",
title: '<i class="icon-play"></i> ' + gettext("Deploy"), title: '<i class="fa fa-play"></i> ' + gettext("Deploy"),
placement: "left", placement: "left",
backdrop: true, backdrop: true,
content: gettext("Deploy the virtual machine."), content: gettext("Deploy the virtual machine."),
...@@ -123,7 +123,7 @@ function createTemplateTour() { ...@@ -123,7 +123,7 @@ function createTemplateTour() {
ttour.addStep({ ttour.addStep({
element: "#ops", element: "#ops",
title: '<i class="icon-save"></i> ' + gettext("Save as"), title: '<i class="fa fa-floppy-o"></i> ' + gettext("Save as"),
placement: "left", placement: "left",
backdrop: true, backdrop: true,
content: gettext('Press the "Save as template" button and wait until the activity finishes.'), content: gettext('Press the "Save as template" button and wait until the activity finishes.'),
......
/* Move down content because we have a fixed navbar that is 50px tall */
body {
padding-top: 50px;
padding-bottom: 20px;
margin-bottom: 30px; /* sticky footer */
}
html {
position: relative;
min-height: 100%;
}
/* Set widths on the navbar form inputs since otherwise they're 100% wide */
.navbar-form input[type="text"],
.navbar-form input[type="password"] {
width: 180px;
}
/* Wrapping element */
/* Set some basic padding to keep content from hitting the edges */
.body-content {
padding-left: 15px;
padding-right: 15px;
}
/* values for 45px tall navbar */
.navbar {
min-height: 45px;
}
.navbar-brand {
height: 45px;
padding: 12.5px 12.5px;
}
.navbar-toggle {
margin-top: 5.5px;
margin-bottom: 5.5px;
}
.navbar-form {
margin-top: 5.5px;
margin-bottom: 5.5px;
}
.navbar-btn {
margin-top: 5.5px;
margin-bottom: 5.5px;
}
.navbar-btn.btn-sm {
margin-top: 7.5px;
margin-bottom: 7.5px;
}
.navbar-btn.btn-xs {
margin-top: 11.5px;
margin-bottom: 11.5px;
}
.navbar-text {
margin-top: 12.5px;
margin-bottom: 12.5px;
}
/* --- */
/* Responsive: Portrait tablets and up */
@media screen and (min-width: 768px) {
/* Let the jumbotron breathe */
.container > :first-child {
margin-top: 20px;
}
/* Remove padding from wrapping element since we kick in the grid classes here */
.body-content {
padding: 0;
}
.navbar-nav > li > a {
padding-top: 12.5px;
padding-bottom: 12.5px;
}
}
.no-margin {
margin: 0!important;
}
.list-group .list-group-footer {
padding-top: 5px;
padding-bottom: 5px;
}
.big {
font-size: 2em;
}
.bigbig {
font-size: 3em;
}
/* small buttons for tags, copied from Bootstraps input-sm, bnt-sm */
.btn-tags, .btn-traits {
padding: 3px 6px;
font-size: 11px;
line-height: 1.5;
border-radius: 3px;
}
.input-tags, .input-tratis {
height: 22px;
padding: 2px 8px;
font-size: 11px;
line-height: 1.5;
border-radius: 3px;
}
/* font awesome font */
.font-awesome-font {
font-family: "FontAwesome";
}
.nojs-dropdown-menu
{
position:absolute;
display:none;
z-index: 1;
}
.nojs-dropdown-toggle:focus + .nojs-dropdown-menu
{
display: block;
}
.nojs-dropdown-toggle:focus
{
outline:none;
}
.nojs-dropdown-menu:hover
{
display: block;
}
.notification-messages {
padding: 10px 8px;
width: 350px;
}
.notification-message {
margin-bottom: 10px;
padding: 0 0 4px 0;
border-bottom: 1px dotted #D3D3D3;
}
.notification-messages .notification-message:last-child {
margin-bottom: 0px;
padding: 0px;
border-bottom: none;
}
.notification-message-text {
padding: 8px 15px;
display: none;
}
.notification-message .notification-message-subject {
cursor: pointer;
}
/* footer */
footer {
position: absolute;
bottom: 0;
width: 100%;
/* Set the fixed height of the footer here */
height: 30px;
background-color: #101010;
color: white;
font-size: 13px;
padding: 5px 5px 0 5px;
box-shadow: 0 0 30px rgba(0, 0, 0, 0.4);
text-align: center;
}
footer a, footer a:hover, footer a:visited {
color: white;
text-decoration: underline;
}
.table-sorting {
display: none;
}
#notifications-button {
margin: 0;
}
/* 2px border bottom for all bootstrap tables */
.table thead>tr>th {
border-bottom: 1px;
}
.badge-pulse {
-webkit-animation-name: 'pulse_animation';
-webkit-animation-duration: 1000ms;
-webkit-transform-origin: 70% 70%;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
}
@-webkit-keyframes pulse_animation {
0% { -webkit-transform: scale(1); }
30% { -webkit-transform: scale(1); }
40% { -webkit-transform: scale(1.18); }
50% { -webkit-transform: scale(1); }
60% { -webkit-transform: scale(1); }
70% { -webkit-transform: scale(1.08); }
80% { -webkit-transform: scale(1); }
100% { -webkit-transform: scale(1); }
}
.btn-toolbar {
margin-bottom: 5px;
}
{% load i18n %}<!DOCTYPE html> {% load i18n %}
<!DOCTYPE html>
<html lang="{{lang}}"> <html lang="{{lang}}">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
...@@ -9,83 +10,73 @@ ...@@ -9,83 +10,73 @@
<title>{% block title %}{% block title-page %}{% endblock %} | {% block title-site %}CIRCLE{% endblock %}{% endblock %}</title> <title>{% block title %}{% block title-page %}{% endblock %} | {% block title-site %}CIRCLE{% endblock %}{% endblock %}</title>
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css"> <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css">
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-theme.min.css"> <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-theme.min.css">
<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet"> <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet">
<script src="{{ STATIC_URL }}dashboard/js/jquery.knob.js"></script> <link rel="stylesheet" href="{{ STATIC_URL }}/template.css">
<script src="{{ STATIC_URL}}dashboard/bootstrap-slider/bootstrap-slider.js"></script>
<link rel="stylesheet" href="{{ STATIC_URL }}dashboard/bootstrap-slider/slider.css"/> <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
<link href="{{ STATIC_URL }}dashboard/bootstrap-tour.min.css" rel="stylesheet"> <!--[if lt IE 9]>
<link href="{{ STATIC_URL }}dashboard/dashboard.css" rel="stylesheet"> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<script src="{{ STATIC_URL }}dashboard/dashboard.js"></script> <![endif]-->
<script src="{{ STATIC_URL }}jsi18n/{{ LANGUAGE_CODE }}/djangojs.js"></script>
{% block extra_link %}{% endblock %}
{% block extra_css %}{% endblock %}
</head> </head>
<body> <body>
<div class="navbar navbar-inverse navbar-fixed-top"> <div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-header"> <div class="navbar-header">
<a class="navbar-brand" href="{% url "dashboard.index" %}" style="padding: 10px 15px;"> {% block navbar-brand %}{% endblock %}
<img src="{{ STATIC_URL}}dashboard/img/logo.png" style="height: 25px;"/> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
</a> <span class="icon-bar"></span>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> </button>
<span class="icon-bar"></span> </div><!-- .navbar-header -->
</button> <div class="collapse navbar-collapse">
</div><!-- .navbar-header --> {% block navbar %}{% endblock %}
<div class="collapse navbar-collapse"> </div><!-- .collapse .navbar-collapse -->
<ul class="nav navbar-nav pull-right">
<li class="dropdown" id="notification-button">
<a href="{% url "dashboard.views.notifications" %}" style="color: white; font-size: 12px;" class="dropdown-toggle" data-toggle="dropdown">
{% trans "Notifications" %}{% if NEW_NOTIFICATIONS_COUNT > 0 %} <span class="badge badge-pulse">{{ NEW_NOTIFICATIONS_COUNT }}</span>{% endif %}
</a>
<ul class="dropdown-menu notification-messages">
<li>{% trans "Loading..." %}</li>
</ul>
</li>
</ul>
{% if user.is_authenticated and user.pk %}
<a class="navbar-brand pull-right" href="{% url "logout" %}?next={% url "login" %}" style="color: white; font-size: 10px;"><i class="icon-signout icon-sign-out"></i> {% trans "Log out" %}</a>
<a class="navbar-brand pull-right" href="{% url "dashboard.views.profile-preferences" %}"
title="{% trans "User profile" %}" style="color: white; font-size: 10px;">
<i class="icon-user"></i>
{% include "dashboard/_display-name.html" with user=user show_org=True %}
</a>
{% if user.is_superuser %}
<a class="navbar-brand pull-right" href="/network/" style="color: white; font-size: 10px;"><i class="icon-globe"></i> {% trans "Network" %}</a>
<a class="navbar-brand pull-right" href="/admin/" style="color: white; font-size: 10px;"><i class="icon-cogs"></i> {% trans "Admin" %}</a>
{% endif %}
{% else %}
<a class="navbar-brand pull-right" href="{% url "login" %}?next={% url "dashboard.index" %}" style="color: white; font-size: 10px;"><i class="icon-sign-in"></i> {% trans "Log in " %}</a>
{% endif %}
</div><!-- .collapse .navbar-collapse -->
</div><!-- navbar navbar-inverse navbar-fixed-top --> </div><!-- navbar navbar-inverse navbar-fixed-top -->
<div class="container"> <div class="container">
{% block messages %} {% block messages %}
<div class="messagelist"> <div class="messagelist">
{% if messages %} {% if messages %}
{% for message in messages %} {% for message in messages %}
<div class="alert <div class="alert
{% if message.tags %} alert-{% if message.tags == "error" %}danger{% else %}{{ message.tags }}{% endif %}{% endif %}"> {% if message.tags %} alert-{% if message.tags == "error" %}danger{% else %}{{ message.tags }}{% endif %}{% endif %}">
{{ message|safe }} {{ message|safe }}
</div> </div>
{% endfor %} {% endfor %}
{% endif %} {% endif %}
</div> </div>
{% endblock messages %} {% endblock messages %}
{% block content %} {% block content %}
<h1 class="alert alert-error">Please override "content" block.</h1> <h1 class="alert alert-error">Please override "content" block.</h1>
{% endblock %} {% endblock %}
</div> <!-- /container --> </div> <!-- /container -->
<footer> <footer>
<a href="#">{% trans "Legal notice" %}</a> | <a href="#">{% trans "Policy" %}</a> | <a href="#">{% trans "Help" %}</a> | <a href="#">{% trans "Legal notice" %}</a> |
<a href="#">{% trans "Policy" %}</a> |
<a href="#">{% trans "Help" %}</a> |
<a href="#">{% trans "Support" %}</a> <a href="#">{% trans "Support" %}</a>
<span class="pull-right">{{ COMPANY_NAME }}</span> <span class="pull-right">{{ COMPANY_NAME }}</span>
</footer> </footer>
</body> </body>
{% block extra_js %}
{% endblock %} <script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<script src="{{ STATIC_URL }}jsi18n/{{ LANGUAGE_CODE }}/djangojs.js"></script>
{% block extra_script %}
{% endblock %}
{% block extra_js %}
{% endblock %}
{% block extra_etc %}
{% endblock %}
</html> </html>
<{{ tag.tag }} {% if tag.css_id %}id="{{ tag.css_id }}"{% endif %} <{{ tag.tag }} {% if tag.css_id %}id="{{ tag.css_id }}"{% endif %}
{% if tag.css_class %}class="{{ tag.css_class }}"{% endif %} {{ tag.flat_attrs|safe }}> {% if tag.css_class %}class="{{ tag.css_class }}"{% endif %} {{ tag.flat_attrs|safe }}>
{{ fields|safe }} {{ fields|safe }}
</{{ tag.tag }}> </{{ tag.tag }}>
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
{{ title }} {{ title }}
{% else %} {% else %}
{% trans "Confirmation" %} {% trans "Confirmation" %}
{% endif %} {% endif %}
</h3> </h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
......
{% load i18n %} {% load i18n %}
{% load sizefieldtags %} {% load sizefieldtags %}
<i class="{% if d.is_downloading %}icon-refresh icon-spin{% else %}icon-file{% if d.failed %}" style="color: #d9534f;{% endif %}{% endif %}"></i> <i class="fa {% if d.is_downloading %}fa-refresh fa-spin{% else %}fa-file{% if d.failed %}" style="color: #d9534f;{% endif %}{% endif %}"></i>
{{ d.name }} (#{{ d.id }}) - {{ d.name }} (#{{ d.id }}) -
{% if not d.is_downloading %} {% if not d.is_downloading %}
{% if not d.failed %} {% if not d.failed %}
{% if d.size %}{{ d.size|filesize }}{% endif %} {% if d.size %}{{ d.size|filesize }}{% endif %}
...@@ -10,10 +10,10 @@ ...@@ -10,10 +10,10 @@
<div class="label label-danger"{% if user.is_superuser %} title="{{ d.get_latest_activity_result }}"{% endif %}>{% trans "failed" %}</div> <div class="label label-danger"{% if user.is_superuser %} title="{{ d.get_latest_activity_result }}"{% endif %}>{% trans "failed" %}</div>
{% endif %} {% endif %}
{% else %}<span class="disk-list-disk-percentage" data-disk-pk="{{ d.pk }}">{{ d.get_download_percentage }}</span>%{% endif %} {% else %}<span class="disk-list-disk-percentage" data-disk-pk="{{ d.pk }}">{{ d.get_download_percentage }}</span>%{% endif %}
<a href="{% url "dashboard.views.disk-remove" pk=d.pk %}?next={{ request.path }}" <a href="{% url "dashboard.views.disk-remove" pk=d.pk %}?next={{ request.path }}"
data-disk-pk="{{ d.pk }}" class="btn btn-xs btn-danger pull-right disk-remove" data-disk-pk="{{ d.pk }}" class="btn btn-xs btn-danger pull-right disk-remove"
{% if not long_remove %}title="{% trans "Remove" %}"{% endif %} {% if not long_remove %}title="{% trans "Remove" %}"{% endif %}
> >
<i class="icon-remove"></i>{% if long_remove %} {% trans "Remove" %}{% endif %} <i class="fa fa-times"></i>{% if long_remove %} {% trans "Remove" %}{% endif %}
</a> </a>
<div style="clear: both;"></div> <div style="clear: both;"></div>
{% load i18n %} {% load i18n %}
<div class="modal fade" id="confirmation-modal" tabindex="-1" role="dialog"> <div class="modal fade" id="confirmation-modal" tabindex="-1" role="dialog">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-body"> <div class="modal-body">
{% if template %} {% if template %}
{% include template %} {% include template %}
{% else %} {% else %}
...@@ -11,6 +11,6 @@ ...@@ -11,6 +11,6 @@
<div class="clearfix"></div> <div class="clearfix"></div>
</div> </div>
<div class="clearfix"></div> <div class="clearfix"></div>
</div><!-- /.modal-content --> </div><!-- /.modal-content -->
</div><!-- /.modal-dialog --> </div><!-- /.modal-dialog -->
</div> </div>
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
{% for n in notifications %} {% for n in notifications %}
<li class="notification-message"> <li class="notification-message">
<span class="notification-message-subject"> <span class="notification-message-subject">
{% if n.status == "new" %}<i class="icon-envelope-alt"></i> {% endif %} {% if n.status == "new" %}<i class="fa fa-envelope-alt"></i> {% endif %}
{{ n.subject }} {{ n.subject }}
</span> </span>
<span class="notification-message-date pull-right"> <span class="notification-message-date pull-right">
......
{% load i18n %} {% load i18n %}
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% if leases < 1 %} {% if leases < 1 %}
<div class="alert alert-warning"> <div class="alert alert-warning">
......
...@@ -6,51 +6,51 @@ ...@@ -6,51 +6,51 @@
<div class="vm-create-template"> <div class="vm-create-template">
<div class="vm-create-template-summary"> <div class="vm-create-template-summary">
{{ t.name }} {{ t.name }}
<span class="pull-right"><i class="icon-{{ t.os_type }}"></i> {{ t.system }}</span> <span class="pull-right"><i class="fa fa-{{ t.os_type }}"></i> {{ t.system }}</span>
</div> </div>
<div class="vm-create-template-details"> <div class="vm-create-template-details">
<ul> <ul>
<li> <li>
<i class="icon-gears"></i> {% trans "CPU" %} <i class="fa fa-gears"></i> {% trans "CPU" %}
<div class="progress pull-right"> <div class="progress pull-right">
<div class="progress-bar progress-bar-success" role="progressbar" <div class="progress-bar progress-bar-success" role="progressbar"
aria-valuenow="{{ t.num_cores }}" aria-valuemin="0" aria-valuemax="8" style="width: 80%"> aria-valuenow="{{ t.num_cores }}" aria-valuemin="0" aria-valuemax="8" style="width: 80%">
<span class="progress-bar-text">{{ t.num_cores }} cores</span> <span class="progress-bar-text">{{ t.num_cores }} cores</span>
</div> </div>
</div> </div>
</li> </li>
<li> <li>
<i class="icon-ticket"></i> {% trans "Memory" %} <i class="fa fa-ticket"></i> {% trans "Memory" %}
<div class="progress pull-right"> <div class="progress pull-right">
<div class="progress-bar progress-bar-info" role="progressbar" <div class="progress-bar progress-bar-info" role="progressbar"
aria-valuenow="{{ t.ram_size }}" aria-valuemin="0" aria-valuemax="4096" aria-valuenow="{{ t.ram_size }}" aria-valuemin="0" aria-valuemax="4096"
style="width: 80%"> style="width: 80%">
<span class="progress-bar-text">{{ t.ram_size }} MB</span> <span class="progress-bar-text">{{ t.ram_size }} MB</span>
</div> </div>
</div> </div>
</li> </li>
<li> <li>
<i class="icon-file"></i> {% trans "Disks" %} <i class="fa fa-file"></i> {% trans "Disks" %}
<span style="float: right; text-align: right;"> <span style="float: right; text-align: right;">
{% for d in t.disks.all %}{{ d.name }} ({% if d.size %}{{ d.size|filesize }}{% endif %}){% if not forloop.last %}, {% endif %}{% endfor %} {% for d in t.disks.all %}{{ d.name }} ({% if d.size %}{{ d.size|filesize }}{% endif %}){% if not forloop.last %}, {% endif %}{% endfor %}
</span> </span>
<div style="clear: both;"></div> <div style="clear: both;"></div>
</li> </li>
<li> <li>
<i class="icon-globe"></i> {% trans "Network" %} <i class="fa fa-globe"></i> {% trans "Network" %}
<span style="float: right;"> <span style="float: right;">
{% for i in t.interface_set.all %}{{ i.vlan.name }}{% if not forloop.last %}, {% endif %}{% endfor %} {% for i in t.interface_set.all %}{{ i.vlan.name }}{% if not forloop.last %}, {% endif %}{% endfor %}
</span> </span>
</li> </li>
<li> <li>
<i class="icon-tag"></i> {% trans "Type" %}: {{ t.lease.name }} <i class="fa fa-tag"></i> {% trans "Type" %}: {{ t.lease.name }}
<span style="float: right;"> <span style="float: right;">
<i class="icon-pause"></i> {{ t.lease.get_readable_suspend_time }} <i class="fa fa-pause"></i> {{ t.lease.get_readable_suspend_time }}
<i class="icon-remove"></i> {{ t.lease.get_readable_delete_time }} <i class="fa fa-times"></i> {{ t.lease.get_readable_delete_time }}
</span> </span>
</li> </li>
<li> <li>
<i class="icon-hand-right"></i> {% trans "Description" %}: <i class="fa fa-hand-right"></i> {% trans "Description" %}:
<span style="float: right; max-width: 350px;"> <span style="float: right; max-width: 350px;">
{{ t.description }} {{ t.description }}
</span> </span>
...@@ -59,13 +59,13 @@ ...@@ -59,13 +59,13 @@
</ul> </ul>
<div style="margin-top: 20px; padding: 0 15px; width: 100%"> <div style="margin-top: 20px; padding: 0 15px; width: 100%">
{% if perms.vm_set_resources %} {% if perms.vm_set_resources %}
<a class="btn btn-primary btn-xs customize-vm" data-template-pk="{{ t.pk }}" href="{% url "dashboard.views.vm-create" %}?template={{ t.pk }}"><i class="icon-wrench"></i> {% trans "Customize" %}</a> <a class="btn btn-primary btn-xs customize-vm" data-template-pk="{{ t.pk }}" href="{% url "dashboard.views.vm-create" %}?template={{ t.pk }}"><i class="fa fa-wrench"></i> {% trans "Customize" %}</a>
{% endif %} {% endif %}
<form class="pull-right text-right" method="POST" action="{% url "dashboard.views.vm-create" %}"> <form class="pull-right text-right" method="POST" action="{% url "dashboard.views.vm-create" %}">
{% csrf_token %} {% csrf_token %}
<input type="hidden" name="template" value="{{ t.pk }}"/> <input type="hidden" name="template" value="{{ t.pk }}"/>
<button class="btn btn-success btn-xs vm-create-start" data-template-pk="{{ t.pk }}" type="submit"> <button class="btn btn-success btn-xs vm-create-start" data-template-pk="{{ t.pk }}" type="submit">
<i class="icon-play"></i> {% trans "Start" %} <i class="fa fa-play"></i> {% trans "Start" %}
</button> </button>
</form> </form>
<div style="clear: both;"></div> <div style="clear: both;"></div>
...@@ -131,11 +131,11 @@ ...@@ -131,11 +131,11 @@
width: 100%; width: 100%;
color: white; color: white;
/* outline */ /* outline */
text-shadow: text-shadow:
-1px -1px 0 #000, -1px -1px 0 #000,
1px -1px 0 #000, 1px -1px 0 #000,
-1px 1px 0 #000, -1px 1px 0 #000,
1px 1px 0 #000; 1px 1px 0 #000;
font-size: 10px; font-size: 10px;
} }
</style> </style>
......
...@@ -2,3 +2,60 @@ ...@@ -2,3 +2,60 @@
{% load i18n %} {% load i18n %}
{% block title-site %}Dashboard | CIRCLE{% endblock %} {% block title-site %}Dashboard | CIRCLE{% endblock %}
{% block extra_link %}
<link rel="stylesheet" href="{{ STATIC_URL }}dashboard/bootstrap-slider/slider.css"/>
<link href="{{ STATIC_URL }}dashboard/bootstrap-tour.min.css" rel="stylesheet">
<link href="{{ STATIC_URL }}dashboard/dashboard.css" rel="stylesheet">
{% endblock %}
{% block navbar-brand %}
<a class="navbar-brand" href="{% url "dashboard.index" %}" style="padding: 10px 15px;">
<img src="{{ STATIC_URL}}dashboard/img/logo.png" style="height: 25px;"/>
</a>
{% endblock %}
{% block navbar %}
<ul class="nav navbar-nav pull-right">
<li class="dropdown" id="notification-button">
<a href="{% url "dashboard.views.notifications" %}" style="color: white; font-size: 12px;"
class="dropdown-toggle" data-toggle="dropdown">
{% trans "Notifications" %}
{% if NEW_NOTIFICATIONS_COUNT > 0 %}
<span class="badge badge-pulse">{{ NEW_NOTIFICATIONS_COUNT }}</span>
{% endif %}
</a>
<ul class="dropdown-menu notification-messages">
<li>{% trans "Loading..." %}</li>
</ul>
</li>
</ul>
{% if user.is_authenticated and user.pk %}
<a class="navbar-brand pull-right" href="{% url "logout" %}?next={% url "login" %}" style="color: white; font-size: 10px;">
<i class="fa fa-sign-out"></i> {% trans "Log out" %}
</a>
<a class="navbar-brand pull-right" href="{% url "dashboard.views.profile-preferences" %}" title="{% trans "User profile" %}" style="color: white; font-size: 10px;">
<i class="fa fa-user"></i>
{% include "dashboard/_display-name.html" with user=user show_org=True %}
</a>
{% if user.is_superuser %}
<a class="navbar-brand pull-right" href="/network/" style="color: white; font-size: 10px;"><i class="fa fa-globe"></i> {% trans "Network" %}</a>
<a class="navbar-brand pull-right" href="/admin/" style="color: white; font-size: 10px;"><i class="fa fa-cogs"></i> {% trans "Admin" %}</a>
{% endif %}
{% else %}
<a class="navbar-brand pull-right" href="{% url "login" %}?next={% url "dashboard.index" %}" style="color: white; font-size: 10px;"><i class="fa fa-sign-in"></i> {% trans "Log in " %}</a>
{% endif %}
{% endblock %}
{% block extra_script %}
<script src="{{ STATIC_URL }}dashboard/js/jquery.knob.js"></script>
<script src="{{ STATIC_URL}}dashboard/bootstrap-slider/bootstrap-slider.js"></script>
<script src="{{ STATIC_URL }}dashboard/dashboard.js"></script>
{% endblock %}
{% load i18n %} {% load i18n %}
<div class="modal fade" id="confirmation-modal" tabindex="-1" role="dialog"> <div class="modal fade" id="confirmation-modal" tabindex="-1" role="dialog">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-body"> <div class="modal-body">
{% if text %} {% if text %}
{{ text|safe }} {{ text|safe }}
{% else %} {% else %}
...@@ -12,13 +12,13 @@ ...@@ -12,13 +12,13 @@
{% endif %} {% endif %}
<br /> <br />
<div class="pull-right" style="margin-top: 15px;"> <div class="pull-right" style="margin-top: 15px;">
<button type="button" class="btn btn-default" data-dismiss="modal">{% trans "Cancel" %}</button> <button type="button" class="btn btn-default" data-dismiss="modal">{% trans "Cancel" %}</button>
<button id="confirmation-modal-button" type="button" class="btn btn-danger" <button id="confirmation-modal-button" type="button" class="btn btn-danger"
{% if disable_submit %}disabled{% endif %} {% if disable_submit %}disabled{% endif %}
>{% trans "Delete" %}</button> >{% trans "Delete" %}</button>
</div> </div>
<div class="clearfix"></div> <div class="clearfix"></div>
</div> </div>
</div><!-- /.modal-content --> </div><!-- /.modal-content -->
</div><!-- /.modal-dialog --> </div><!-- /.modal-dialog -->
</div> </div>
{% load i18n %} {% load i18n %}
<div class="modal fade" id="confirmation-modal" tabindex="-1" role="dialog"> <div class="modal fade" id="confirmation-modal" tabindex="-1" role="dialog">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-body"> <div class="modal-body">
{% if text %} {% if text %}
{{ text }} {{ text }}
{% else %} {% else %}
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<div class="pull-right"> <div class="pull-right">
<form action="{% url "dashboard.views.flush-node" pk=node.pk %}?next={{next}}" method="POST"> <form action="{% url "dashboard.views.flush-node" pk=node.pk %}?next={{next}}" method="POST">
{% csrf_token %} {% csrf_token %}
<button type="button" class="btn btn-default" data-dismiss="modal">{% trans "Cancel" %}</button> <button type="button" class="btn btn-default" data-dismiss="modal">{% trans "Cancel" %}</button>
<input type="hidden" name="flush" value=""/> <input type="hidden" name="flush" value=""/>
<button class="btn btn-warning">{% trans "Yes" %}</button> <button class="btn btn-warning">{% trans "Yes" %}</button>
</form> </form>
...@@ -22,6 +22,6 @@ ...@@ -22,6 +22,6 @@
<div class="clearfix"></div> <div class="clearfix"></div>
</div> </div>
</div><!-- /.modal-content --> </div><!-- /.modal-content -->
</div><!-- /.modal-dialog --> </div><!-- /.modal-dialog -->
</div> </div>
{% load i18n %} {% load i18n %}
<div class="modal fade" id="confirmation-modal" tabindex="-1" role="dialog"> <div class="modal fade" id="confirmation-modal" tabindex="-1" role="dialog">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-body"> <div class="modal-body">
{% if text %} {% if text %}
{{ text }} {{ text }}
{% else %} {% else %}
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<div class="pull-right"> <div class="pull-right">
<form action="{% url "dashboard.views.status-node" pk=object.pk %}" method="POST"> <form action="{% url "dashboard.views.status-node" pk=object.pk %}" method="POST">
{% csrf_token %} {% csrf_token %}
<button type="button" class="btn btn-default" data-dismiss="modal">{% trans "Cancel" %}</button> <button type="button" class="btn btn-default" data-dismiss="modal">{% trans "Cancel" %}</button>
<input type="hidden" name="change_status" value=""/> <input type="hidden" name="change_status" value=""/>
<button class="btn btn-warning">{% blocktrans with status=status %}Yes, {{status}}{% endblocktrans %}</button> <button class="btn btn-warning">{% blocktrans with status=status %}Yes, {{status}}{% endblocktrans %}</button>
</form> </form>
...@@ -22,6 +22,6 @@ ...@@ -22,6 +22,6 @@
<div class="clearfix"></div> <div class="clearfix"></div>
</div> </div>
</div><!-- /.modal-content --> </div><!-- /.modal-content -->
</div><!-- /.modal-dialog --> </div><!-- /.modal-dialog -->
</div> </div>
{% load i18n %} {% load i18n %}
<div class="modal fade" id="confirmation-modal" tabindex="-1" role="dialog"> <div class="modal fade" id="confirmation-modal" tabindex="-1" role="dialog">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-body"> <div class="modal-body">
{% if text %} {% if text %}
{{ text }} {{ text }}
{% else %} {% else %}
...@@ -12,11 +12,11 @@ ...@@ -12,11 +12,11 @@
{% endif %} {% endif %}
<br /> <br />
<div class="pull-right" style="margin-top: 15px;"> <div class="pull-right" style="margin-top: 15px;">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<button id="confirmation-modal-button" type="button" class="btn btn-warning">Remove</button> <button id="confirmation-modal-button" type="button" class="btn btn-warning">Remove</button>
</div> </div>
<div class="clearfix"></div> <div class="clearfix"></div>
</div> </div>
</div><!-- /.modal-content --> </div><!-- /.modal-content -->
</div><!-- /.modal-dialog --> </div><!-- /.modal-dialog -->
</div> </div>
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
{{ title }} {{ title }}
{% else %} {% else %}
{% trans "Delete confirmation" %} {% trans "Delete confirmation" %}
{% endif %} {% endif %}
</h3> </h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
......
{% load i18n %} {% load i18n %}
<div class="modal fade" id="confirmation-modal" tabindex="-1" role="dialog"> <div class="modal fade" id="confirmation-modal" tabindex="-1" role="dialog">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-body"> <div class="modal-body">
{% trans "Are you sure you want to delete the following objects?" %}<br /> {% trans "Are you sure you want to delete the following objects?" %}<br />
{% for o in objects %} {% for o in objects %}
<strong>{{ o }}</strong>{% if not forloop.last %},{% endif %} <strong>{{ o }}</strong>{% if not forloop.last %},{% endif %}
{% endfor %} {% endfor %}
<div class="pull-right" style="margin-top: 40px;"> <div class="pull-right" style="margin-top: 40px;">
<button type="button" class="btn btn-default" data-dismiss="modal">{% trans "Cancel" %}</button> <button type="button" class="btn btn-default" data-dismiss="modal">{% trans "Cancel" %}</button>
<button id="confirmation-modal-button" type="button" class="btn btn-danger">{% trans "Delete" %}</button> <button id="confirmation-modal-button" type="button" class="btn btn-danger">{% trans "Delete" %}</button>
</div> </div>
<div class="clearfix"></div> <div class="clearfix"></div>
</div> </div>
</div><!-- /.modal-content --> </div><!-- /.modal-content -->
</div><!-- /.modal-dialog --> </div><!-- /.modal-dialog -->
</div> </div>
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
{{ title }} {{ title }}
{% else %} {% else %}
Flush confirmation Flush confirmation
{% endif %} {% endif %}
</h3> </h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
{{ title }} {{ title }}
{% else %} {% else %}
{% trans "Status changing confirmation" %} {% trans "Status changing confirmation" %}
{% endif %} {% endif %}
</h3> </h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<form action="" method="POST"> <form action="" method="POST">
{% csrf_token %} {% csrf_token %}
<a class="btn btn-default">{% trans "Cancel" %}</a> <a class="btn btn-default">{% trans "Cancel" %}</a>
<button type="button" class="btn btn-default" data-dismiss="modal"></button> <button type="button" class="btn btn-default" data-dismiss="modal"></button>
<input type="hidden" name="change_status" value=""/> <input type="hidden" name="change_status" value=""/>
<button class="btn btn-warning">{% blocktrans with status=status %}Yes, {{status}}{% endblocktrans %}</button> <button class="btn btn-warning">{% blocktrans with status=status %}Yes, {{status}}{% endblocktrans %}</button>
</form> </form>
......
...@@ -6,20 +6,20 @@ ...@@ -6,20 +6,20 @@
<div class="body-content"> <div class="body-content">
<div class="page-header"> <div class="page-header">
<div class="pull-right" style="padding-top: 15px;"> <div class="pull-right" style="padding-top: 15px;">
<a title="{% trans "Rename" %}" href="#" class="btn btn-default btn-xs group-details-rename-button"><i class="icon-pencil"></i></a> <a title="{% trans "Rename" %}" href="#" class="btn btn-default btn-xs group-details-rename-button"><i class="fa fa-pencil"></i></a>
<a title="{% trans "Delete" %}" data-group-pk="{{ group.pk }}" class="btn btn-default btn-xs real-link group-delete" href="{% url "dashboard.views.delete-group" pk=group.pk %}"><i class="icon-trash"></i></a> <a title="{% trans "Delete" %}" data-group-pk="{{ group.pk }}" class="btn btn-default btn-xs real-link group-delete" href="{% url "dashboard.views.delete-group" pk=group.pk %}"><i class="fa fa-trash"></i></a>
<a title="{% trans "Help" %}" href="#" class="btn btn-default btn-xs group-details-help-button"><i class="icon-question"></i></a> <a title="{% trans "Help" %}" href="#" class="btn btn-default btn-xs group-details-help-button"><i class="fa fa-question"></i></a>
</div> </div>
<h1> <h1>
<div id="group-details-rename"> <div id="group-details-rename">
<form action="" method="POST" id="group-details-rename-form"> <form action="" method="POST" id="group-details-rename-form">
{% csrf_token %} {% csrf_token %}
<input id="group-details-rename-name" class="form-control" name="new_name" type="text" value="{{ group.name }}"/> <input id="group-details-rename-name" class="form-control" name="new_name" type="text" value="{{ group.name }}"/>
<button type="submit" id="group-details-rename-submit" class="btn">{% trans "Rename" %}</button> <button type="submit" id="group-details-rename-submit" class="btn">{% trans "Rename" %}</button>
</form> </form>
</div> </div>
<div id="group-details-h1-name"> <div id="group-details-h1-name">
{{ group.name }} {{ group.name }}
{% if group.groupprofile.org_id %} {% if group.groupprofile.org_id %}
<small>{{group.groupprofile.org_id}}</small> <small>{{group.groupprofile.org_id}}</small>
{% endif %} {% endif %}
...@@ -62,32 +62,32 @@ ...@@ -62,32 +62,32 @@
{% for i in users %} {% for i in users %}
<tr> <tr>
<td> <td>
<i class="icon-user"></i> <i class="fa fa-user"></i>
</td> </td>
<td> <td>
<a href="{% url "dashboard.views.profile" username=i.username %}" title="{{ i.username }}" <a href="{% url "dashboard.views.profile" username=i.username %}" title="{{ i.username }}"
>{% include "dashboard/_display-name.html" with user=i show_org=True %}</a> >{% include "dashboard/_display-name.html" with user=i show_org=True %}</a>
</td> </td>
<td> <td>
<a data-group_pk="{{ group.pk }}" data-member_pk="{{i.pk}}" href="{% url "dashboard.views.remove-user" member_pk=i.pk group_pk=group.pk %}" class="real-link delete-from-group btn btn-link btn-xs"><i class="icon-remove"><span class="sr-only">{% trans "remove" %}</span></i></a> <a data-group_pk="{{ group.pk }}" data-member_pk="{{i.pk}}" href="{% url "dashboard.views.remove-user" member_pk=i.pk group_pk=group.pk %}" class="real-link delete-from-group btn btn-link btn-xs"><i class="fa fa-times"><span class="sr-only">{% trans "remove" %}</span></i></a>
</td> </td>
</tr> </tr>
{% endfor %} {% endfor %}
{% for i in future_users %} {% for i in future_users %}
<tr> <tr>
<td> <td>
<i class="icon-user text-muted"></i> <i class="fa fa-user text-muted"></i>
</td> </td>
<td> {{ i.org_id }} </td> <td> {{ i.org_id }} </td>
<td> <td>
<a href="{% url "dashboard.views.remove-future-user" member_org_id=i.org_id group_pk=group.pk %}" <a href="{% url "dashboard.views.remove-future-user" member_org_id=i.org_id group_pk=group.pk %}"
class="real-link btn-link btn-xs"> class="real-link btn-link btn-xs">
<i class="icon-remove"><span class="sr-only">{% trans "remove" %}</span></i></a> <i class="fa fa-times"><span class="sr-only">{% trans "remove" %}</span></i></a>
</td> </td>
</tr> </tr>
{% endfor %} {% endfor %}
<tr> <tr>
<td><i class="icon-plus"></i></td> <td><i class="fa fa-plus"></i></td>
<td colspan="2"> <td colspan="2">
<input type="text" class="form-control" name="list-new-name" <input type="text" class="form-control" name="list-new-name"
placeholder="{% trans "Name of user" %}"> placeholder="{% trans "Name of user" %}">
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
<textarea name="list-new-namelist" class="form-control" <textarea name="list-new-namelist" class="form-control"
placeholder="{% trans "Add multiple users at once (one identifier per line)." %}"></textarea> placeholder="{% trans "Add multiple users at once (one identifier per line)." %}"></textarea>
<div class="form-actions"> <div class="form-actions">
<button type="submit" class="btn btn-success">{% trans "Save" %}</button> <button type="submit" class="btn btn-success">{% trans "Save" %}</button>
...@@ -115,7 +115,7 @@ ...@@ -115,7 +115,7 @@
{% for i in acl.users %} {% for i in acl.users %}
<tr> <tr>
<td> <td>
<i class="icon-user"></i> <i class="fa fa-user"></i>
</td> </td>
<td> <td>
<a href="{% url "dashboard.views.profile" username=i.user.username %}" title="{{ i.user.username }}" <a href="{% url "dashboard.views.profile" username=i.user.username %}" title="{{ i.user.username }}"
...@@ -128,14 +128,14 @@ ...@@ -128,14 +128,14 @@
{% endfor %} {% endfor %}
</select> </select>
</td> </td>
<td class="user-remove"><a data-group_pk="{{ group.pk }}" data-member_pk="{{i.user.pk }}" href="{% url "dashboard.views.remove-acluser" member_pk=i.user.pk group_pk=group.pk %}" class="real-link delete-from-group btn btn-link btn-xs"><i class="icon-remove"><span class="sr-only">{% trans "remove" %}</span></i></a></td> <td class="user-remove"><a data-group_pk="{{ group.pk }}" data-member_pk="{{i.user.pk }}" href="{% url "dashboard.views.remove-acluser" member_pk=i.user.pk group_pk=group.pk %}" class="real-link delete-from-group btn btn-link btn-xs"><i class="fa fa-times"><span class="sr-only">{% trans "remove" %}</span></i></a></td>
</tr> </tr>
{% endfor %} {% endfor %}
{% for i in acl.groups %} {% for i in acl.groups %}
<tr> <tr>
<td> <td>
<i class="icon-group"></i> <i class="fa fa-group"></i>
</td> </td>
<td> <td>
<a href="{% url "dashboard.views.group-detail" pk=i.group.pk %}">{{ i.group }}</a> <a href="{% url "dashboard.views.group-detail" pk=i.group.pk %}">{{ i.group }}</a>
...@@ -147,12 +147,12 @@ ...@@ -147,12 +147,12 @@
{% endfor %} {% endfor %}
</select> </select>
</td> </td>
<td class="user-remove"><a data-group_pk="{{ i.pk }}"data-member_pk="{{i.group.pk }}" href="{% url "dashboard.views.remove-aclgroup" member_pk=i.group.pk group_pk=group.pk %}" class="real-link delete-from-group btn btn-link btn-xs"><i class="icon-remove"><span class="sr-only">{% trans "remove" %}</span></i></a> <td class="user-remove"><a data-group_pk="{{ i.pk }}"data-member_pk="{{i.group.pk }}" href="{% url "dashboard.views.remove-aclgroup" member_pk=i.group.pk group_pk=group.pk %}" class="real-link delete-from-group btn btn-link btn-xs"><i class="fa fa-times"><span class="sr-only">{% trans "remove" %}</span></i></a>
</td> </td>
</tr> </tr>
{% endfor %} {% endfor %}
<tr> <tr>
<td><i class="icon-plus"></i></td> <td><i class="fa fa-plus"></i></td>
<td> <td>
<input type="text" class="form-control" name="perm-new-name" <input type="text" class="form-control" name="perm-new-name"
placeholder="{% trans "Name of group or user" %}"> placeholder="{% trans "Name of group or user" %}">
......
...@@ -18,13 +18,13 @@ ...@@ -18,13 +18,13 @@
<div class="col-md-12"> <div class="col-md-12">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<h3 class="no-margin"><i class="icon-group"></i> Your groups</h3> <h3 class="no-margin"><i class="fa fa-group"></i> Your groups</h3>
</div> </div>
<div class="panel-body group-list-group-control"> <div class="panel-body group-list-group-control">
<p> <p>
<strong>Group actions</strong> <strong>Group actions</strong>
<button id="group-list-group-select-all" class="btn btn-info btn-xs">Select all</button> <button id="group-list-group-select-all" class="btn btn-info btn-xs">Select all</button>
<a id="group-list-group-delete" disabled href="#" class="btn btn-danger btn-xs"><i class="icon-remove"></i> Discard</a> <a id="group-list-group-delete" disabled href="#" class="btn btn-danger btn-xs"><i class="fa fa-times"></i> Discard</a>
</p> </p>
</div> </div>
<div id="table_container"> <div id="table_container">
......
<a data-group-pk="{{ record.pk }}" class="btn btn-danger btn-xs real-link group-delete" href="{% url "dashboard.views.delete-group" pk=record.pk %}?next={{ request.path }}"><i class="icon-trash"></i></a> <a data-group-pk="{{ record.pk }}" class="btn btn-danger btn-xs real-link group-delete" href="{% url "dashboard.views.delete-group" pk=record.pk %}?next={{ request.path }}"><i class="fa fa-trash"></i></a>
<a id="group-list-rename-button" class="btn btn-default btn-xs" title data-original-title="Rename"> <a id="group-list-rename-button" class="btn btn-default btn-xs" title data-original-title="Rename">
<i class="icon-pencil"></i> <i class="fa fa-pencil"></i>
</a> </a>
{% load i18n %} {% load i18n %}
<div id="group-list-rename"> <div id="group-list-rename">
<form action="{% url "dashboard.views.group-detail" pk=record.pk %}" method="POST" id="group-list-rename-form"> <form action="{% url "dashboard.views.group-detail" pk=record.pk %}" method="POST" id="group-list-rename-form">
{% csrf_token %} {% csrf_token %}
<input id="group-list-rename-name" class="form-control input-sm" name="new_name" type="text" value="{{ record.name }}"/> <input id="group-list-rename-name" class="form-control input-sm" name="new_name" type="text" value="{{ record.name }}"/>
<button type="submit" class="group-list-rename-submit btn btn-sm">{% trans "Rename" %}</button> <button type="submit" class="group-list-rename-submit btn btn-sm">{% trans "Rename" %}</button>
</form> </form>
</div> </div>
......
{% load i18n %} {% load i18n %}
{{ record.username }} {{ record.username }}
{% load i18n %} {% load i18n %}
<div id="group-list-column-users"> <div id="group-list-column-users">
<a class="real-link" href="{% url "dashboard.views.group-detail" pk=record.pk %}">{{ record.user_set.count }}</a> <a class="real-link" href="{% url "dashboard.views.group-detail" pk=record.pk %}">{{ record.user_set.count }}</a>
......
<tr> <tr>
<!--<td><input type="checkbox"/ class="vm-checkbox" id="vm-1825{{ c }}"></td>--> <!--<td><input type="checkbox"/ class="vm-checkbox" id="vm-1825{{ c }}"></td>-->
<td> <td>
...@@ -10,10 +10,10 @@ ...@@ -10,10 +10,10 @@
<td>1 month</td> <td>1 month</td>
<td> <td>
<a class="btn btn-default btn-xs" title data-original-title="Migrate"> <a class="btn btn-default btn-xs" title data-original-title="Migrate">
<i class="icon-truck"></i> <i class="fa fa-truck"></i>
</a> </a>
<a class="btn btn-default btn-xs" title data-original-title="Rename"> <a class="btn btn-default btn-xs" title data-original-title="Rename">
<i class="icon-pencil"></i> <i class="fa fa-pencil"></i>
</a> </a>
<a href="#" class="btn btn-default btn-xs vm-list-connect" data-toggle="popover" <a href="#" class="btn btn-default btn-xs vm-list-connect" data-toggle="popover"
data-content=' data-content='
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
'>Connect</a> '>Connect</a>
</td> </td>
<td> <td>
<a class="btn btn-info btn-xs vm-list-details" href="#" data-toggle="popover" <a class="btn btn-info btn-xs vm-list-details" href="#" data-toggle="popover"
data-content=' data-content='
<h4>Quick details</h4> <h4>Quick details</h4>
<dl class="dl-horizontal"> <dl class="dl-horizontal">
...@@ -39,13 +39,13 @@ ...@@ -39,13 +39,13 @@
</td> </td>
<td> <td>
<div class="btn-group"> <div class="btn-group">
<button type="button" class="btn btn-xs btn-warning nojs-dropdown-toogle dropdown-toggle" data-toggle="dropdown">Action <i class="icon-caret-down"></i></button> <button type="button" class="btn btn-xs btn-warning nojs-dropdown-toogle dropdown-toggle" data-toggle="dropdown">Action <i class="fa fa-caret-down"></i></button>
<ul class="nojs-dropdown-menu dropdown-menu" role="menu"> <ul class="nojs-dropdown-menu dropdown-menu" role="menu">
<li><a href="#"><i class="icon-refresh"></i> Reboot</a></li> <li><a href="#"><i class="fa fa-refresh"></i> Reboot</a></li>
<li><a href="#"><i class="icon-off"></i> Shutdown</a></li> <li><a href="#"><i class="fa fa-off"></i> Shutdown</a></li>
<li><a href="#"><i class="icon-remove"></i> Discard</a></li> <li><a href="#"><i class="fa fa-times"></i> Discard</a></li>
</ul> </ul>
</div> </div>
</td> </td>
</tr> </tr>
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<ul class="list-inline pull-right"> <ul class="list-inline pull-right">
<li><a href="#vm-graph-view" class="btn btn-default btn-xs"><i class="icon-dashboard"></i></a></li> <li><a href="#vm-graph-view" class="btn btn-default btn-xs"><i class="fa fa-dashboard"></i></a></li>
<li><a href="#vm-list-view" class="btn btn-default btn-xs"><i class="icon-list"></i></a></li> <li><a href="#vm-list-view" class="btn btn-default btn-xs"><i class="fa fa-list"></i></a></li>
</ul> </ul>
<h3 class="no-margin"><i class="icon-briefcase"></i> Files <h3 class="no-margin"><i class="fa fa-briefcase"></i> Files
</h3> </h3>
</div> </div>
<div class="list-group" id="vm-list-view"> <div class="list-group" id="vm-list-view">
<a href="#" class="list-group-item"> <a href="#" class="list-group-item">
<i class="icon-file"></i> ALMA <div class="pull-right"><i class="icon-download-alt "></i></div> <i class="fa fa-file"></i> ALMA <div class="pull-right"><i class="fa fa-download-alt "></i></div>
</a> </a>
<a href="#" class="list-group-item"> <a href="#" class="list-group-item">
<i class="icon-file-text"></i> ALMA.docx <div class="pull-right"><i class="icon-download-alt "></i></div> <i class="fa fa-file-text"></i> ALMA.docx <div class="pull-right"><i class="fa fa-download-alt "></i></div>
</a> </a>
<a href="#" class="list-group-item"> <a href="#" class="list-group-item">
<i class="icon-file-text"></i> ALMA.docx <div class="pull-right"><i class="icon-download-alt "></i></div> <i class="fa fa-file-text"></i> ALMA.docx <div class="pull-right"><i class="fa fa-download-alt "></i></div>
</a> </a>
<a href="#" class="list-group-item"> <a href="#" class="list-group-item">
<i class="icon-file-text"></i> ALMA.docx <div class="pull-right"><i class="icon-download-alt "></i></div> <i class="fa fa-file-text"></i> ALMA.docx <div class="pull-right"><i class="fa fa-download-alt "></i></div>
</a> </a>
<a href="#" class="list-group-item"> <a href="#" class="list-group-item">
<i class="icon-file-text"></i> ALMA.docx <div class="pull-right"><i class="icon-download-alt "></i></div> <i class="fa fa-file-text"></i> ALMA.docx <div class="pull-right"><i class="fa fa-download-alt "></i></div>
</a> </a>
<div href="#" class="list-group-item list-group-footer text-right"> <div href="#" class="list-group-item list-group-footer text-right">
<p> <p>
<a class="btn btn-primary btn-xs"><i class="icon-chevron-sign-right"></i> show more </a> <a class="btn btn-primary btn-xs"><i class="fa fa-chevron-circle-right"></i> show more </a>
<a class="btn btn-success btn-xs"><i class="icon-upload-alt"></i> upload </a> <a class="btn btn-success btn-xs"><i class="fa fa-upload-alt"></i> upload </a>
</p> </p>
</div> </div>
</div> </div>
......
...@@ -2,16 +2,16 @@ ...@@ -2,16 +2,16 @@
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<div class="pull-right toolbar"> <div class="pull-right toolbar">
<span class="btn btn-default btn-xs infobtn" title="{% trans "List of groups that you have access to." %}"><i class="icon-info-sign"></i></span> <span class="btn btn-default btn-xs infobtn" title="{% trans "List of groups that you have access to." %}"><i class="fa fa-info-circle"></i></span>
</div> </div>
<h3 class="no-margin"><i class="icon-group"></i> {% trans "Groups" %}</h3> <h3 class="no-margin"><i class="fa fa-group"></i> {% trans "Groups" %}</h3>
</div> </div>
<div class="list-group" id="vm-list-view"> <div class="list-group" id="vm-list-view">
<div id="dashboard-group-list"> <div id="dashboard-group-list">
{% for i in groups %} {% for i in groups %}
<a href="{% url "dashboard.views.group-detail" pk=i.pk %}" class="list-group-item real-link <a href="{% url "dashboard.views.group-detail" pk=i.pk %}" class="list-group-item real-link
{% if forloop.last and groups|length < 5 %} list-group-item-last{% endif %}"> {% if forloop.last and groups|length < 5 %} list-group-item-last{% endif %}">
<i class="icon-group"></i> {{ i.name }} <i class="fa fa-group"></i> {{ i.name }}
</a> </a>
{% endfor %} {% endfor %}
</div> </div>
...@@ -20,12 +20,12 @@ ...@@ -20,12 +20,12 @@
<div class="col-sm-6 col-xs-6 input-group input-group-sm"> <div class="col-sm-6 col-xs-6 input-group input-group-sm">
<input id="dashboard-group-search-input" type="text" class="form-control" placeholder="{% trans "Search..." %}" /> <input id="dashboard-group-search-input" type="text" class="form-control" placeholder="{% trans "Search..." %}" />
<div class="input-group-btn"> <div class="input-group-btn">
<button type="submit" class="form-control btn btn-primary"><i class="icon-search"></i></button> <button type="submit" class="form-control btn btn-primary"><i class="fa fa-search"></i></button>
</div> </div>
</div> </div>
<div class="col-sm-6 text-right"> <div class="col-sm-6 text-right">
<a class="btn btn-primary btn-xs" href="{% url "dashboard.views.group-list" %}"> <a class="btn btn-primary btn-xs" href="{% url "dashboard.views.group-list" %}">
<i class="icon-chevron-sign-right"></i> <i class="fa fa-chevron-circle-right"></i>
{% if more_groups > 0 %} {% if more_groups > 0 %}
{% blocktrans count more=more_groups %} {% blocktrans count more=more_groups %}
<strong>{{ more }}</strong> more <strong>{{ more }}</strong> more
...@@ -33,10 +33,10 @@ ...@@ -33,10 +33,10 @@
<strong>{{ more }}</strong> more <strong>{{ more }}</strong> more
{% endblocktrans %} {% endblocktrans %}
{% else %} {% else %}
{% trans "list" %} {% trans "list" %}
{% endif %} {% endif %}
</a> </a>
<a class="btn btn-success btn-xs group-create" href="{% url "dashboard.views.group-create" %}"><i class="icon-plus-sign"></i> {% trans "new" %} </a> <a class="btn btn-success btn-xs group-create" href="{% url "dashboard.views.group-create" %}"><i class="fa fa-plus-circle"></i> {% trans "new" %} </a>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -3,14 +3,14 @@ ...@@ -3,14 +3,14 @@
<div class="panel-heading"> <div class="panel-heading">
<div class="pull-right toolbar"> <div class="pull-right toolbar">
<div class="btn-group"> <div class="btn-group">
<a href="#index-graph-view" data-index-box="node" class="btn btn-default btn-xs"><i class="icon-dashboard"></i></a> <a href="#index-graph-view" data-index-box="node" class="btn btn-default btn-xs"><i class="fa fa-dashboard"></i></a>
<a href="#index-list-view" data-index-box="node" class="btn btn-default btn-xs disabled"><i class="icon-list"></i></a> <a href="#index-list-view" data-index-box="node" class="btn btn-default btn-xs disabled"><i class="fa fa-list"></i></a>
</div> </div>
<span class="btn btn-default btn-xs infobtn" title="{% trans "List of compute nodes, also called worker nodes or hypervisors, which run the virtual machines." %}"><i class="icon-info-sign"></i></span> <span class="btn btn-default btn-xs infobtn" title="{% trans "List of compute nodes, also called worker nodes or hypervisors, which run the virtual machines." %}"><i class="fa fa-info-circle"></i></span>
</div> </div>
<h3 class="no-margin"> <h3 class="no-margin">
<i class="icon-sitemap"></i> {% trans "Nodes" %} <i class="fa fa-sitemap"></i> {% trans "Nodes" %}
</h3> </h3>
</div > </div >
<div class="list-group" id="node-list-view"> <div class="list-group" id="node-list-view">
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<a href="{{ i.get_absolute_url }}" class="list-group-item real-link <a href="{{ i.get_absolute_url }}" class="list-group-item real-link
{% if forloop.last and nodes|length < 5 %} list-group-item-last{% endif %}"> {% if forloop.last and nodes|length < 5 %} list-group-item-last{% endif %}">
<span class="index-node-list-name"> <span class="index-node-list-name">
<i class="{{ i.get_status_icon }}" title="{{ i.get_status_display }}"></i> <i class="fa {{ i.get_status_icon }}" title="{{ i.get_status_display }}"></i>
{{ i.name }} {{ i.name }}
</span> </span>
<div style="clear: both;"></div> <div style="clear: both;"></div>
...@@ -31,24 +31,24 @@ ...@@ -31,24 +31,24 @@
<div class="col-sm-6 col-xs-6 input-group input-group-sm"> <div class="col-sm-6 col-xs-6 input-group input-group-sm">
<input id="dashboard-node-search-input" type="text" class="form-control" placeholder="{% trans "Search..." %}" /> <input id="dashboard-node-search-input" type="text" class="form-control" placeholder="{% trans "Search..." %}" />
<div class="input-group-btn"> <div class="input-group-btn">
<button type="submit" class="form-control btn btn-primary" title="search"><i class="icon-search"></i></button> <button type="submit" class="form-control btn btn-primary" title="search"><i class="fa fa-search"></i></button>
</div> </div>
</div> </div>
<div class="col-sm-6 text-right"> <div class="col-sm-6 text-right">
<a class="btn btn-primary btn-xs" href="{% url "dashboard.views.node-list" %}"> <a class="btn btn-primary btn-xs" href="{% url "dashboard.views.node-list" %}">
<i class="icon-chevron-sign-right"></i> <i class="fa fa-chevron-circle-right"></i>
{% if more_nodes > 0 %} {% if more_nodes > 0 %}
{% blocktrans with count=more_nodes %}<strong>{{count}}</strong> more{% endblocktrans %} {% blocktrans with count=more_nodes %}<strong>{{count}}</strong> more{% endblocktrans %}
{% else %} {% else %}
{% trans "list" %} {% trans "list" %}
{% endif %} {% endif %}
</a> </a>
<a class="btn btn-success btn-xs node-create" href="{% url "dashboard.views.node-create" %}"><i class="icon-plus-sign"></i> {% trans "new" %}</a> <a class="btn btn-success btn-xs node-create" href="{% url "dashboard.views.node-create" %}"><i class="fa fa-plus-circle"></i> {% trans "new" %}</a>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="panel-body" id="node-graph-view" style="display: none"> <div class="panel-body" id="node-graph-view" style="display: none">
<p class="pull-right"> <input class="knob" data-fgColor="chartreuse" data-thickness=".4" data-width="60" data-height="60" data-readOnly="true" value="{% widthratio node_num.running sum_node_num 100 %}"></p> <p class="pull-right"> <input class="knob" data-fgColor="chartreuse" data-thickness=".4" data-width="60" data-height="60" data-readOnly="true" value="{% widthratio node_num.running sum_node_num 100 %}"></p>
<p><span class="big"><big>{{ node_num.running }}</big> running </span> <p><span class="big"><big>{{ node_num.running }}</big> running </span>
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
<ul class="list-inline" id="dashboard-node-taglist"> <ul class="list-inline" id="dashboard-node-taglist">
{% for i in nodes %} {% for i in nodes %}
<a href="{{ i.get_absolute_url }}" class="label {{i.get_status_label}}" > <a href="{{ i.get_absolute_url }}" class="label {{i.get_status_label}}" >
<i class="{{ i.get_status_icon }}" title="{{ i.get_status_display }}"></i> {{ i.name }}</a> <i class="fa {{ i.get_status_icon }}" title="{{ i.get_status_display }}"></i> {{ i.name }}</a>
{% endfor %} {% endfor %}
</ul> </ul>
...@@ -65,10 +65,10 @@ ...@@ -65,10 +65,10 @@
<div class="col-sm-6 text-right pull-right"> <div class="col-sm-6 text-right pull-right">
{% if more_nodes >= 0 %} {% if more_nodes >= 0 %}
<a class="btn btn-primary btn-xs" href="{% url "dashboard.views.node-list" %}"> <a class="btn btn-primary btn-xs" href="{% url "dashboard.views.node-list" %}">
<i class="icon-chevron-sign-right"></i> {% blocktrans with count=more_nodes %}<strong>{{count}}</strong> more{% endblocktrans %} <i class="fa fa-chevron-circle-right"></i> {% blocktrans with count=more_nodes %}<strong>{{count}}</strong> more{% endblocktrans %}
</a> </a>
{% endif %} {% endif %}
<a class="btn btn-success btn-xs node-create" href="{% url "dashboard.views.node-create" %}"><i class="icon-plus-sign"></i> {% trans "new" %}</a> <a class="btn btn-success btn-xs node-create" href="{% url "dashboard.views.node-create" %}"><i class="fa fa-plus-circle"></i> {% trans "new" %}</a>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<span class="btn btn-default btn-xs infobtn pull-right" title="{% trans "List of VM templates that are available for you. You can create new ones from scratch or customize existing ones (preferred)." %}"> <span class="btn btn-default btn-xs infobtn pull-right" title="{% trans "List of VM templates that are available for you. You can create new ones from scratch or customize existing ones (preferred)." %}">
<i class="icon-info-sign"></i> <i class="fa fa-info-circle"></i>
</span> </span>
<h3 class="no-margin"><i class="icon-puzzle-piece"></i> {% trans "Templates" %} <h3 class="no-margin"><i class="fa fa-puzzle-piece"></i> {% trans "Templates" %}
</h3> </h3>
</div> </div>
<div class="list-group" id="dashboard-template-list"> <div class="list-group" id="dashboard-template-list">
...@@ -13,10 +13,10 @@ ...@@ -13,10 +13,10 @@
<a href="{% url "dashboard.views.template-detail" pk=t.pk %}" class="list-group-item <a href="{% url "dashboard.views.template-detail" pk=t.pk %}" class="list-group-item
{% if forloop.last and templates|length < 5 %} list-group-item-last{% endif %}"> {% if forloop.last and templates|length < 5 %} list-group-item-last{% endif %}">
<span class="index-template-list-name"> <span class="index-template-list-name">
<i class="icon-{{ t.os_type }}"></i> {{ t.name }} <i class="fa fa-{{ t.os_type }}"></i> {{ t.name }}
</span> </span>
<small class="text-muted index-template-list-system">{{ t.system }}</small> <small class="text-muted index-template-list-system">{{ t.system }}</small>
<div class="pull-right vm-create" data-template="{{ t.pk }}"><i title="{% trans "Start vm instance" %}" class="icon-play"></i></div> <div class="pull-right vm-create" data-template="{{ t.pk }}"><i title="{% trans "Start vm instance" %}" class="fa fa-play"></i></div>
<div class="clearfix"></div> <div class="clearfix"></div>
</a> </a>
{% empty %} {% empty %}
...@@ -30,10 +30,10 @@ ...@@ -30,10 +30,10 @@
<div href="#" class="list-group-item list-group-footer text-right"> <div href="#" class="list-group-item list-group-footer text-right">
<p> <p>
<a href="{% url "dashboard.views.template-list" %}" class="btn btn-primary btn-xs"> <a href="{% url "dashboard.views.template-list" %}" class="btn btn-primary btn-xs">
<i class="icon-chevron-sign-right"></i> {% trans "show all" %} <i class="fa fa-chevron-circle-right"></i> {% trans "show all" %}
</a> </a>
<a href="{% url "dashboard.views.template-choose" %}" class="btn btn-success btn-xs template-choose"> <a href="{% url "dashboard.views.template-choose" %}" class="btn btn-success btn-xs template-choose">
<i class="icon-plus-sign"></i> {% trans "new" %} <i class="fa fa-plus-circle"></i> {% trans "new" %}
</a> </a>
</p> </p>
</div> </div>
......
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
<div class="panel-heading"> <div class="panel-heading">
<div class="pull-right toolbar"> <div class="pull-right toolbar">
<div class="btn-group"> <div class="btn-group">
<a href="#index-graph-view" data-index-box="vm" class="btn btn-default btn-xs"><i class="icon-dashboard"></i></a> <a href="#index-graph-view" data-index-box="vm" class="btn btn-default btn-xs"><i class="fa fa-dashboard"></i></a>
<a href="#index-list-view" data-index-box="vm" class="btn btn-default btn-xs disabled"><i class="icon-list"></i></a> <a href="#index-list-view" data-index-box="vm" class="btn btn-default btn-xs disabled"><i class="fa fa-list"></i></a>
</div> </div>
<span class="btn btn-default btn-xs infobtn" title="{% trans "List of your current virtual machines. Favourited ones are ahead of others." %}"><i class="icon-info-sign"></i></span> <span class="btn btn-default btn-xs infobtn" title="{% trans "List of your current virtual machines. Favourited ones are ahead of others." %}"><i class="fa fa-info-circle"></i></span>
</div> </div>
<h3 class="no-margin"> <h3 class="no-margin">
<i class="icon-desktop"></i> {% trans "Virtual machines" %} <i class="fa fa-desktop"></i> {% trans "Virtual machines" %}
</h3> </h3>
</div> </div>
<div class="list-group" id="vm-list-view"> <div class="list-group" id="vm-list-view">
...@@ -18,15 +18,15 @@ ...@@ -18,15 +18,15 @@
<a href="{{ i.get_absolute_url }}" class="list-group-item <a href="{{ i.get_absolute_url }}" class="list-group-item
{% if forloop.last and instances|length < 5 %} list-group-item-last{% endif %}"> {% if forloop.last and instances|length < 5 %} list-group-item-last{% endif %}">
<span class="index-vm-list-name"> <span class="index-vm-list-name">
<i class="{{ i.get_status_icon }}" title="{{ i.get_status_display }}"></i> <i class="fa {{ i.get_status_icon }}" title="{{ i.get_status_display }}"></i>
{{ i.name }} {{ i.name }}
</span> </span>
<small class="text-muted"> {{ i.primary_host.hostname }}</small> <small class="text-muted"> {{ i.primary_host.hostname }}</small>
<div class="pull-right dashboard-vm-favourite" data-vm="{{ i.pk }}"> <div class="pull-right dashboard-vm-favourite" data-vm="{{ i.pk }}">
{% if i.fav %} {% if i.fav %}
<i class="icon-star text-primary title-favourite" title="{% trans "Unfavourite" %}"></i> <i class="fa fa-star text-primary title-favourite" title="{% trans "Unfavourite" %}"></i>
{% else %} {% else %}
<i class="icon-star-empty text-primary title-favourite" title="{% trans "Mark as favorite" %}"></i> <i class="fa fa-star-o text-primary title-favourite" title="{% trans "Mark as favorite" %}"></i>
{% endif %} {% endif %}
</div> </div>
<div style="clear: both;"></div> <div style="clear: both;"></div>
...@@ -47,12 +47,12 @@ ...@@ -47,12 +47,12 @@
<div class="col-sm-6 col-xs-6 input-group input-group-sm"> <div class="col-sm-6 col-xs-6 input-group input-group-sm">
<input id="dashboard-vm-search-input" type="text" class="form-control" placeholder="{% trans "Search..." %}" /> <input id="dashboard-vm-search-input" type="text" class="form-control" placeholder="{% trans "Search..." %}" />
<div class="input-group-btn"> <div class="input-group-btn">
<button type="submit" class="form-control btn btn-primary"><i class="icon-search"></i></button> <button type="submit" class="form-control btn btn-primary"><i class="fa fa-search"></i></button>
</div> </div>
</div> </div>
<div class="col-sm-6 text-right"> <div class="col-sm-6 text-right">
<a class="btn btn-primary btn-xs" href="{% url "dashboard.views.vm-list" %}"> <a class="btn btn-primary btn-xs" href="{% url "dashboard.views.vm-list" %}">
<i class="icon-chevron-sign-right"></i> <i class="fa fa-chevron-circle-right"></i>
{% if more_instances > 0 %} {% if more_instances > 0 %}
{% blocktrans count counter=more_instances %} {% blocktrans count counter=more_instances %}
<strong>{{ counter }}</strong> more <strong>{{ counter }}</strong> more
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
{% trans "list" %} {% trans "list" %}
{% endif %} {% endif %}
</a> </a>
<a class="btn btn-success btn-xs vm-create" href="{% url "dashboard.views.vm-create" %}"><i class="icon-plus-sign"></i> {% trans "new" %}</a> <a class="btn btn-success btn-xs vm-create" href="{% url "dashboard.views.vm-create" %}"><i class="fa fa-plus-circle"></i> {% trans "new" %}</a>
</div> </div>
</div> </div>
</div> </div>
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
{% for vm in running_vms %} {% for vm in running_vms %}
<li style="display: inline-block; padding: 2px;"> <li style="display: inline-block; padding: 2px;">
<a href="{{vm.get_absolute_url}}" title="{{vm.primary_host.get_fqdn}}" class="label label-success"> <a href="{{vm.get_absolute_url}}" title="{{vm.primary_host.get_fqdn}}" class="label label-success">
<i class="{{vm.get_status_icon}}"></i> {{vm.name}} <i class="fa {{vm.get_status_icon}}"></i> {{vm.name}}
</a> </a>
</li> </li>
{% endfor %} {% endfor %}
...@@ -87,13 +87,13 @@ ...@@ -87,13 +87,13 @@
<div class="clearfix"></div> <div class="clearfix"></div>
<div> <div>
<a style="float: right; margin-top: 17px;" href="{% url "dashboard.views.vm-list" %}" class="btn btn-primary btn-xs"> <a style="float: right; margin-top: 17px;" href="{% url "dashboard.views.vm-list" %}" class="btn btn-primary btn-xs">
<i class="icon-chevron-sign-right"></i> <i class="fa fa-chevron-circle-right"></i>
{% blocktrans count counter=instances|length|add:more_instances %} {% blocktrans count counter=instances|length|add:more_instances %}
<strong>{{ counter }}</strong> machine total <strong>{{ counter }}</strong> machine total
{% plural %} {% plural %}
<strong>{{ counter }}</strong> machines total <strong>{{ counter }}</strong> machines total
{% endblocktrans %} {% endblocktrans %}
</a> </a>
<p class="big text-warning">{% blocktrans with count=stopped_vm_num %}<big>{{ count }}</big> stopped{% endblocktrans %}</p> <p class="big text-warning">{% blocktrans with count=stopped_vm_num %}<big>{{ count }}</big> stopped{% endblocktrans %}</p>
</div> </div>
</div> </div>
......
...@@ -46,5 +46,5 @@ ...@@ -46,5 +46,5 @@
{% block extra_js %} {% block extra_js %}
<script src="{{ STATIC_URL }}dashboard/vm-create.js"></script> <script src="{{ STATIC_URL }}dashboard/vm-create.js"></script>
<script src="{{ STATIC_URL }}dashboard/node-create.js"></script> <script src="{{ STATIC_URL }}dashboard/node-create.js"></script>
{% endblock %} {% endblock %}
{% extends "dashboard/base.html" %} {% extends "dashboard/base.html" %}
{% load i18n %} {% load i18n %}
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% block title-page %}{% trans "Create lease" %}{% endblock %} {% block title-page %}{% trans "Create lease" %}{% endblock %}
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<a class="pull-right btn btn-default btn-xs" href="{% url "dashboard.views.template-list" %}">{% trans "Back" %}</a> <a class="pull-right btn btn-default btn-xs" href="{% url "dashboard.views.template-list" %}">{% trans "Back" %}</a>
<h3 class="no-margin"><i class="icon-time"></i> {% trans "Create lease" %}</h3> <h3 class="no-margin"><i class="fa fa-time"></i> {% trans "Create lease" %}</h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
{% with form=form %} {% with form=form %}
......
{% extends "dashboard/base.html" %} {% extends "dashboard/base.html" %}
{% load i18n %} {% load i18n %}
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% block title-page %}{% trans "Edit lease" %}{% endblock %} {% block title-page %}{% trans "Edit lease" %}{% endblock %}
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<a class="pull-right btn btn-default btn-xs" href="{% url "dashboard.views.template-list" %}">{% trans "Back" %}</a> <a class="pull-right btn btn-default btn-xs" href="{% url "dashboard.views.template-list" %}">{% trans "Back" %}</a>
<h3 class="no-margin"><i class="icon-time"></i> {% trans "Edit lease" %}</h3> <h3 class="no-margin"><i class="fa fa-time"></i> {% trans "Edit lease" %}</h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
{% with form=form %} {% with form=form %}
......
<div class="modal fade" id="create-modal" tabindex="-1" role="dialog"> <div class="modal fade" id="create-modal" tabindex="-1" role="dialog">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
{% if box_title and ajax_title %} {% if box_title and ajax_title %}
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">{{ box_title }}</h4> <h4 class="modal-title">{{ box_title }}</h4>
</div> </div>
{% endif %} {% endif %}
<div class="modal-body"> <div class="modal-body">
{% include template %} {% include template %}
</div> </div>
<!--<div class="modal-footer"> <!--<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button> <button type="button" class="btn btn-primary">Save changes</button>
</div>--> </div>-->
</div><!-- /.modal-content --> </div><!-- /.modal-content -->
</div><!-- /.modal-dialog --> </div><!-- /.modal-dialog -->
</div> </div>
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<div class="col-md-12"> <div class="col-md-12">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<h3 class="no-margin"><i class="icon-plus"></i> {% trans "Add Trait" %}</h3> <h3 class="no-margin"><i class="fa fa-plus"></i> {% trans "Add Trait" %}</h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
{% with form=form %} {% with form=form %}
......
...@@ -7,23 +7,23 @@ ...@@ -7,23 +7,23 @@
<div class="body-content"> <div class="body-content">
<div class="page-header"> <div class="page-header">
<div class="pull-right" style="padding-top: 15px;"> <div class="pull-right" style="padding-top: 15px;">
<a title="{% trans "Rename" %}" href="#" class="btn btn-default btn-xs node-details-rename-button"><i class="icon-pencil"></i></a> <a title="{% trans "Rename" %}" href="#" class="btn btn-default btn-xs node-details-rename-button"><i class="fa fa-pencil"></i></a>
<a title="{% trans "Flush" %}" data-node-pk="{{ node.pk }}" class="btn btn-default btn-xs real-link node-flush" href="{% url "dashboard.views.flush-node" pk=node.pk %}"><i class="icon-cloud-upload"></i></a> <a title="{% trans "Flush" %}" data-node-pk="{{ node.pk }}" class="btn btn-default btn-xs real-link node-flush" href="{% url "dashboard.views.flush-node" pk=node.pk %}"><i class="fa fa-cloud-upload"></i></a>
<a title="{% trans "Enable" %}" style="display:{% if node.enabled %}none{% else %}inline-block{% endif %}" data-node-pk="{{ node.pk }}" class="btn btn-default btn-xs real-link node-enable" href="{% url "dashboard.views.status-node" pk=node.pk %}?next={{ request.path }}"><i class="icon-check"></i></a> <a title="{% trans "Enable" %}" style="display:{% if node.enabled %}none{% else %}inline-block{% endif %}" data-node-pk="{{ node.pk }}" class="btn btn-default btn-xs real-link node-enable" href="{% url "dashboard.views.status-node" pk=node.pk %}?next={{ request.path }}"><i class="fa fa-check"></i></a>
<a title="{% trans "Disable" %}" style="display:{% if not node.enabled %}none{% else %}inline-block{% endif %}" data-node-pk="{{ node.pk }}" class="btn btn-default btn-xs real-link node-enable" href="{% url "dashboard.views.status-node" pk=node.pk %}?next={{ request.path }}"><i class="icon-ban-circle"></i></a> <a title="{% trans "Disable" %}" style="display:{% if not node.enabled %}none{% else %}inline-block{% endif %}" data-node-pk="{{ node.pk }}" class="btn btn-default btn-xs real-link node-enable" href="{% url "dashboard.views.status-node" pk=node.pk %}?next={{ request.path }}"><i class="fa fa-ban"></i></a>
<a title="{% trans "Delete" %}" data-node-pk="{{ node.pk }}" class="btn btn-default btn-xs real-link node-delete" href="{% url "dashboard.views.delete-node" pk=node.pk %}"><i class="icon-trash"></i></a> <a title="{% trans "Delete" %}" data-node-pk="{{ node.pk }}" class="btn btn-default btn-xs real-link node-delete" href="{% url "dashboard.views.delete-node" pk=node.pk %}"><i class="fa fa-trash-o"></i></a>
<a title="{% trans "Help" %}" href="#" class="btn btn-default btn-xs node-details-help-button"><i class="icon-question"></i></a> <a title="{% trans "Help" %}" href="#" class="btn btn-default btn-xs node-details-help-button"><i class="fa fa-question"></i></a>
</div> </div>
<h1> <h1>
<div id="node-details-rename"> <div id="node-details-rename">
<form action="" method="POST" id="node-details-rename-form"> <form action="" method="POST" id="node-details-rename-form">
{% csrf_token %} {% csrf_token %}
<input id="node-details-rename-name" class="form-control" name="new_name" type="text" value="{{ node.name }}"/> <input id="node-details-rename-name" class="form-control" name="new_name" type="text" value="{{ node.name }}"/>
<button type="submit" id="node-details-rename-submit" class="btn">{% trans "Rename" %}</button> <button type="submit" id="node-details-rename-submit" class="btn">{% trans "Rename" %}</button>
</form> </form>
</div> </div>
<div id="node-details-h1-name"> <div id="node-details-h1-name">
{{ node.name }} {{ node.name }}
</div> </div>
</h1> </h1>
<div class="node-details-help js-hidden"> <div class="node-details-help js-hidden">
...@@ -66,19 +66,19 @@ ...@@ -66,19 +66,19 @@
<ul class="nav nav-pills panel-heading"> <ul class="nav nav-pills panel-heading">
<li class="active"> <li class="active">
<a href="#home" data-toggle="pill" class="text-center"> <a href="#home" data-toggle="pill" class="text-center">
<i class="icon-compass icon-2x"></i><br> <i class="fa fa-compass fa-2x"></i><br>
{% trans "Home" %}</a></li> {% trans "Home" %}</a></li>
<li> <li>
<a href="#resources" data-toggle="pill" class="text-center"> <a href="#resources" data-toggle="pill" class="text-center">
<i class="icon-tasks icon-2x"></i><br> <i class="fa fa-tasks fa-2x"></i><br>
{% trans "Resources" %}</a></li> {% trans "Resources" %}</a></li>
<li> <li>
<a href="#virtualmachines" data-toggle="pill" class="text-center"> <a href="#virtualmachines" data-toggle="pill" class="text-center">
<i class="icon-desktop icon-2x"></i><br> <i class="fa fa-desktop fa-2x"></i><br>
{% trans "Virtual Machines" %}</a></li> {% trans "Virtual Machines" %}</a></li>
<li> <li>
<a href="#activity" data-toggle="pill" class="text-center"> <a href="#activity" data-toggle="pill" class="text-center">
<i class="icon-time icon-2x"></i><br> <i class="fa fa-clock-o fa-2x"></i><br>
{% trans "Activity" %}</a></li> {% trans "Activity" %}</a></li>
</ul> </ul>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
{% for a in activities %} {% for a in activities %}
<div class="activity" data-activity-id="{{ a.pk }}"> <div class="activity" data-activity-id="{{ a.pk }}">
<span class="timeline-icon{% if a.has_failed %} timeline-icon-failed{% endif %}"> <span class="timeline-icon{% if a.has_failed %} timeline-icon-failed{% endif %}">
<i class="{% if not a.finished %} icon-refresh icon-spin {% else %}icon-plus{% endif %}"></i> <i class="fa{% if not a.finished %}fa-refresh fa-spin {% else %}fa fa-plus{% endif %}"></i>
</span> </span>
<strong>{{ a.get_readable_name }}</strong> <strong>{{ a.get_readable_name }}</strong>
{{ a.started|date:"Y-m-d H:i" }}, {{ a.user }} {{ a.started|date:"Y-m-d H:i" }}, {{ a.user }}
...@@ -11,11 +11,11 @@ ...@@ -11,11 +11,11 @@
<div class="sub-timeline"> <div class="sub-timeline">
{% for s in a.children.all %} {% for s in a.children.all %}
<div data-activity-id="{{ s.pk }}" class="sub-activity{% if s.has_failed %} sub-activity-failed{% endif %}"> <div data-activity-id="{{ s.pk }}" class="sub-activity{% if s.has_failed %} sub-activity-failed{% endif %}">
{{ s.get_readable_name }} - {{ s.get_readable_name }} -
{% if s.finished %} {% if s.finished %}
{{ s.finished|time:"H:i:s" }} {{ s.finished|time:"H:i:s" }}
{% else %} {% else %}
<i class="icon-refresh icon-spin" class="sub-activity-loading-icon"></i> <i class="fa fa-refresh fa-spin" class="sub-activity-loading-icon"></i>
{% endif %} {% endif %}
{% if s.has_failed %} {% if s.has_failed %}
<div class="label label-danger">{% trans "failed" %}</div> <div class="label label-danger">{% trans "failed" %}</div>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
{% for t in node.traits.all %} {% for t in node.traits.all %}
<div class="label label-success label-tag" style="display: inline-block"> <div class="label label-success label-tag" style="display: inline-block">
{{ t }} {{ t }}
<a data-trait-pk="{{ t.pk }}" href="#" class="node-details-remove-trait"><i class="icon-remove"></i></a> <a data-trait-pk="{{ t.pk }}" href="#" class="node-details-remove-trait"><i class="fa fa-times"></i></a>
</div> </div>
{% endfor %} {% endfor %}
{% else %} {% else %}
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<form action="{% url "dashboard.views.node-addtrait" node.pk %}" method="POST"> <form action="{% url "dashboard.views.node-addtrait" node.pk %}" method="POST">
{% csrf_token %} {% csrf_token %}
{% crispy trait_form %} {% crispy trait_form %}
</form> </form>
</div><!-- id:node-details-traits --> </div><!-- id:node-details-traits -->
</div> </div>
<div class="col-md-8"> <div class="col-md-8">
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
$("#node-detail-pane").addClass("col-md-12"); $("#node-detail-pane").addClass("col-md-12");
}); });
</script> </script>
{% block extra_js %} {% block extra_js %}
<script src="{{ STATIC_URL}}dashboard/vm-list.js"></script> <script src="{{ STATIC_URL}}dashboard/vm-list.js"></script>
{% endblock %} {% endblock %}
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<div class="col-md-12"> <div class="col-md-12">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<h3 class="no-margin"><i class="icon-desktop"></i> {% trans "Compute nodes" %}</h3> <h3 class="no-margin"><i class="fa fa-desktop"></i> {% trans "Compute nodes" %}</h3>
</div> </div>
<div id="table_container"> <div id="table_container">
......
{% load i18n %} {% load i18n %}
<div class="btn-group"> <div class="btn-group">
<button type="button" class="btn {{ btn_size }} btn-warning nojs-dropdown-toogle dropdown-toggle" data-toggle="dropdown">Action <i class="icon-caret-down"></i></button> <button type="button" class="btn {{ btn_size }} btn-warning nojs-dropdown-toogle dropdown-toggle" data-toggle="dropdown">Action <i class="fa fa-caret-down"></i></button>
<ul class="dropdown-menu nojs-dropdown-toogle" role="menu"> <ul class="dropdown-menu nojs-dropdown-toogle" role="menu">
<li><a href="#" class="node-details-rename-button"><i class="icon-pencil"></i> {% trans "Rename" %}</a></li> <li><a href="#" class="node-details-rename-button"><i class="fa fa-pencil"></i> {% trans "Rename" %}</a></li>
<li><a data-node-pk="{{ record.pk }}" class="real-link node-flush" href="{% url "dashboard.views.flush-node" pk=record.pk %}"><i class="icon-cloud-upload"></i>{% trans "Flush" %}</a> <li><a data-node-pk="{{ record.pk }}" class="real-link node-flush" href="{% url "dashboard.views.flush-node" pk=record.pk %}"><i class="fa fa-cloud-upload"></i>{% trans "Flush" %}</a>
<li><a style={% if record.enabled %}"display:none"{% else %}"display:block"{% endif %} data-node-pk="{{ record.pk }}" class="real-link node-enable" href="{% url "dashboard.views.status-node" pk=record.pk %}?next={{ request.path }}"><i class="icon-check"></i>{% trans "Enable" %}</a> <li><a style={% if record.enabled %}"display:none"{% else %}"display:block"{% endif %} data-node-pk="{{ record.pk }}" class="real-link node-enable" href="{% url "dashboard.views.status-node" pk=record.pk %}?next={{ request.path }}"><i class="fa fa-check"></i>{% trans "Enable" %}</a>
<a style={% if record.enabled %}"display:block"{% else %}"display:none"{% endif %} data-node-pk="{{ record.pk }}" class="real-link node-enable" href="{% url "dashboard.views.status-node" pk=record.pk %}?next={{ request.path }}"><i class="icon-remove"></i>{% trans "Disable" %}</a></li> <a style={% if record.enabled %}"display:block"{% else %}"display:none"{% endif %} data-node-pk="{{ record.pk }}" class="real-link node-enable" href="{% url "dashboard.views.status-node" pk=record.pk %}?next={{ request.path }}"><i class="fa fa-times"></i>{% trans "Disable" %}</a></li>
<li><a data-node-pk="{{ record.pk }}" class="real-link node-delete" href="{% url "dashboard.views.delete-node" pk=record.pk %}?next={{ request.path }}"><i class="icon-trash"></i>{% trans "Delete" %}</a></li> <li><a data-node-pk="{{ record.pk }}" class="real-link node-delete" href="{% url "dashboard.views.delete-node" pk=record.pk %}?next={{ request.path }}"><i class="fa fa-trash"></i>{% trans "Delete" %}</a></li>
</ul> </ul>
</div> </div>
{% load i18n %} {% load i18n %}
<a class="btn btn-default btn-xs" title="{% trans "Flush" %}"> <a class="btn btn-default btn-xs" title="{% trans "Flush" %}">
<i class="icon-cloud-upload"></i> <i class="fa fa-cloud-upload"></i>
</a> </a>
<a id="node-list-rename-button" class="btn btn-default btn-xs" title="{% trans "Rename" %}"> <a id="node-list-rename-button" class="btn btn-default btn-xs" title="{% trans "Rename" %}">
<i class="icon-pencil"></i> <i class="fa fa-pencil"></i>
</a> </a>
{% load sizefieldtags %} {% load sizefieldtags %}
{% load i18n %} {% load i18n %}
<i class="icon-gears"></i> {% trans "CPU" %} <i class="fa fa-gears"></i> {% trans "CPU" %}
<div class="progress pull-right"> <div class="progress pull-right">
<div class="progress-bar progress-bar-success" role="progressbar" <div class="progress-bar progress-bar-success" role="progressbar"
aria-valuenow="{{ record.cpu_usage|stringformat:"f" }}" aria-valuenow="{{ record.cpu_usage|stringformat:"f" }}"
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
</div> </div>
</div> </div>
<br> <br>
<i class="icon-ticket"></i> {% trans "Memory" %} <i class="fa fa-ticket"></i> {% trans "Memory" %}
<div class="progress pull-right"> <div class="progress pull-right">
<div class="progress-bar" role="progressbar" <div class="progress-bar" role="progressbar"
aria-valuenow="{{ record.ram_usage|stringformat:"f" }}" aria-valuenow="{{ record.ram_usage|stringformat:"f" }}"
......
{% load i18n %} {% load i18n %}
<div id="node-list-rename"> <div id="node-list-rename">
<form action="{% url "dashboard.views.node-detail" pk=record.pk %}" method="POST" id="node-list-rename-form"> <form action="{% url "dashboard.views.node-detail" pk=record.pk %}" method="POST" id="node-list-rename-form">
{% csrf_token %} {% csrf_token %}
<input id="node-list-rename-name" class="form-control input-sm" name="new_name" type="text" value="{{ record.name }}"/> <input id="node-list-rename-name" class="form-control input-sm" name="new_name" type="text" value="{{ record.name }}"/>
<button type="submit" class="node-list-rename-submit btn btn-sm">{% trans "Rename" %}</button> <button type="submit" class="node-list-rename-submit btn btn-sm">{% trans "Rename" %}</button>
</form> </form>
</div> </div>
......
{% load i18n %} {% load i18n %}
<div id="node-list-column-vm"> <div id="node-list-column-vm">
<a class="real-link" href="{% url "dashboard.views.node-detail" pk=record.pk %}#virtualmachines">{{ value }}</a> <a class="real-link" href="{% url "dashboard.views.node-detail" pk=record.pk %}#virtualmachines">{{ value }}</a>
......
<tr> <tr>
<!--<td><input type="checkbox"/ class="vm-checkbox" id="vm-1825{{ c }}"></td>--> <!--<td><input type="checkbox"/ class="vm-checkbox" id="vm-1825{{ c }}"></td>-->
<td> <td>
...@@ -10,10 +10,10 @@ ...@@ -10,10 +10,10 @@
<td>1 month</td> <td>1 month</td>
<td> <td>
<a class="btn btn-default btn-xs" title data-original-title="Migrate"> <a class="btn btn-default btn-xs" title data-original-title="Migrate">
<i class="icon-truck"></i> <i class="fa fa-truck"></i>
</a> </a>
<a class="btn btn-default btn-xs" title data-original-title="Rename"> <a class="btn btn-default btn-xs" title data-original-title="Rename">
<i class="icon-pencil"></i> <i class="fa fa-pencil"></i>
</a> </a>
<a href="#" class="btn btn-default btn-xs vm-list-connect" data-toggle="popover" <a href="#" class="btn btn-default btn-xs vm-list-connect" data-toggle="popover"
data-content=' data-content='
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
'>Connect</a> '>Connect</a>
</td> </td>
<td> <td>
<a class="btn btn-info btn-xs vm-list-details" href="#" data-toggle="popover" <a class="btn btn-info btn-xs vm-list-details" href="#" data-toggle="popover"
data-content=' data-content='
<h4>Quick details</h4> <h4>Quick details</h4>
<dl class="dl-horizontal"> <dl class="dl-horizontal">
...@@ -39,13 +39,13 @@ ...@@ -39,13 +39,13 @@
</td> </td>
<td> <td>
<div class="btn-group"> <div class="btn-group">
<button type="button" class="btn btn-xs btn-warning nojs-dropdown-toogle dropdown-toggle" data-toggle="dropdown">Action <i class="icon-caret-down"></i></button> <button type="button" class="btn btn-xs btn-warning nojs-dropdown-toogle dropdown-toggle" data-toggle="dropdown">Action <i class="fa fa-caret-down"></i></button>
<ul class="nojs-dropdown-menu dropdown-menu" role="menu"> <ul class="nojs-dropdown-menu dropdown-menu" role="menu">
<li><a href="#"><i class="icon-refresh"></i> Reboot</a></li> <li><a href="#"><i class="fa fa-refresh"></i> Reboot</a></li>
<li><a href="#"><i class="icon-off"></i> Shutdown</a></li> <li><a href="#"><i class="fa fa-off"></i> Shutdown</a></li>
<li><a href="#"><i class="icon-remove"></i> Discard</a></li> <li><a href="#"><i class="fa fa-times"></i> Discard</a></li>
</ul> </ul>
</div> </div>
</td> </td>
</tr> </tr>
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<div class="col-md-12"> <div class="col-md-12">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<h3 class="no-margin"><i class="icon-desktop"></i> {% trans "Notifications" %}</h3> <h3 class="no-margin"><i class="fa fa-desktop"></i> {% trans "Notifications" %}</h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
<ul style="list-style: none;"> <ul style="list-style: none;">
......
{%load i18n%} {%load i18n%}
{%blocktrans with instance=instance.name user=user.name%} {%blocktrans with instance=instance.name user=user.name%}
{{user}} offered you to take the ownership of his/her virtual machine {{user}} offered you to take the ownership of his/her virtual machine
called {{instance}}.{%endblocktrans%} called {{instance}}.{%endblocktrans%}
<a href="{{token}}" class="btn btn-success btn-small">{%trans "Accept"%}</a> <a href="{{token}}" class="btn btn-success btn-small">{%trans "Accept"%}</a>
{%load i18n%} {%load i18n%}
{%blocktrans with instance=instance.name url=instance.get_absolute_url %} {%blocktrans with instance=instance.name url=instance.get_absolute_url %}
Your instance <a href="{{url}}">{{instance}}</a> has been destroyed due to expiration. Your instance <a href="{{url}}">{{instance}}</a> has been destroyed due to expiration.
{%endblocktrans%} {%endblocktrans%}
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
{%blocktrans with instance=instance.name url=instance.get_absolute_url suspend=instance.time_of_suspend delete=instance.time_of_delete %} {%blocktrans with instance=instance.name url=instance.get_absolute_url suspend=instance.time_of_suspend delete=instance.time_of_delete %}
Your instance <a href="{{url}}">{{instance}}</a> is going to expire. Your instance <a href="{{url}}">{{instance}}</a> is going to expire.
It will be suspended at {{suspend}} and destroyed at {{delete}}. It will be suspended at {{suspend}} and destroyed at {{delete}}.
{%endblocktrans%} {%endblocktrans%}
{%blocktrans with token=token url=instance.get_absolute_url %} {%blocktrans with token=token url=instance.get_absolute_url %}
Please, either <a href="{{token}}">renew</a> or <a href="{{url}}">destroy</a> Please, either <a href="{{token}}">renew</a> or <a href="{{url}}">destroy</a>
it now. it now.
{%endblocktrans%} {%endblocktrans%}
{%load i18n%} {%load i18n%}
{%blocktrans with instance=instance.name url=instance.get_absolute_url %} {%blocktrans with instance=instance.name url=instance.get_absolute_url %}
Your instance <a href="{{url}}">{{instance}}</a> has been suspended due to expiration. Your instance <a href="{{url}}">{{instance}}</a> has been suspended due to expiration.
{%endblocktrans%} {%endblocktrans%}
...@@ -20,7 +20,7 @@ Do you want to do the following operation on <a href="{{url}}">{{obj}}</a>: ...@@ -20,7 +20,7 @@ Do you want to do the following operation on <a href="{{url}}">{{obj}}</a>:
<a class="btn btn-default" href="{{object.get_absolute_url}}" <a class="btn btn-default" href="{{object.get_absolute_url}}"
data-dismiss="modal">{% trans "Cancel" %}</a> data-dismiss="modal">{% trans "Cancel" %}</a>
<button class="btn btn-{{ opview.effect }}" type="submit" id="op-form-send"> <button class="btn btn-{{ opview.effect }}" type="submit" id="op-form-send">
{% if opview.icon %}<i class="icon-{{opview.icon}}"></i> {% endif %}{{ op|capfirst }} {% if opview.icon %}<i class="fa fa-{{opview.icon}}"></i> {% endif %}{{ op|capfirst }}
</button> </button>
</div> </div>
</form> </form>
{% extends "dashboard/base.html" %} {% extends "dashboard/base.html" %}
{% load i18n %} {% load i18n %}
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% block title-page %}{{ profile.username}} | {% trans "Profile" %}{% endblock %} {% block title-page %}{{ profile.username}} | {% trans "Profile" %}{% endblock %}
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<div class="panel-heading"> <div class="panel-heading">
<a class="pull-right btn btn-default btn-xs" href="{% url "dashboard.index" %}">{% trans "Back" %}</a> <a class="pull-right btn btn-default btn-xs" href="{% url "dashboard.index" %}">{% trans "Back" %}</a>
<h3 class="no-margin"> <h3 class="no-margin">
<i class="icon-user"></i> <i class="fa fa-user"></i>
{% include "dashboard/_display-name.html" with user=profile show_org=True %} {% include "dashboard/_display-name.html" with user=profile show_org=True %}
</h3> </h3>
</div> </div>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<p>{% trans "First name" %}: {{ profile.first_name|default:"-" }}</p> <p>{% trans "First name" %}: {{ profile.first_name|default:"-" }}</p>
<p>{% trans "Last name" %}: {{ profile.last_name|default:"-" }}</p> <p>{% trans "Last name" %}: {{ profile.last_name|default:"-" }}</p>
<p> <p>
{% if perm_email %} {% if perm_email %}
{% trans "Email address" %}: {{ profile.email }} {% trans "Email address" %}: {{ profile.email }}
{% endif %} {% endif %}
</p> </p>
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
{% if perm_group_list %} {% if perm_group_list %}
<hr /> <hr />
<h4> <h4>
<i class="icon-group"></i> {% trans "Groups" %} <i class="fa fa-group"></i> {% trans "Groups" %}
</h4> </h4>
<ul class="dashboard-profile-group-list"> <ul class="dashboard-profile-group-list">
{% for g in groups %} {% for g in groups %}
...@@ -61,14 +61,14 @@ ...@@ -61,14 +61,14 @@
<hr /> <hr />
<h4> <h4>
<i class="icon-desktop"></i> <i class="fa fa-desktop"></i>
{% trans "Virtual machines owned by the user" %} ({{ instances_owned|length }}) {% trans "Virtual machines owned by the user" %} ({{ instances_owned|length }})
</h4> </h4>
<ul class="dashboard-profile-vm-list"> <ul class="dashboard-profile-vm-list">
{% for i in instances_owned %} {% for i in instances_owned %}
<li> <li>
<a href="{{ i.get_absolute_url }}"> <a href="{{ i.get_absolute_url }}">
<i class="icon-li {{ i.get_status_icon }}"></i> <i class="fa fa-li {{ i.get_status_icon }}"></i>
{{ i }} {{ i }}
</a> </a>
</li> </li>
...@@ -82,14 +82,14 @@ ...@@ -82,14 +82,14 @@
<hr /> <hr />
<h4> <h4>
<i class="icon-desktop"></i> <i class="fa fa-desktop"></i>
{% trans "Virtual machines with access" %} ({{ instances_with_access|length }}) {% trans "Virtual machines with access" %} ({{ instances_with_access|length }})
</h4> </h4>
<ul class="dashboard-profile-vm-list"> <ul class="dashboard-profile-vm-list">
{% for i in instances_with_access %} {% for i in instances_with_access %}
<li> <li>
<a href="{{ i.get_absolute_url }}"> <a href="{{ i.get_absolute_url }}">
<i class="icon-li {{ i.get_status_icon }}"></i> <i class="fa fa-li {{ i.get_status_icon }}"></i>
{{ i }} {{ i }}
</a> </a>
</li> </li>
......
{% extends "dashboard/base.html" %} {% extends "dashboard/base.html" %}
{% load i18n %} {% load i18n %}
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% load render_table from django_tables2 %} {% load render_table from django_tables2 %}
{% block title-page %}{% trans "Profile" %}{% endblock %} {% block title-page %}{% trans "Profile" %}{% endblock %}
...@@ -11,10 +11,10 @@ ...@@ -11,10 +11,10 @@
<div class="col-md-12"> <div class="col-md-12">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<a class="pull-right btn btn-default btn-xs" <a class="pull-right btn btn-default btn-xs"
href="{% url "dashboard.views.profile" username=object.user.username %}"> href="{% url "dashboard.views.profile" username=object.user.username %}">
{% trans "Go to my profile" %}</a> {% trans "Go to my profile" %}</a>
<h3 class="no-margin"><i class="icon-desktop"></i> {% trans "My profile" %}</h3> <h3 class="no-margin"><i class="fa fa-desktop"></i> {% trans "My profile" %}</h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
<div class="row"> <div class="row">
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
<fieldset> <fieldset>
<legend>{% trans "Current avatar" %}</legend> <legend>{% trans "Current avatar" %}</legend>
<p> <p>
<img id="dashboard-profile-avatar" <img id="dashboard-profile-avatar"
class="img-rounded" src="{{ object.get_avatar_url }}"/> class="img-rounded" src="{{ object.get_avatar_url }}"/>
</p> </p>
<p> <p>
...@@ -55,9 +55,9 @@ ...@@ -55,9 +55,9 @@
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<a href="{% url "dashboard.views.userkey-create" %}" class="pull-right btn btn-success btn-xs" style="margin-right: 10px;"> <a href="{% url "dashboard.views.userkey-create" %}" class="pull-right btn btn-success btn-xs" style="margin-right: 10px;">
<i class="icon-plus"></i> {% trans "add SSH key" %} <i class="fa fa-plus"></i> {% trans "add SSH key" %}
</a> </a>
<h3 class="no-margin"><i class="icon-key"></i> {% trans "SSH public keys" %}</h3> <h3 class="no-margin"><i class="fa fa-key"></i> {% trans "SSH public keys" %}</h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
{% render_table userkey_table %} {% render_table userkey_table %}
......
{% extends "dashboard/base.html" %} {% extends "dashboard/base.html" %}
{% load i18n %} {% load i18n %}
{% load sizefieldtags %} {% load sizefieldtags %}
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% block title-page %}{% trans "Edit template" %}{% endblock %} {% block title-page %}{% trans "Edit template" %}{% endblock %}
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<a class="pull-right btn btn-default btn-xs" href="{% url "dashboard.views.template-list" %}">{% trans "Back" %}</a> <a class="pull-right btn btn-default btn-xs" href="{% url "dashboard.views.template-list" %}">{% trans "Back" %}</a>
<h3 class="no-margin"><i class="icon-puzzle-piece"></i> {% trans "Edit template" %}</h3> <h3 class="no-margin"><i class="fa fa-puzzle-piece"></i> {% trans "Edit template" %}</h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
{% with form=form %} {% with form=form %}
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<div class="col-md-5"> <div class="col-md-5">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<h4 class="no-margin"><i class="icon-group"></i> {% trans "Manage access" %}</h4> <h4 class="no-margin"><i class="fa fa-group"></i> {% trans "Manage access" %}</h4>
</div> </div>
<div class="panel-body"> <div class="panel-body">
<form action="{% url "dashboard.views.template-acl" pk=object.pk %}" method="post">{% csrf_token %} <form action="{% url "dashboard.views.template-acl" pk=object.pk %}" method="post">{% csrf_token %}
...@@ -36,14 +36,14 @@ ...@@ -36,14 +36,14 @@
<th></th> <th></th>
<th>{% trans "Who" %}</th> <th>{% trans "Who" %}</th>
<th>{% trans "What" %}</th> <th>{% trans "What" %}</th>
<th><i class="icon-remove"></i></th> <th><i class="fa fa-times"></i></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for i in acl.users %} {% for i in acl.users %}
<tr> <tr>
<td> <td>
<i class="icon-user"></i> <i class="fa fa-user"></i>
</td> </td>
<td> <td>
<a href="{% url "dashboard.views.profile" username=i.user.username %}" <a href="{% url "dashboard.views.profile" username=i.user.username %}"
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
{% endfor %} {% endfor %}
{% for i in acl.groups %} {% for i in acl.groups %}
<tr> <tr>
<td><i class="icon-group"></i></td> <td><i class="fa fa-group"></i></td>
<td> <td>
<a href="{% url "dashboard.views.group-detail" pk=i.group.pk %}"> <a href="{% url "dashboard.views.group-detail" pk=i.group.pk %}">
{{i.group}} {{i.group}}
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</td> </td>
</tr> </tr>
{% endfor %} {% endfor %}
<tr><td><i class="icon-plus"></i></td> <tr><td><i class="fa fa-plus"></i></td>
<td><input type="text" class="form-control" name="perm-new-name" <td><input type="text" class="form-control" name="perm-new-name"
placeholder="{% trans "Name of group or user" %}"></td> placeholder="{% trans "Name of group or user" %}"></td>
<td><select class="form-control" name="perm-new"> <td><select class="form-control" name="perm-new">
...@@ -100,11 +100,11 @@ ...@@ -100,11 +100,11 @@
</form> </form>
</div> </div>
</div> </div>
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<h4 class="no-margin"><i class="icon-file"></i> {% trans "Disk list" %}</h4> <h4 class="no-margin"><i class="fa fa-file"></i> {% trans "Disk list" %}</h4>
</div> </div>
<div class="panel-body"> <div class="panel-body">
<ul class="template-disk-list"> <ul class="template-disk-list">
......
...@@ -11,9 +11,9 @@ ...@@ -11,9 +11,9 @@
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<a href="{% url "dashboard.views.template-create" %}" class="pull-right btn btn-success btn-xs"> <a href="{% url "dashboard.views.template-create" %}" class="pull-right btn btn-success btn-xs">
<i class="icon-plus"></i> {% trans "new base vm" %} <i class="fa fa-plus"></i> {% trans "new base vm" %}
</a> </a>
<h3 class="no-margin"><i class="icon-puzzle-piece"></i> {% trans "Templates" %}</h3> <h3 class="no-margin"><i class="fa fa-puzzle-piece"></i> {% trans "Templates" %}</h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
{% render_table table %} {% render_table table %}
...@@ -28,10 +28,10 @@ ...@@ -28,10 +28,10 @@
<div class="panel-heading"> <div class="panel-heading">
{% if perms.vm.create_leases %} {% if perms.vm.create_leases %}
<a href="{% url "dashboard.views.lease-create" %}" class="pull-right btn btn-success btn-xs" style="margin-right: 10px;"> <a href="{% url "dashboard.views.lease-create" %}" class="pull-right btn btn-success btn-xs" style="margin-right: 10px;">
<i class="icon-plus"></i> {% trans "new lease" %} <i class="fa fa-plus"></i> {% trans "new lease" %}
</a> </a>
{% endif %} {% endif %}
<h3 class="no-margin"><i class="icon-time"></i> {% trans "Leases" %}</h3> <h3 class="no-margin"><i class="fa fa-time"></i> {% trans "Leases" %}</h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
<div class="" style="max-width: 600px;"> <div class="" style="max-width: 600px;">
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
<div class="col-md-6"> <div class="col-md-6">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<h3 class="no-margin"><i class="icon-desktop"></i> Placeholder</h3> <h3 class="no-margin"><i class="fa fa-desktop"></i> Placeholder</h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
??? ???
......
{% load i18n %} {% load i18n %}
<a href="{% url "dashboard.views.lease-detail" pk=record.pk %}" id="template-list-edit-button" class="btn btn-default btn-xs" title data-original-title="{% trans "Edit" %}"> <a href="{% url "dashboard.views.lease-detail" pk=record.pk %}" id="template-list-edit-button" class="btn btn-default btn-xs" title data-original-title="{% trans "Edit" %}">
<i class="icon-edit"></i> <i class="fa fa-edit"></i>
</a> </a>
<a data-lease-pk="{{ record.pk }}" href="{% url "dashboard.views.lease-delete" pk=record.pk %}" class="btn btn-danger btn-xs lease-delete" title="{% trans "Delete" %}"> <a data-lease-pk="{{ record.pk }}" href="{% url "dashboard.views.lease-delete" pk=record.pk %}" class="btn btn-danger btn-xs lease-delete" title="{% trans "Delete" %}">
<i class="icon-remove"></i> <i class="fa fa-times"></i>
</a> </a>
{% load i18n %} {% load i18n %}
<a href="{% url "dashboard.views.template-detail" pk=record.pk%}" id="template-list-edit-button" class="btn btn-default btn-xs" title="{% trans "Edit" %}"> <a href="{% url "dashboard.views.template-detail" pk=record.pk%}" id="template-list-edit-button" class="btn btn-default btn-xs" title="{% trans "Edit" %}">
<i class="icon-edit"></i> <i class="fa fa-edit"></i>
</a> </a>
<a data-template-pk="{{ record.pk }}" href="{% url "dashboard.views.template-delete" pk=record.pk %}" class="btn btn-danger btn-xs template-delete" title="{% trans "Delete" %}"> <a data-template-pk="{{ record.pk }}" href="{% url "dashboard.views.template-delete" pk=record.pk %}" class="btn btn-danger btn-xs template-delete" title="{% trans "Delete" %}">
<i class="icon-remove"></i> <i class="fa fa-times"></i>
</a> </a>
{% extends "dashboard/base.html" %} {% extends "dashboard/base.html" %}
{% load i18n %} {% load i18n %}
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% block title-page %}{% trans "Create SSH public key" %}{% endblock %} {% block title-page %}{% trans "Create SSH public key" %}{% endblock %}
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<a class="pull-right btn btn-default btn-xs" href="{% url "dashboard.views.profile-preferences" %}">{% trans "Back" %}</a> <a class="pull-right btn btn-default btn-xs" href="{% url "dashboard.views.profile-preferences" %}">{% trans "Back" %}</a>
<h3 class="no-margin"><i class="icon-key"></i> {% trans "Create SSH public key" %}</h3> <h3 class="no-margin"><i class="fa fa-key"></i> {% trans "Create SSH public key" %}</h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
{% crispy form %} {% crispy form %}
......
{% extends "dashboard/base.html" %} {% extends "dashboard/base.html" %}
{% load i18n %} {% load i18n %}
{% load sizefieldtags %} {% load sizefieldtags %}
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% block title-page %}{% trans "Edit SSH public key" %}{% endblock %} {% block title-page %}{% trans "Edit SSH public key" %}{% endblock %}
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<a class="pull-right btn btn-default btn-xs" href="{% url "dashboard.views.profile-preferences" %}">{% trans "Back" %}</a> <a class="pull-right btn btn-default btn-xs" href="{% url "dashboard.views.profile-preferences" %}">{% trans "Back" %}</a>
<h3 class="no-margin"><i class="icon-key"></i> {% trans "Edit SSH public key" %}</h3> <h3 class="no-margin"><i class="fa fa-key"></i> {% trans "Edit SSH public key" %}</h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
{% crispy form %} {% crispy form %}
......
{% load i18n %} {% load i18n %}
<a href="{% url "dashboard.views.userkey-detail" pk=record.pk%}" id="template-list-edit-button" class="btn btn-default btn-xs" title="{% trans "Edit" %}"> <a href="{% url "dashboard.views.userkey-detail" pk=record.pk%}" id="template-list-edit-button" class="btn btn-default btn-xs" title="{% trans "Edit" %}">
<i class="icon-edit"></i> <i class="fa fa-edit"></i>
</a> </a>
<a data-template-pk="{{ record.pk }}" href="{% url "dashboard.views.userkey-delete" pk=record.pk %}" class="btn btn-danger btn-xs template-delete" title="{% trans "Delete" %}"> <a data-template-pk="{{ record.pk }}" href="{% url "dashboard.views.userkey-delete" pk=record.pk %}" class="btn btn-danger btn-xs template-delete" title="{% trans "Delete" %}">
<i class="icon-remove"></i> <i class="fa fa-times"></i>
</a> </a>
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<strong>{% trans "This is the master vm of your new template" %}</strong> <strong>{% trans "This is the master vm of your new template" %}</strong>
<div id="vm-details-template-tour-button" class="pull-right"> <div id="vm-details-template-tour-button" class="pull-right">
<a href="#" class="btn btn-default btn-lg pull-right vm-details-start-template-tour"> <a href="#" class="btn btn-default btn-lg pull-right vm-details-start-template-tour">
<i class="icon-play"></i> {% trans "Start template tutorial" %} <i class="fa fa-play"></i> {% trans "Start template tutorial" %}
</a> </a>
</div> </div>
<ol> <ol>
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
<form action="" method="POST" id="vm-details-rename-form"> <form action="" method="POST" id="vm-details-rename-form">
{% csrf_token %} {% csrf_token %}
<div class="input-group vm-details-home-name"> <div class="input-group vm-details-home-name">
<input id="vm-details-rename-name" class="form-control input-sm" name="new_name" type="text" value="{{ instance.name }}"/> <input id="vm-details-rename-name" class="form-control input-sm" name="new_name" type="text" value="{{ instance.name }}"/>
<span class="input-group-btn"> <span class="input-group-btn">
<button type="submit" class="btn btn-sm vm-details-rename-submit">{% trans "Rename" %}</button> <button type="submit" class="btn btn-sm vm-details-rename-submit">{% trans "Rename" %}</button>
</span> </span>
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
</form> </form>
</div> </div>
<div id="vm-details-h1-name" class="vm-details-home-edit-name"> <div id="vm-details-h1-name" class="vm-details-home-edit-name">
{{ instance.name }} {{ instance.name }}
</div> </div>
<small>{{ instance.primary_host.get_fqdn }}</small> <small>{{ instance.primary_host.get_fqdn }}</small>
</h1> </h1>
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
<div class="col-md-4" id="vm-info-pane"> <div class="col-md-4" id="vm-info-pane">
<div class="big"> <div class="big">
<span id="vm-details-state" class="label label-success"> <span id="vm-details-state" class="label label-success">
<i class="{{ instance.get_status_icon }}"></i> <i class="fa {{ instance.get_status_icon }}"></i>
<span>{{ instance.get_status_display|upper }}</span> <span>{{ instance.get_status_display|upper }}</span>
</span> </span>
</div> </div>
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
{% if instance.get_connect_port %} {% if instance.get_connect_port %}
{{ instance.get_connect_host }}:<strong>{{ instance.get_connect_port }}</strong> {{ instance.get_connect_host }}:<strong>{{ instance.get_connect_port }}</strong>
{% else %} {% else %}
<strong>{% trans "The required port for this protocol is not forwarded." %}</strong> <strong>{% trans "The required port for this protocol is not forwarded." %}</strong>
{% endif %} {% endif %}
</dd> </dd>
...@@ -90,10 +90,10 @@ ...@@ -90,10 +90,10 @@
<dt>{% trans "Password" %}</dt> <dt>{% trans "Password" %}</dt>
<dd> <dd>
<div class="input-group"> <div class="input-group">
<input type="text" id="vm-details-pw-input" class="form-control input-sm input-tags" <input type="text" id="vm-details-pw-input" class="form-control input-sm input-tags"
value="{{ instance.pw }}" spellcheck="false"/> value="{{ instance.pw }}" spellcheck="false"/>
<span class="input-group-addon input-tags" id="vm-details-pw-show"> <span class="input-group-addon input-tags" id="vm-details-pw-show">
<i class="icon-eye-open" id="vm-details-pw-eye" title="Show password"></i> <i class="fa fa-eye" id="vm-details-pw-eye" title="Show password"></i>
</span> </span>
</div> </div>
</dd> </dd>
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
{% trans "Are you sure?" %} {% trans "Are you sure?" %}
</dt> </dt>
<dd> <dd>
<a href="#" class="vm-details-pw-confirm-choice label label-success" data-choice="1" data-vm="{{ instance.pk }}">{% trans "Yes" %}</a> / <a href="#" class="vm-details-pw-confirm-choice label label-success" data-choice="1" data-vm="{{ instance.pk }}">{% trans "Yes" %}</a> /
<a href="#" class="vm-details-pw-confirm-choice label label-danger" data-choice="0">{% trans "No" %}</a> <a href="#" class="vm-details-pw-confirm-choice label label-danger" data-choice="0">{% trans "No" %}</a>
</dd> </dd>
</div> </div>
...@@ -113,12 +113,12 @@ ...@@ -113,12 +113,12 @@
<div class="input-group" id="dashboard-vm-details-connect-command"> <div class="input-group" id="dashboard-vm-details-connect-command">
<span class="input-group-addon input-tags">{% trans "Command" %}</span> <span class="input-group-addon input-tags">{% trans "Command" %}</span>
<input type="text" spellcheck="false" <input type="text" spellcheck="false"
value="{% if instance.get_connect_command %}{{ instance.get_connect_command }}{% else %} value="{% if instance.get_connect_command %}{{ instance.get_connect_command }}{% else %}
{% trans "Connection is not possible." %}{% endif %}" {% trans "Connection is not possible." %}{% endif %}"
id="vm-details-connection-string" class="form-control input-tags" /> id="vm-details-connection-string" class="form-control input-tags" />
<span class="input-group-addon input-tags" id="vm-details-connection-string-copy"> <span class="input-group-addon input-tags" id="vm-details-connection-string-copy">
<i class="icon-copy" title="{% trans "Select all" %}"></i> <i class="fa fa-copy" title="{% trans "Select all" %}"></i>
</span> </span>
</div> </div>
</div> </div>
...@@ -127,31 +127,31 @@ ...@@ -127,31 +127,31 @@
<ul class="nav nav-pills panel-heading"> <ul class="nav nav-pills panel-heading">
<li class="active"> <li class="active">
<a href="#home" data-toggle="pill" data-target="#_home" class="text-center"> <a href="#home" data-toggle="pill" data-target="#_home" class="text-center">
<i class="icon-compass icon-2x"></i><br> <i class="fa fa-compass fa-2x"></i><br>
{% trans "Home" %}</a> {% trans "Home" %}</a>
</li> </li>
<li> <li>
<a href="#resources" data-toggle="pill" data-target="#_resources" class="text-center"> <a href="#resources" data-toggle="pill" data-target="#_resources" class="text-center">
<i class="icon-tasks icon-2x"></i><br> <i class="fa fa-tasks fa-2x"></i><br>
{% trans "Resources" %}</a> {% trans "Resources" %}</a>
</li> </li>
<li{% if not instance.is_console_available %} class="disabled"{% endif %}> <li{% if not instance.is_console_available %} class="disabled"{% endif %}>
<a href="#console" data-toggle="pill" data-target="#_console" class="text-center"> <a href="#console" data-toggle="pill" data-target="#_console" class="text-center">
<i class="icon-desktop icon-2x"></i><br> <i class="fa fa-desktop fa-2x"></i><br>
{% trans "Console" %}</a></li> {% trans "Console" %}</a></li>
<li> <li>
<a href="#access" data-toggle="pill" data-target="#_access" class="text-center"> <a href="#access" data-toggle="pill" data-target="#_access" class="text-center">
<i class="icon-group icon-2x"></i><br> <i class="fa fa-group fa-2x"></i><br>
{% trans "Access" %}</a> {% trans "Access" %}</a>
</li> </li>
<li> <li>
<a href="#network" data-toggle="pill" data-target="#_network" class="text-center"> <a href="#network" data-toggle="pill" data-target="#_network" class="text-center">
<i class="icon-globe icon-2x"></i><br> <i class="fa fa-globe fa-2x"></i><br>
{% trans "Network" %}</a> {% trans "Network" %}</a>
</li> </li>
<li> <li>
<a href="#activity" data-toggle="pill" data-target="#_activity" class="text-center"> <a href="#activity" data-toggle="pill" data-target="#_activity" class="text-center">
<i class="icon-time icon-2x"></i><br> <i class="fa fa-clock-o fa-2x"></i><br>
{% trans "Activity" %}</a> {% trans "Activity" %}</a>
</li> </li>
</ul> </ul>
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
{% for a in activities %} {% for a in activities %}
<div class="activity{% if a.pk == active.pk %} activity-active{%endif%}" data-activity-id="{{ a.pk }}"> <div class="activity{% if a.pk == active.pk %} activity-active{%endif%}" data-activity-id="{{ a.pk }}">
<span class="timeline-icon{% if a.has_failed %} timeline-icon-failed{% endif %}"> <span class="timeline-icon{% if a.has_failed %} timeline-icon-failed{% endif %}">
<i class="{% if not a.finished %} icon-refresh icon-spin {% else %}icon-plus{% endif %}"></i> <i class="fa {% if not a.finished %}fa-refresh fa-spin {% else %}fa-plus{% endif %}"></i>
</span> </span>
<strong{% if user.is_superuser and a.result %} title="{{ a.result }}"{% endif %}> <strong{% if user.is_superuser and a.result %} title="{{ a.result }}"{% endif %}>
{% if user.is_superuser %}<a href="{{ a.get_absolute_url }}">{% endif %} {% if user.is_superuser %}<a href="{{ a.get_absolute_url }}">{% endif %}
{% if a.times > 1 %}({{ a.times }}x){% endif %} {% if a.times > 1 %}({{ a.times }}x){% endif %}
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
- {{ a.percentage }}% - {{ a.percentage }}%
{% endif %} {% endif %}
</strong> </strong>
{% if a.times < 2%}{{ a.started|date:"Y-m-d H:i" }}{% endif %}{% if a.user %}, {% if a.times < 2%}{{ a.started|date:"Y-m-d H:i" }}{% endif %}{% if a.user %},
<a class="no-style-link" href="{% url "dashboard.views.profile" username=a.user.username %}"> <a class="no-style-link" href="{% url "dashboard.views.profile" username=a.user.username %}">
{% include "dashboard/_display-name.html" with user=a.user show_org=True %} {% include "dashboard/_display-name.html" with user=a.user show_org=True %}
</a> </a>
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
{% csrf_token %} {% csrf_token %}
<input type="hidden" name="abort_operation"/> <input type="hidden" name="abort_operation"/>
<input type="hidden" name="activity" value="{{ a.pk }}"/> <input type="hidden" name="activity" value="{{ a.pk }}"/>
<button class="btn btn-danger btn-xs"><i class="icon-bolt"></i> {% trans "Abort" %}</button> <button class="btn btn-danger btn-xs"><i class="fa fa-bolt"></i> {% trans "Abort" %}</button>
</form> </form>
{% endif %} {% endif %}
{% if a.children.count > 0 %} {% if a.children.count > 0 %}
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
{% if s.finished %} {% if s.finished %}
{{ s.finished|time:"H:i:s" }} {{ s.finished|time:"H:i:s" }}
{% else %} {% else %}
<i class="icon-refresh icon-spin" class="sub-activity-loading-icon"></i> <i class="fa fa-refresh fa-spin" class="sub-activity-loading-icon"></i>
{% endif %} {% endif %}
{% if s.has_failed %} {% if s.has_failed %}
<div class="label label-danger">{% trans "failed" %}</div> <div class="label label-danger">{% trans "failed" %}</div>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
{% if op.is_disk_operation %} {% if op.is_disk_operation %}
<a href="{{op.get_url}}" class="btn btn-success btn-xs <a href="{{op.get_url}}" class="btn btn-success btn-xs
operation operation-{{op.op}} btn btn-default"> operation operation-{{op.op}} btn btn-default">
<i class="icon-{{op.icon}}"></i> <i class="fa fa-{{op.icon}}"></i>
{{op.name}} </a> {{op.name}} </a>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% load i18n %} {% load i18n %}
<div class="vm-details-network-port-add pull-right"> <div class="vm-details-network-port-add pull-right">
<form action="" method="POST"> <form action="" method="POST">
{% csrf_token %} {% csrf_token %}
<input type="hidden" name="host_pk" value="{{ i.host.pk }}"/> <input type="hidden" name="host_pk" value="{{ i.host.pk }}"/>
<div class="input-group input-group-sm"> <div class="input-group input-group-sm">
<span class="input-group-addon"> <span class="input-group-addon">
<i class="icon-plus"></i> <i class="icon-long-arrow-right"></i> <i class="fa fa-plus"></i> <i class="fa fa-long-arrow-right"></i>
</span> </span>
<input type="text" class="form-control" size="5" style="width: 80px;" name="port"/> <input type="text" class="form-control" size="5" style="width: 80px;" name="port"/>
<span class="input-group-addon">/</span> <span class="input-group-addon">/</span>
<select class="form-control" name="proto" style="width: 70px;"><option>tcp</option><option>udp</option></select> <select class="form-control" name="proto" style="width: 70px;"><option>tcp</option><option>udp</option></select>
<div class="input-group-btn"> <div class="input-group-btn">
<button type="submit" class="btn btn-success btn-sm">{% trans "Add" %}</button> <button type="submit" class="btn btn-success btn-sm">{% trans "Add" %}</button>
</div> </div>
</div> </div>
</form> </form>
</div> </div>
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<a href="{{op.get_url}}" class="operation operation-{{op.op}} btn <a href="{{op.get_url}}" class="operation operation-{{op.op}} btn
btn-{{op.effect}} btn-xs" title="{{op.name}}: {{op.description}}"> btn-{{op.effect}} btn-xs" title="{{op.name}}: {{op.description}}">
{% endif %} {% endif %}
<i class="icon-{{op.icon}}"></i> <i class="fa fa-{{op.icon}}"></i>
<span{% if not op.is_preferred %} class="sr-only"{% endif %}>{{op.name}}</span> <span{% if not op.is_preferred %} class="sr-only"{% endif %}>{{op.name}}</span>
{% if op.disabled %} {% if op.disabled %}
</span> </span>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<tbody> <tbody>
{% for i in acl.users %} {% for i in acl.users %}
<tr> <tr>
<td><i class="icon-user"></i></td> <td><i class="fa fa-user"></i></td>
<td> <td>
<a href="{% url "dashboard.views.profile" username=i.user.username %}" title="{{ i.user.username }}" <a href="{% url "dashboard.views.profile" username=i.user.username %}" title="{{ i.user.username }}"
>{% include "dashboard/_display-name.html" with user=i.user show_org=True %}</a> >{% include "dashboard/_display-name.html" with user=i.user show_org=True %}</a>
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
{% endfor %} {% endfor %}
{% for i in acl.groups %} {% for i in acl.groups %}
<tr> <tr>
<td><i class="icon-group"></i></td> <td><i class="fa fa-group"></i></td>
<td> <td>
<a href="{% url "dashboard.views.group-detail" pk=i.group.pk %}" <a href="{% url "dashboard.views.group-detail" pk=i.group.pk %}"
>{{ i.group.name }}</a> >{{ i.group.name }}</a>
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
</td> </td>
</tr> </tr>
{% endfor %} {% endfor %}
<tr><td><i class="icon-plus"></i></td> <tr><td><i class="fa fa-plus"></i></td>
<td><input type="text" class="form-control" name="perm-new-name" <td><input type="text" class="form-control" name="perm-new-name"
placeholder="{% trans "Name of group or user" %}"></td> placeholder="{% trans "Name of group or user" %}"></td>
<td><select class="form-control" name="perm-new"> <td><select class="form-control" name="perm-new">
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<button id="sendCtrlAltDelButton" class="btn btn-danger btn-sm">{% trans "Send Ctrl+Alt+Del" %}</button> <button id="sendCtrlAltDelButton" class="btn btn-danger btn-sm">{% trans "Send Ctrl+Alt+Del" %}</button>
<button id="sendPasswordButton" class="btn btn-default btn-sm">{% trans "Type password" %}</button> <button id="sendPasswordButton" class="btn btn-default btn-sm">{% trans "Type password" %}</button>
{% endif %} {% endif %}
<button id="getScreenshotButton" class="btn btn-info btn-sm pull-right" data-vm-pk="{{ instance.pk }}"><i class="icon-picture"></i> {% trans "Screenshot" %}</button> <button id="getScreenshotButton" class="btn btn-info btn-sm pull-right" data-vm-pk="{{ instance.pk }}"><i class="fa fa-picture"></i> {% trans "Screenshot" %}</button>
</div> </div>
{% if perms.vm.access_console %} {% if perms.vm.access_console %}
<div class="alert alert-info" id="noVNC_status"> <div class="alert alert-info" id="noVNC_status">
......
...@@ -3,10 +3,10 @@ ...@@ -3,10 +3,10 @@
<div class="col-md-4"> <div class="col-md-4">
<dl> <dl>
<dt>{% trans "System" %}:</dt> <dt>{% trans "System" %}:</dt>
<dd><i class="icon-{{ os_type_icon }}"></i> {{ instance.system }}</dd> <dd><i class="fa fa-{{ os_type_icon }}"></i> {{ instance.system }}</dd>
<dt style="margin-top: 5px;"> <dt style="margin-top: 5px;">
{% trans "Name" %}: {% trans "Name" %}:
<a href="#" class="vm-details-home-edit-name-click"><i class="icon-pencil"></i></a> <a href="#" class="vm-details-home-edit-name-click"><i class="fa fa-pencil"></i></a>
</dt> </dt>
<dd> <dd>
<div class="vm-details-home-edit-name-click"> <div class="vm-details-home-edit-name-click">
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<input type="text" name="new_name" value="{{ instance.name }}" class="form-control input-sm"/> <input type="text" name="new_name" value="{{ instance.name }}" class="form-control input-sm"/>
<span class="input-group-btn"> <span class="input-group-btn">
<button type="submit" class="btn btn-success btn-sm vm-details-rename-submit"> <button type="submit" class="btn btn-success btn-sm vm-details-rename-submit">
<i class="icon-pencil"></i> {% trans "Rename" %} <i class="fa fa-pencil"></i> {% trans "Rename" %}
</button> </button>
</span> </span>
</div> </div>
...@@ -27,8 +27,8 @@ ...@@ -27,8 +27,8 @@
</div> </div>
</dd> </dd>
<dt style="margin-top: 5px;"> <dt style="margin-top: 5px;">
{% trans "Description" %}: {% trans "Description" %}:
<a href="#" class="vm-details-home-edit-description-click"><i class="icon-pencil"></i></a> <a href="#" class="vm-details-home-edit-description-click"><i class="fa fa-pencil"></i></a>
</dt> </dt>
<dd> <dd>
{% csrf_token %} {% csrf_token %}
...@@ -39,26 +39,26 @@ ...@@ -39,26 +39,26 @@
<form method="POST"> <form method="POST">
<textarea name="new_description" class="form-control">{{ instance.description }}</textarea> <textarea name="new_description" class="form-control">{{ instance.description }}</textarea>
<button type="submit" class="btn btn-xs btn-success vm-details-description-submit"> <button type="submit" class="btn btn-xs btn-success vm-details-description-submit">
<i class="icon-pencil"></i> {% trans "Update" %} <i class="fa fa-pencil"></i> {% trans "Update" %}
</button> </button>
</form> </form>
</div> </div>
</dd> </dd>
</dl> </dl>
<h4>{% trans "Expiration" %} {% if instance.is_expiring %}<i class="icon-warning-sign text-danger"></i>{% endif %} <h4>{% trans "Expiration" %} {% if instance.is_expiring %}<i class="fa fa-warning-sign text-danger"></i>{% endif %}
{% with op=op.renew %} {% with op=op.renew %}
<a href="{{op.get_url}}" class="btn btn-success btn-xs <a href="{{op.get_url}}" class="btn btn-success btn-xs
operation operation-{{op.op}} btn btn-default"> operation operation-{{op.op}} btn btn-default">
<i class="icon-{{op.icon}}"></i> <i class="fa fa-{{op.icon}}"></i>
{{op.name}} </a> {{op.name}} </a>
{% endwith %} {% endwith %}
</h4> </h4>
<dl> <dl>
<dt>{% trans "Suspended at:" %}</dt> <dt>{% trans "Suspended at:" %}</dt>
<dd><i class="icon-moon"></i> {{ instance.time_of_suspend|timeuntil }}</dd> <dd><i class="fa fa-moon"></i> {{ instance.time_of_suspend|timeuntil }}</dd>
<dt>{% trans "Destroyed at:" %}</dt> <dt>{% trans "Destroyed at:" %}</dt>
<dd><i class="icon-remove"></i> {{ instance.time_of_delete|timeuntil }}</dd> <dd><i class="fa fa-times"></i> {{ instance.time_of_delete|timeuntil }}</dd>
</dl> </dl>
<div style="font-weight: bold;">{% trans "Tags" %}</div> <div style="font-weight: bold;">{% trans "Tags" %}</div>
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
{% for t in instance.tags.all %} {% for t in instance.tags.all %}
<div class="label label-primary label-tag" style="display: inline-block"> <div class="label label-primary label-tag" style="display: inline-block">
{{ t }} {{ t }}
<a href="#" class="vm-details-remove-tag"><i class="icon-remove"></i></a> <a href="#" class="vm-details-remove-tag"><i class="fa fa-times"></i></a>
</div> </div>
{% endfor %} {% endfor %}
{% else %} {% else %}
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
<div class="input-group" id="vm-details-tags-form"> <div class="input-group" id="vm-details-tags-form">
<input type="text" class="form-control input-sm input-tags" name="new_tag" id="vm-details-tags-input"/> <input type="text" class="form-control input-sm input-tags" name="new_tag" id="vm-details-tags-input"/>
<!--<div class="input-group-addon"> <!--<div class="input-group-addon">
<i class="icon-question"></i> <i class="fa fa-question"></i>
</div>--> </div>-->
<div class="input-group-btn"> <div class="input-group-btn">
<input type="submit" class="btn btn-default btn-sm input-tags" value="{% trans "Add tag" %}"/> <input type="submit" class="btn btn-default btn-sm input-tags" value="{% trans "Add tag" %}"/>
......
{% load i18n %} {% load i18n %}
{% load network_tags %} {% load network_tags %}
<h2> <h2>
<a href="#" id="vm-details-network-add" class="btn btn-success pull-right no-js-hidden"> <a href="#" id="vm-details-network-add" class="btn btn-success pull-right no-js-hidden">
<i class="icon-plus"></i> {% trans "add interface" %} <i class="fa fa-plus"></i> {% trans "add interface" %}
</a> </a>
{% trans "Interfaces" %} {% trans "Interfaces" %}
</h2> </h2>
...@@ -33,25 +33,25 @@ ...@@ -33,25 +33,25 @@
</select> </select>
<div class="input-group-btn"> <div class="input-group-btn">
<button {% if vlans|length == 0 %}disabled{% endif %} <button {% if vlans|length == 0 %}disabled{% endif %}
type="submit" class="btn btn-success"><i class="icon-plus-sign"></i></button> type="submit" class="btn btn-success"><i class="fa fa-plus-circle"></i></button>
</div> </div>
</div> </div>
</form> </form>
<hr /> <hr />
</div> </div>
</div> </div>
</div> </div>
{% for i in instance.interface_set.all %} {% for i in instance.interface_set.all %}
<div> <div>
<h3 class="list-group-item-heading dashboard-vm-details-network-h3"> <h3 class="list-group-item-heading dashboard-vm-details-network-h3">
<i class="icon-{% if i.host %}globe{% else %}link{% endif %}"></i> {{ i.vlan.name }} <i class="fa fa-{% if i.host %}globe{% else %}link{% endif %}"></i> {{ i.vlan.name }}
{% if not i.host%}({% trans "unmanaged" %}){% endif %} {% if not i.host%}({% trans "unmanaged" %}){% endif %}
{% if user.is_superuser %} {% if user.is_superuser %}
<a href="{{ i.host.get_absolute_url }}" <a href="{{ i.host.get_absolute_url }}"
class="btn btn-default btn-xs">{% trans "edit" %}</a> class="btn btn-default btn-xs">{% trans "edit" %}</a>
{% endif %} {% endif %}
<a href="{% url "dashboard.views.interface-delete" pk=i.pk %}?next={{ request.path }}" <a href="{% url "dashboard.views.interface-delete" pk=i.pk %}?next={{ request.path }}"
class="btn btn-danger btn-xs interface-remove" class="btn btn-danger btn-xs interface-remove"
data-interface-pk="{{ i.pk }}"> data-interface-pk="{{ i.pk }}">
{% trans "remove" %} {% trans "remove" %}
...@@ -85,13 +85,13 @@ ...@@ -85,13 +85,13 @@
<table class="table table-striped rule-table"> <table class="table table-striped rule-table">
<thead> <thead>
<tr><th> <tr><th>
<i class="icon-globe icon-2x"></i> <i class="fa fa-globe fa-2x"></i>
<i class="icon-long-arrow-right icon-2x"></i> <i class="fa fa-long-arrow-right fa-2x"></i>
</th><th> </th><th>
<i class="icon-shield icon-2x"></i> <i class="fa fa-shield fa-2x"></i>
</th><th colspan="2"> </th><th colspan="2">
<i class="icon-long-arrow-right icon-2x"></i> <i class="fa fa-long-arrow-right fa-2x"></i>
<i class="icon-desktop icon-2x"></i> <i class="fa fa-desktop fa-2x"></i>
</th></tr> </th></tr>
</thead> </thead>
<tbody> <tbody>
...@@ -101,12 +101,12 @@ ...@@ -101,12 +101,12 @@
<td> <td>
{% display_portforward4 l %} {% display_portforward4 l %}
</td> </td>
<td><i class="icon-long-arrow-right"></i></td> <td><i class="fa fa-long-arrow-right"></i></td>
<td> <td>
{{ l.private }}/{{ l.proto }} {{ l.private }}/{{ l.proto }}
</td> </td>
<td> <td>
<a href="{% url "dashboard.views.remove-port" pk=instance.pk rule=l.ipv4.pk %}" class="btn btn-link btn-xs vm-details-remove-port" data-rule="{{ l.ipv4.pk }}" title="{% trans "Remove" %}"><i class="icon-remove"><span class="sr-only">{% trans "Remove" %}</span></i></a> <a href="{% url "dashboard.views.remove-port" pk=instance.pk rule=l.ipv4.pk %}" class="btn btn-link btn-xs vm-details-remove-port" data-rule="{{ l.ipv4.pk }}" title="{% trans "Remove" %}"><i class="fa fa-times"><span class="sr-only">{% trans "Remove" %}</span></i></a>
</td> </td>
</tr> </tr>
{% endif %} {% endif %}
...@@ -115,15 +115,15 @@ ...@@ -115,15 +115,15 @@
</table> </table>
</div> <!-- /ipv4 --> </div> <!-- /ipv4 -->
<div class="tab-pane" id="ipv6_{{ i.host.vlan.pk }}"> <div class="tab-pane" id="ipv6_{{ i.host.vlan.pk }}">
{% if i.host.ipv6 %} {% if i.host.ipv6 %}
<table class="table table-striped rule-table"> <table class="table table-striped rule-table">
<thead> <thead>
<tr><th> <tr><th>
<i class="icon-globe icon-2x"></i> <i class="fa fa-globe fa-2x"></i>
</th><th> </th><th>
<i class="icon-long-arrow-right icon-2x"></i> <i class="fa fa-long-arrow-right fa-2x"></i>
</th><th colspan="2"> </th><th colspan="2">
<i class="icon-desktop icon-2x"></i> <i class="fa fa-desktop fa-2x"></i>
</th></tr> </th></tr>
</thead> </thead>
<tbody> <tbody>
...@@ -133,12 +133,12 @@ ...@@ -133,12 +133,12 @@
<td> <td>
{% display_portforward6 l %} {% display_portforward6 l %}
</td> </td>
<td><i class="icon-long-arrow-right"></i></td> <td><i class="fa fa-long-arrow-right"></i></td>
<td> <td>
{{ l.private }}/{{ l.proto }} {{ l.private }}/{{ l.proto }}
</td> </td>
<td> <td>
<a href="{% url "dashboard.views.remove-port" pk=instance.pk rule=l.ipv4.pk %}" class="btn btn-link btn-xs vm-details-remove-port" data-rule="{{ l.ipv6.pk }}" title="{% trans "Remove" %}"><i class="icon-remove"><span class="sr-only">{% trans "Remove" %}</span></i></a> <a href="{% url "dashboard.views.remove-port" pk=instance.pk rule=l.ipv4.pk %}" class="btn btn-link btn-xs vm-details-remove-port" data-rule="{{ l.ipv6.pk }}" title="{% trans "Remove" %}"><i class="fa fa-times"><span class="sr-only">{% trans "Remove" %}</span></i></a>
</td> </td>
</tr> </tr>
{% endif %} {% endif %}
......
{% load i18n %} {% load i18n %}
{% load sizefieldtags %} {% load sizefieldtags %}
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
<form id="vm-details-resources-form" method="POST" action=""> <form id="vm-details-resources-form" method="POST" action="">
{% csrf_token %} {% csrf_token %}
<p class="row"> <p class="row">
<div class="col-sm-3"> <div class="col-sm-3">
<label for="vm-cpu-priority-slider"><i class="icon-trophy"></i> {% trans "CPU priority" %}</label> <label for="vm-cpu-priority-slider"><i class="fa fa-trophy"></i> {% trans "CPU priority" %}</label>
</div> </div>
<div class="col-sm-9"> <div class="col-sm-9">
<input name="cpu-priority" type="text" id="vm-cpu-priority-slider" class="vm-slider" value="{{ instance.priority }}" data-slider-min="0" data-slider-max="100" data-slider-step="1" data-slider-value="{{ instance.priority }}" data-slider-orientation="horizontal" data-slider-handle="square" data-slider-tooltip="hide"/> <input name="cpu-priority" type="text" id="vm-cpu-priority-slider" class="vm-slider" value="{{ instance.priority }}" data-slider-min="0" data-slider-max="100" data-slider-step="1" data-slider-value="{{ instance.priority }}" data-slider-orientation="horizontal" data-slider-handle="square" data-slider-tooltip="hide"/>
</div> </div>
</p> </p>
<p class="row"> <p class="row">
<div class="col-sm-3"> <div class="col-sm-3">
<label for="cpu-count-slider"><i class="icon-cogs"></i> {% trans "CPU count" %}</label> <label for="cpu-count-slider"><i class="fa fa-cogs"></i> {% trans "CPU count" %}</label>
</div> </div>
<div class="col-sm-9"> <div class="col-sm-9">
<input name="cpu-count" type="text" id="vm-cpu-count-slider" class="vm-slider" value=" {{ instance.num_cores }}" data-slider-min="0" data-slider-max="8" data-slider-step="1" data-slider-value="{{ instance.num_cores }}" data-slider-orientation="horizontal" data-slider-handle="square" data-slider-tooltip="hide"/> <input name="cpu-count" type="text" id="vm-cpu-count-slider" class="vm-slider" value=" {{ instance.num_cores }}" data-slider-min="0" data-slider-max="8" data-slider-step="1" data-slider-value="{{ instance.num_cores }}" data-slider-orientation="horizontal" data-slider-handle="square" data-slider-tooltip="hide"/>
</div> </div>
</p> </p>
<p class="row"> <p class="row">
<div class="col-sm-3"> <div class="col-sm-3">
<label for="ram-slider"><i class="icon-ticket"></i> {% trans "RAM amount" %}</label> <label for="ram-slider"><i class="fa fa-ticket"></i> {% trans "RAM amount" %}</label>
</div> </div>
<div class="col-sm-9"> <div class="col-sm-9">
<input name="ram-size" type="text" id="vm-ram-size-slider" class="vm-slider" value="{{ instance.ram_size }}" data-slider-min="128" data-slider-max="4096" data-slider-step="128" data-slider-value="{{ instance.ram_size }}" data-slider-orientation="horizontal" data-slider-handle="square" data-slider-tooltip="hide"/> MiB <input name="ram-size" type="text" id="vm-ram-size-slider" class="vm-slider" value="{{ instance.ram_size }}" data-slider-min="128" data-slider-max="4096" data-slider-step="128" data-slider-value="{{ instance.ram_size }}" data-slider-orientation="horizontal" data-slider-handle="square" data-slider-tooltip="hide"/> MiB
</div> </div>
</p> </p>
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
<button type="submit" class="btn btn-success btn-sm enabled-when-stopped" id="vm-details-resources-save" <button type="submit" class="btn btn-success btn-sm enabled-when-stopped" id="vm-details-resources-save"
data-vm="{{ instance.pk }}" data-vm="{{ instance.pk }}"
{% if not op.resources_change %}disabled{% endif %}> {% if not op.resources_change %}disabled{% endif %}>
<i class="icon-save"></i> {% trans "Save resources" %} <i class="fa fa-floppy-o"></i> {% trans "Save resources" %}
</button> </button>
<span class="hide-when-stopped" <span class="hide-when-stopped"
{% if op.resources_change %}style="display: none;"{% endif %} {% if op.resources_change %}style="display: none;"{% endif %}
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
<div class="pull-right"> <div class="pull-right">
<div id="disk-ops"> <div id="disk-ops">
{% include "dashboard/vm-detail/_disk-operations.html" %} {% include "dashboard/vm-detail/_disk-operations.html" %}
</div> </div>
</div> </div>
</h3> </h3>
......
...@@ -11,15 +11,15 @@ ...@@ -11,15 +11,15 @@
<div class="panel-heading"> <div class="panel-heading">
<div class="pull-right table-sorting"> <div class="pull-right table-sorting">
{% trans "Sorting ... " %} {% trans "Sorting ... " %}
<!--<i class="icon-refresh icon-spin icon-2x"></i>--> <!--<i class="fa fa-refresh fa-spin fa-2x"></i>-->
</div> </div>
<h3 class="no-margin"><i class="icon-desktop"></i> {% trans "Virtual machines" %}</h3> <h3 class="no-margin"><i class="fa fa-desktop"></i> {% trans "Virtual machines" %}</h3>
</div> </div>
<div class="pull-right" style="max-width: 250px; margin-top: 15px; margin-right: 15px;"> <div class="pull-right" style="max-width: 250px; margin-top: 15px; margin-right: 15px;">
<form action="" method="GET" class="input-group"> <form action="" method="GET" class="input-group">
<input type="text" name="s"{% if request.GET.s %} value="{{ request.GET.s }}"{% endif %} class="form-control input-tags" placeholder="{% trans "Search..."%}" /> <input type="text" name="s"{% if request.GET.s %} value="{{ request.GET.s }}"{% endif %} class="form-control input-tags" placeholder="{% trans "Search..."%}" />
<div class="input-group-btn"> <div class="input-group-btn">
<button type="submit" class="form-control btn btn-primary input-tags" title="search"><i class="icon-search"></i></button> <button type="submit" class="form-control btn btn-primary input-tags" title="search"><i class="fa fa-search"></i></button>
</div> </div>
</form> </form>
</div> </div>
...@@ -27,10 +27,10 @@ ...@@ -27,10 +27,10 @@
<p> <p>
<strong>{% trans "Group actions" %}</strong> <strong>{% trans "Group actions" %}</strong>
<button id="vm-list-group-select-all" class="btn btn-info btn-xs">{% trans "Select all" %}</button> <button id="vm-list-group-select-all" class="btn btn-info btn-xs">{% trans "Select all" %}</button>
<a class="btn btn-default btn-xs" id="vm-list-group-migrate" disabled><i class="icon-truck"></i> {% trans "Migrate" %}</a> <a class="btn btn-default btn-xs" id="vm-list-group-migrate" disabled><i class="fa fa-truck"></i> {% trans "Migrate" %}</a>
<a disabled href="#" class="btn btn-default btn-xs"><i class="icon-refresh"></i> {% trans "Reboot" %}</a> <a disabled href="#" class="btn btn-default btn-xs"><i class="fa fa-refresh"></i> {% trans "Reboot" %}</a>
<a disabled href="#" class="btn btn-default btn-xs"><i class="icon-off"></i> {% trans "Shutdown" %}</a> <a disabled href="#" class="btn btn-default btn-xs"><i class="fa fa-off"></i> {% trans "Shutdown" %}</a>
<a id="vm-list-group-delete" disabled href="#" class="btn btn-danger btn-xs"><i class="icon-remove"></i> {% trans "Destroy" %}</a> <a id="vm-list-group-delete" disabled href="#" class="btn btn-danger btn-xs"><i class="fa fa-times"></i> {% trans "Destroy" %}</a>
</p> </p>
</div> </div>
<div class="panel-body"> <div class="panel-body">
......
<div class="btn-group"> <div class="btn-group">
<button type="button" class="btn btn-xs btn-warning nojs-dropdown-toogle dropdown-toggle" data-toggle="dropdown">Action <i class="icon-caret-down"></i></button> <button type="button" class="btn btn-xs btn-warning nojs-dropdown-toogle dropdown-toggle" data-toggle="dropdown">Action <i class="fa fa-caret-down"></i></button>
<ul class="nojs-dropdown-toogle dropdown-menu" role="menu"> <ul class="nojs-dropdown-toogle dropdown-menu" role="menu">
<li><a href="#"><i class="icon-refresh"></i> Reboot</a></li> <li><a href="#"><i class="fa fa-refresh"></i> Reboot</a></li>
<li><a href="#"><i class="icon-off"></i> Shutdown</a></li> <li><a href="#"><i class="fa fa-off"></i> Shutdown</a></li>
<li><a data-vm-pk="{{ record.pk }}" class="real-link vm-delete" href="{% url "dashboard.views.delete-vm" pk=record.pk %}?next={{ request.path }}"><i class="icon-remove"></i> Discard</a></li> <li><a data-vm-pk="{{ record.pk }}" class="real-link vm-delete" href="{% url "dashboard.views.delete-vm" pk=record.pk %}?next={{ request.path }}"><i class="fa fa-times"></i> Discard</a></li>
</ul> </ul>
</div> </div>
<a href="{% url "dashboard.vm.op.migrate" pk=record.pk %}" class="btn btn-default btn-xs vm-migrate" data-vm-pk="{{ record.pk }}" title data-original-title="Migrate"> <a href="{% url "dashboard.vm.op.migrate" pk=record.pk %}" class="btn btn-default btn-xs vm-migrate" data-vm-pk="{{ record.pk }}" title data-original-title="Migrate">
<i class="icon-truck"></i> <i class="fa fa-truck"></i>
</a> </a>
<a id="vm-list-rename-button" class="btn btn-default btn-xs" title data-original-title="Rename"> <a id="vm-list-rename-button" class="btn btn-default btn-xs" title data-original-title="Rename">
<i class="icon-pencil"></i> <i class="fa fa-pencil"></i>
</a> </a>
<a href="#" class="btn btn-default btn-xs vm-list-connect" data-toggle="popover" <a href="#" class="btn btn-default btn-xs vm-list-connect" data-toggle="popover"
data-content=' data-content='
......
{% load i18n %} {% load i18n %}
<div id="vm-list-rename"> <div id="vm-list-rename">
<form action="{% url "dashboard.views.detail" pk=record.pk %}" method="POST" id="vm-list-rename-form"> <form action="{% url "dashboard.views.detail" pk=record.pk %}" method="POST" id="vm-list-rename-form">
{% csrf_token %} {% csrf_token %}
<input id="vm-list-rename-name" class="form-control input-sm" name="new_name" type="text" value="{{ record.name }}"/> <input id="vm-list-rename-name" class="form-control input-sm" name="new_name" type="text" value="{{ record.name }}"/>
<button type="submit" class="vm-list-rename-submit btn btn-sm">{% trans "Rename" %}</button> <button type="submit" class="vm-list-rename-submit btn btn-sm">{% trans "Rename" %}</button>
</form> </form>
</div> </div>
......
<tr> <tr>
<!--<td><input type="checkbox"/ class="vm-checkbox" id="vm-1825{{ c }}"></td>--> <!--<td><input type="checkbox"/ class="vm-checkbox" id="vm-1825{{ c }}"></td>-->
<td> <td>
...@@ -10,10 +10,10 @@ ...@@ -10,10 +10,10 @@
<td>1 month</td> <td>1 month</td>
<td> <td>
<a class="btn btn-default btn-xs" title data-original-title="Migrate"> <a class="btn btn-default btn-xs" title data-original-title="Migrate">
<i class="icon-truck"></i> <i class="fa fa-truck"></i>
</a> </a>
<a class="btn btn-default btn-xs" title data-original-title="Rename"> <a class="btn btn-default btn-xs" title data-original-title="Rename">
<i class="icon-pencil"></i> <i class="fa fa-pencil"></i>
</a> </a>
<a href="#" class="btn btn-default btn-xs vm-list-connect" data-toggle="popover" <a href="#" class="btn btn-default btn-xs vm-list-connect" data-toggle="popover"
data-content=' data-content='
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
'>Connect</a> '>Connect</a>
</td> </td>
<td> <td>
<a class="btn btn-info btn-xs vm-list-details" href="#" data-toggle="popover" <a class="btn btn-info btn-xs vm-list-details" href="#" data-toggle="popover"
data-content=' data-content='
<h4>Quick details</h4> <h4>Quick details</h4>
<dl class="dl-horizontal"> <dl class="dl-horizontal">
...@@ -39,13 +39,13 @@ ...@@ -39,13 +39,13 @@
</td> </td>
<td> <td>
<div class="btn-group"> <div class="btn-group">
<button type="button" class="btn btn-xs btn-warning nojs-dropdown-toogle dropdown-toggle" data-toggle="dropdown">Action <i class="icon-caret-down"></i></button> <button type="button" class="btn btn-xs btn-warning nojs-dropdown-toogle dropdown-toggle" data-toggle="dropdown">Action <i class="fa fa-caret-down"></i></button>
<ul class="nojs-dropdown-menu dropdown-menu" role="menu"> <ul class="nojs-dropdown-menu dropdown-menu" role="menu">
<li><a href="#"><i class="icon-refresh"></i> Reboot</a></li> <li><a href="#"><i class="fa fa-refresh"></i> Reboot</a></li>
<li><a href="#"><i class="icon-off"></i> Shutdown</a></li> <li><a href="#"><i class="fa fa-off"></i> Shutdown</a></li>
<li><a href="#"><i class="icon-remove"></i> Discard</a></li> <li><a href="#"><i class="fa fa-times"></i> Discard</a></li>
</ul> </ul>
</div> </div>
</td> </td>
</tr> </tr>
{% if form.errors %} {% if form.errors %}
<div class="alert alert-danger"> <div class="alert alert-danger">
{% for field in form %} {% for field in form %}
{% if field.errors %} {% if field.errors %}
<div><strong>{{ field.label }}</strong>: {{ field.errors|striptags }}</div> <div><strong>{{ field.label }}</strong>: {{ field.errors|striptags }}</div>
{% endif %} {% endif %}
......
...@@ -681,7 +681,7 @@ class VmCreateDiskView(FormOperationMixin, VmOperationView): ...@@ -681,7 +681,7 @@ class VmCreateDiskView(FormOperationMixin, VmOperationView):
op = 'create_disk' op = 'create_disk'
form_class = VmCreateDiskForm form_class = VmCreateDiskForm
show_in_toolbar = False show_in_toolbar = False
icon = 'hdd' icon = 'hdd-o'
is_disk_operation = True is_disk_operation = True
...@@ -846,10 +846,10 @@ vm_ops = OrderedDict([ ...@@ -846,10 +846,10 @@ vm_ops = OrderedDict([
('deploy', VmOperationView.factory( ('deploy', VmOperationView.factory(
op='deploy', icon='play', effect='success')), op='deploy', icon='play', effect='success')),
('wake_up', VmOperationView.factory( ('wake_up', VmOperationView.factory(
op='wake_up', icon='sun', effect='success')), op='wake_up', icon='sun-o', effect='success')),
('sleep', VmOperationView.factory( ('sleep', VmOperationView.factory(
extra_bases=[TokenOperationView], extra_bases=[TokenOperationView],
op='sleep', icon='moon', effect='info')), op='sleep', icon='moon-o', effect='info')),
('migrate', VmMigrateView), ('migrate', VmMigrateView),
('save_as_template', VmSaveView), ('save_as_template', VmSaveView),
('reboot', VmOperationView.factory( ('reboot', VmOperationView.factory(
...@@ -857,14 +857,14 @@ vm_ops = OrderedDict([ ...@@ -857,14 +857,14 @@ vm_ops = OrderedDict([
('reset', VmOperationView.factory( ('reset', VmOperationView.factory(
op='reset', icon='bolt', effect='warning')), op='reset', icon='bolt', effect='warning')),
('shutdown', VmOperationView.factory( ('shutdown', VmOperationView.factory(
op='shutdown', icon='off', effect='warning')), op='shutdown', icon='power-off', effect='warning')),
('shut_off', VmOperationView.factory( ('shut_off', VmOperationView.factory(
op='shut_off', icon='ban-circle', effect='warning')), op='shut_off', icon='ban', effect='warning')),
('recover', VmOperationView.factory( ('recover', VmOperationView.factory(
op='recover', icon='medkit', effect='warning')), op='recover', icon='medkit', effect='warning')),
('destroy', VmOperationView.factory( ('destroy', VmOperationView.factory(
extra_bases=[TokenOperationView], extra_bases=[TokenOperationView],
op='destroy', icon='remove', effect='danger')), op='destroy', icon='times', effect='danger')),
('create_disk', VmCreateDiskView), ('create_disk', VmCreateDiskView),
('download_disk', VmDownloadDiskView), ('download_disk', VmDownloadDiskView),
('renew', VmRenewView), ('renew', VmRenewView),
......
$('i[class="icon-remove"]').click(function() { $('i[class="fa fa-times"]').click(function() {
href = $(this).parent('a').attr('href'); href = $(this).parent('a').attr('href');
csrf = getCookie('csrftoken'); csrf = getCookie('csrftoken');
var click_this = this; var click_this = this;
......
$('i[class="icon-remove"]').click(function() { $('i[class="fa fa-times"]').click(function() {
href = $(this).parent('a').attr('href'); href = $(this).parent('a').attr('href');
csrf = getCookie('csrftoken'); csrf = getCookie('csrftoken');
var click_this = this; var click_this = this;
......
{% extends "base.html" %}
{% load i18n %} {% load i18n %}
{% load l10n %} {% load l10n %}
{% load staticfiles %} {% load staticfiles %}
{% get_current_language as lang %} {% get_current_language as lang %}
<!DOCTYPE html>
<html lang="{{lang}}">
<head>
<meta charset="utf-8">
<title>{% block title %}Firewall GUI{% endblock %}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:200,400&amp;subset=latin,latin-ext' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css">
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-theme.min.css">
<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet" />
<link href="{% static "network/network.css" %}" rel="stylesheet">
<style type="text/css">
body {
padding-top:40px;
}
/* note: this doesn't really work */ {% block extra_link %}
a i:hover { <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:200,400&amp;subset=latin,latin-ext' rel='stylesheet' type='text/css'>
text-decoration: none; <link href="{% static "network/network.css" %}" rel="stylesheet">
} {% endblock %}
footer { {% block extra_css %}
margin-top: 45px; <style type="text/css">
} body {
padding-top:40px;
}
.messagelist { /* note: this doesn't really work */
margin-top: 25px; a i:hover {
} text-decoration: none;
</style> }
<!-- HTML5 shim, for IE6-8 support of HTML5 elements --> footer {
<!--[if lt IE 9]> margin-top: 45px;
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> }
<![endif]-->
{% block extra_css %}{% endblock %}
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-header">
<a class="navbar-brand" href="{% url "network.index" %}">CIRCLE Network</a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div><!-- .navbar-header -->
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
{% include "network/menu.html" %}
</ul>
<a class="navbar-brand pull-right" href="{% url "dashboard.index" %}"
style="color: white; font-size: 10px;"><i class="icon-dashboard"></i> {% trans "dashboard" %}</a>
</div><!-- .collapse .navbar-collapse -->
</div><!-- navbar navbar-inverse navbar-fixed-top -->
<div class="container">
{% block messages %}
{% if messages %}
<div class="messagelist">
{% for message in messages %}
<div class="alert
{% if message.tags %} alert-{% if message.tags == "error" %}danger{% else %}{{ message.tags }}{% endif %}{% endif %}">
{{ message }}
</div>
{% endfor %}
</div>
{% endif %}
{% endblock messages %}
{% block content %}
<div class="alert-block">This is an abstract base template.</div>
{% endblock %}
</div><!-- .container -->
<div class="footer-container container"> .messagelist {
<footer> margin-top: 25px;
<p class="pull-right"><a href="#">Vissza az oldal tetejére</a></p> }
<p>&copy; {{ COMPANY_NAME }} </style>
</footer> {% endblock %}
</div><!-- .footer-container .container -->
<script src="//code.jquery.com/jquery-latest.js"></script> {% block navbar-brand %}
<script src="{{ STATIC_URL }}jsi18n/{{ LANGUAGE_CODE }}/djangojs.js"></script> <a class="navbar-brand" href="{% url "network.index" %}">CIRCLE Network</a>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script> {% endblock %}
<script src="{% static "js/bootbox.min.js" %}"></script>
<script src="{% static "js/network.js" %}"></script> {% block navbar %}
<script> <ul class="nav navbar-nav">
{% block extra_js %} {% include "network/menu.html" %}
{% endblock %} </ul>
</script> <a class="navbar-brand pull-right" href="{% url "dashboard.index" %}"
{% block extra_etc %} style="color: white; font-size: 10px;">
{% endblock %} <i class="fa fa-dashboard"></i>
</body> {% trans "dashboard" %}
</html> </a>
{% endblock %}
{% block extra_script %}
<script src="{% static "js/bootbox.min.js" %}"></script>
<script src="{% static "js/network.js" %}"></script>
{% endblock %}
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<a href="{% url "network.blacklist_delete" pk=blacklist_pk %}" class="btn btn-danger pull-right"><i class="icon-remove-sign"></i> {% trans "Delete this blaclist item" %}</a> <a href="{% url "network.blacklist_delete" pk=blacklist_pk %}" class="btn btn-danger pull-right"><i class="fa fa-times-circle"></i> {% trans "Delete this blaclist item" %}</a>
<h2>{{ form.ipv4.value }} <small>{{ form.type.value }}</small></h2> <h2>{{ form.ipv4.value }} <small>{{ form.type.value }}</small></h2>
</div> </div>
<div class="row"> <div class="row">
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
{% load staticfiles %} {% load staticfiles %}
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<a href="{% url "network.blacklist_create" %}" class="btn btn-success pull-right"><i class="icon-plus-sign"></i> {% trans "Create a new blacklist item" %}</a> <a href="{% url "network.blacklist_create" %}" class="btn btn-success pull-right"><i class="fa fa-plus-circle"></i> {% trans "Create a new blacklist item" %}</a>
<h1>{% trans "Blacklist" %} <small></small></h1> <h1>{% trans "Blacklist" %} <small></small></h1>
</div> </div>
......
...@@ -4,9 +4,9 @@ ...@@ -4,9 +4,9 @@
{# <span style="color: #FF0000;">[{{ record.r_type }}]</span> #} {# <span style="color: #FF0000;">[{{ record.r_type }}]</span> #}
{% if record.direction == "1" %}{{ record.foreign_network }}{% else %}{{ record.r_type }}{% endif %} {% if record.direction == "1" %}{{ record.foreign_network }}{% else %}{{ record.r_type }}{% endif %}
{#<span style="color: #0000FF;"> ▸ </span>#} {#<span style="color: #0000FF;"> ▸ </span>#}
<i class="icon-arrow-right"></i> <i class="fa fa-arrow-right"></i>
{% if record.direction == "0" %}{{ record.foreign_network }}{% else %}{{ record.r_type }}{% endif %} {% if record.direction == "0" %}{{ record.foreign_network }}{% else %}{{ record.r_type }}{% endif %}
<span style="color: #00FF00;"> <span style="color: #00FF00;">
{% if record.proto %} {% if record.proto %}
proto={{ record.proto }} proto={{ record.proto }}
{% endif %} {% endif %}
...@@ -16,4 +16,4 @@ ...@@ -16,4 +16,4 @@
{% if record.dport %} {% if record.dport %}
dport={{ record.dport }} dport={{ record.dport }}
{% endif %} {% endif %}
{{ record.description }} {{ record.description }}
{% load i18n %} {% load i18n %}
{% load l10n %} {% load l10n %}
<div style="white-space: nowrap;"> <div style="white-space: nowrap;">
<a href="{% url "network.rule_delete" pk=record.pk %}?from={{ request.path }}"><i class="icon-remove"></i></a> <a href="{% url "network.rule_delete" pk=record.pk %}?from={{ request.path }}"><i class="fa fa-times"></i></a>
<a href="{% url "network.rule" pk=record.pk %}"><i class="icon-pencil"></i></a> <a href="{% url "network.rule" pk=record.pk %}"><i class="fa fa-pencil"></i></a>
</div> </div>
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
{% endif %} {% endif %}
{#<span style="color: #0000FF;"> ▸ </span>#} {#<span style="color: #0000FF;"> ▸ </span>#}
<i class="icon-arrow-right"></i> <i class="fa fa-arrow-right"></i>
{% if record.direction == "0" %} {% if record.direction == "0" %}
{{ record.foreign_network }} {{ record.foreign_network }}
{% else %} {% else %}
...@@ -33,6 +33,6 @@ ...@@ -33,6 +33,6 @@
{% if record.nat %} {% if record.nat %}
<span class="label label-success">NAT <span class="label label-success">NAT
[ {{ record.dport }} <i class="icon-arrow-right"></i> [ {{ record.dport }} <i class="fa fa-arrow-right"></i>
{{record.nat_external_port}} ]</span> {{record.nat_external_port}} ]</span>
{% endif %} {% endif %}
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
{% elif record.type == "MX" %} {% elif record.type == "MX" %}
{{ record.host.get_fqdn }} {{ record.host.get_fqdn }}
{% else %} {% else %}
This should not appear! This should not appear!
{% endif %} {% endif %}
{% else %} {% else %}
{{ record.address }} {{ record.address }}
......
{% extends "network/base.html" %} {% extends "network/base.html" %}
{% load i18n %} {% load i18n %}
{% load l10n %} {% load l10n %}
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<h2> <h2>
{% blocktrans with object=object %} {% blocktrans with object=object %}
Are you sure you want to delete Are you sure you want to delete
<strong>"{{ object }}"</strong>? <strong>"{{ object }}"</strong>?
{% endblocktrans %} {% endblocktrans %}
</h2> </h2>
</div> </div>
<form action="" method="post">{% csrf_token %} <form action="" method="post">{% csrf_token %}
{% if deps %} {% if deps %}
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<label><p> <label><p>
{% trans "If you are really sure, type in the object's name!" %} {% trans "If you are really sure, type in the object's name!" %}
<input type="text" name="confirm" class="form-control" placeholder="{{ object }}"/> <input type="text" name="confirm" class="form-control" placeholder="{{ object }}"/>
</p></label> </p></label>
{% else %} {% else %}
{% endif %} {% endif %}
<input type="submit" class="btn btn-danger btn-lg pull-right" value="{% trans "Yes, delete it!" %}"/> <input type="submit" class="btn btn-danger btn-lg pull-right" value="{% trans "Yes, delete it!" %}"/>
......
{% extends "network/base.html" %} {% extends "network/base.html" %}
{% load i18n %} {% load i18n %}
{% load l10n %} {% load l10n %}
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<h1>Remove <small></small></h1> <h1>Remove <small></small></h1>
</div> </div>
<form action="" method="post">{% csrf_token %} <form action="" method="post">{% csrf_token %}
<p>Are you sure you want to remove host group <strong>"{{ group }}"</strong> <p>Are you sure you want to remove host group <strong>"{{ group }}"</strong>
from <strong>"{{ host }}"</strong>?</p> from <strong>"{{ host }}"</strong>?</p>
<input type="hidden" value="{{ request.GET.from }}" name="next" /> <input type="hidden" value="{{ request.GET.from }}" name="next" />
<a href="{{ request.GET.from }}" class="btn btn-info">Back</a> <a href="{{ request.GET.from }}" class="btn btn-info">Back</a>
<input type="submit" class="btn btn-danger" value="Confirm" /> <input type="submit" class="btn btn-danger" value="Confirm" />
</form> </form>
{% endblock %} {% endblock %}
{% load i18n %} {% load i18n %}
{% load l10n %} {% load l10n %}
{% load staticfiles %} {% load staticfiles %}
<style> <style>
.thumbnail { .thumbnail {
...@@ -19,9 +19,9 @@ ...@@ -19,9 +19,9 @@
<p class="lead"> <a href="{% url "network.host_list" %}">Hosts</a> are machines on the network.</p> <p class="lead"> <a href="{% url "network.host_list" %}">Hosts</a> are machines on the network.</p>
<p class="dashboard-text"> <p class="dashboard-text">
Proin mattis enim risus. Ut eu enim quis auctor. Duis lobort sollicitudin lacus, scelerisque dictum arcu aliquam nec. Proin mattis enim risus. Ut eu enim quis auctor. Duis lobort sollicitudin lacus, scelerisque dictum arcu aliquam nec.
</p> </p>
<p class="text-right"> <p class="text-right">
<a href="{% url "network.host_list" %}" class="btn btn-default">{% trans "List" %}</a> <a href="{% url "network.host_list" %}" class="btn btn-default">{% trans "List" %}</a>
<a href="{% url "network.host_create" %}" class="btn btn-success">{% trans "Create" %}</a> <a href="{% url "network.host_create" %}" class="btn btn-success">{% trans "Create" %}</a>
</p> </p>
</div> </div>
...@@ -35,9 +35,9 @@ ...@@ -35,9 +35,9 @@
<p class="lead"> <a href="{% url "network.vlan_list" %}">Vlans</a> are machines on the network.</p> <p class="lead"> <a href="{% url "network.vlan_list" %}">Vlans</a> are machines on the network.</p>
<p class="dashboard-text"> <p class="dashboard-text">
Proin mattis enim risus. Ut eu enim quis auctor. Duis lobort sollicitudin lacus, scelerisque dictum arcu aliquam nec. Proin mattis enim risus. Ut eu enim quis auctor. Duis lobort sollicitudin lacus, scelerisque dictum arcu aliquam nec.
</p> </p>
<p class="text-right"> <p class="text-right">
<a href="{% url "network.vlan_list" %}" class="btn btn-default">{% trans "List" %}</a> <a href="{% url "network.vlan_list" %}" class="btn btn-default">{% trans "List" %}</a>
<a href="{% url "network.vlan_create" %}" class="btn btn-success">{% trans "Create" %}</a> <a href="{% url "network.vlan_create" %}" class="btn btn-success">{% trans "Create" %}</a>
</p> </p>
</div> </div>
...@@ -51,9 +51,9 @@ ...@@ -51,9 +51,9 @@
<p class="lead"> <a href="{% url "network.domain_list" %}">Domains</a> are machines on the network.</p> <p class="lead"> <a href="{% url "network.domain_list" %}">Domains</a> are machines on the network.</p>
<p class="dashboard-text"> <p class="dashboard-text">
Proin mattis enim risus. Ut eu enim quis auctor. Duis lobort sollicitudin lacus, scelerisque dictum arcu aliquam nec. Proin mattis enim risus. Ut eu enim quis auctor. Duis lobort sollicitudin lacus, scelerisque dictum arcu aliquam nec.
</p> </p>
<p class="text-right"> <p class="text-right">
<a href="{% url "network.domain_list" %}" class="btn btn-default">{% trans "List" %}</a> <a href="{% url "network.domain_list" %}" class="btn btn-default">{% trans "List" %}</a>
<a href="{% url "network.domain_create" %}" class="btn btn-success">{% trans "Create" %}</a> <a href="{% url "network.domain_create" %}" class="btn btn-success">{% trans "Create" %}</a>
</p> </p>
</div> </div>
...@@ -67,9 +67,9 @@ ...@@ -67,9 +67,9 @@
<p class="lead"> <a href="{% url "network.record_list" %}">Records</a> are machines on the network.</p> <p class="lead"> <a href="{% url "network.record_list" %}">Records</a> are machines on the network.</p>
<p class="dashboard-text"> <p class="dashboard-text">
Proin mattis enim risus. Ut eu enim quis auctor. Duis lobort sollicitudin lacus, scelerisque dictum arcu aliquam nec. Proin mattis enim risus. Ut eu enim quis auctor. Duis lobort sollicitudin lacus, scelerisque dictum arcu aliquam nec.
</p> </p>
<p class="text-right"> <p class="text-right">
<a href="{% url "network.record_list" %}" class="btn btn-default">{% trans "List" %}</a> <a href="{% url "network.record_list" %}" class="btn btn-default">{% trans "List" %}</a>
<a href="{% url "network.record_create" %}" class="btn btn-success">{% trans "Create" %}</a> <a href="{% url "network.record_create" %}" class="btn btn-success">{% trans "Create" %}</a>
</p> </p>
</div> </div>
...@@ -83,9 +83,9 @@ ...@@ -83,9 +83,9 @@
<p class="lead"> <a href="{% url "network.blacklist_list" %}">Blacklists</a> are machines on the network.</p> <p class="lead"> <a href="{% url "network.blacklist_list" %}">Blacklists</a> are machines on the network.</p>
<p class="dashboard-text"> <p class="dashboard-text">
Proin mattis enim risus. Ut eu enim quis auctor. Duis lobort sollicitudin lacus, scelerisque dictum arcu aliquam nec. Proin mattis enim risus. Ut eu enim quis auctor. Duis lobort sollicitudin lacus, scelerisque dictum arcu aliquam nec.
</p> </p>
<p class="text-right"> <p class="text-right">
<a href="{% url "network.blacklist_list" %}" class="btn btn-default">{% trans "List" %}</a> <a href="{% url "network.blacklist_list" %}" class="btn btn-default">{% trans "List" %}</a>
<a href="{% url "network.blacklist_create" %}" class="btn btn-success">{% trans "Create" %}</a> <a href="{% url "network.blacklist_create" %}" class="btn btn-success">{% trans "Create" %}</a>
</p> </p>
</div> </div>
...@@ -98,9 +98,9 @@ ...@@ -98,9 +98,9 @@
<p class="lead"> <a href="{% url "network.rule_list" %}">Rules</a> are machines on the network.</p> <p class="lead"> <a href="{% url "network.rule_list" %}">Rules</a> are machines on the network.</p>
<p class="dashboard-text"> <p class="dashboard-text">
Proin mattis enim risus. Ut eu enim quis auctor. Duis lobort sollicitudin lacus, scelerisque dictum arcu aliquam nec. Proin mattis enim risus. Ut eu enim quis auctor. Duis lobort sollicitudin lacus, scelerisque dictum arcu aliquam nec.
</p> </p>
<p class="text-right"> <p class="text-right">
<a href="{% url "network.rule_list" %}" class="btn btn-default">{% trans "List" %}</a> <a href="{% url "network.rule_list" %}" class="btn btn-default">{% trans "List" %}</a>
<a href="{% url "network.rule_create" %}" class="btn btn-success">{% trans "Create" %}</a> <a href="{% url "network.rule_create" %}" class="btn btn-success">{% trans "Create" %}</a>
</p> </p>
</div> </div>
...@@ -114,9 +114,9 @@ ...@@ -114,9 +114,9 @@
<p class="lead"> <a href="{% url "network.group_list" %}">Host groups</a> are machines on the network.</p> <p class="lead"> <a href="{% url "network.group_list" %}">Host groups</a> are machines on the network.</p>
<p class="dashboard-text"> <p class="dashboard-text">
Proin mattis enim risus. Ut eu enim quis auctor. Duis lobort sollicitudin lacus, scelerisque dictum arcu aliquam nec. Proin mattis enim risus. Ut eu enim quis auctor. Duis lobort sollicitudin lacus, scelerisque dictum arcu aliquam nec.
</p> </p>
<p class="text-right"> <p class="text-right">
<a href="{% url "network.group_list" %}" class="btn btn-default">{% trans "List" %}</a> <a href="{% url "network.group_list" %}" class="btn btn-default">{% trans "List" %}</a>
<a href="{% url "network.group_create" %}" class="btn btn-success">{% trans "Create" %}</a> <a href="{% url "network.group_create" %}" class="btn btn-success">{% trans "Create" %}</a>
</p> </p>
</div> </div>
...@@ -130,12 +130,12 @@ ...@@ -130,12 +130,12 @@
<p class="lead"> <a href="{% url "network.vlan_group_list" %}">Vlan groups</a> are machines on the network.</p> <p class="lead"> <a href="{% url "network.vlan_group_list" %}">Vlan groups</a> are machines on the network.</p>
<p class="dashboard-text"> <p class="dashboard-text">
Proin mattis enim risus. Ut eu enim quis auctor. Duis lobort sollicitudin lacus, scelerisque dictum arcu aliquam nec. Proin mattis enim risus. Ut eu enim quis auctor. Duis lobort sollicitudin lacus, scelerisque dictum arcu aliquam nec.
</p> </p>
<p class="text-right"> <p class="text-right">
<a href="{% url "network.vlan_group_list" %}" class="btn btn-default">{% trans "List" %}</a> <a href="{% url "network.vlan_group_list" %}" class="btn btn-default">{% trans "List" %}</a>
<a href="{% url "network.vlan_group_create" %}" class="btn btn-success">{% trans "Create" %}</a> <a href="{% url "network.vlan_group_create" %}" class="btn btn-success">{% trans "Create" %}</a>
</p> </p>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<a href="{% url "network.domain_delete" pk=domain_pk %}" class="btn btn-danger pull-right"><i class="icon-remove-sign"></i> {% trans "Delete this domain" %}</a> <a href="{% url "network.domain_delete" pk=domain_pk %}" class="btn btn-danger pull-right"><i class="fa fa-times-circle"></i> {% trans "Delete this domain" %}</a>
<h2>{{ form.name.value }} <small></small></h2> <h2>{{ form.name.value }} <small></small></h2>
</div> </div>
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
</div> </div>
<div class="col-sm-6 col-sm-offset-1"> <div class="col-sm-6 col-sm-offset-1">
<div class="page-header"> <div class="page-header">
<a href="{% url "network.record_create" %}?domain={{ domain_pk }}" class="btn btn-success pull-right btn-xs"><i class="icon-plus-sign"></i> {% trans "Add new record" %}</a> <a href="{% url "network.record_create" %}?domain={{ domain_pk }}" class="btn btn-success pull-right btn-xs"><i class="fa fa-plus-circle"></i> {% trans "Add new record" %}</a>
<h3>{% trans "List of this domain's records" %}</h3> <h3>{% trans "List of this domain's records" %}</h3>
</div> </div>
<div class="table-responsive"> <div class="table-responsive">
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
{% load staticfiles %} {% load staticfiles %}
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<a href="{% url "network.domain_create" %}" class="btn btn-success pull-right"><i class="icon-plus-sign"></i> {% trans "Create a new domain" %}</a> <a href="{% url "network.domain_create" %}" class="btn btn-success pull-right"><i class="fa fa-plus-circle"></i> {% trans "Create a new domain" %}</a>
<h1>{% trans "Domains" %}</h1> <h1>{% trans "Domains" %}</h1>
</div> </div>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<a href="{% url "network.group_delete" pk=group.pk %}" class="btn btn-danger pull-right"><i class="icon-remove-sign"></i> {% trans "Delete this group" %}</a> <a href="{% url "network.group_delete" pk=group.pk %}" class="btn btn-danger pull-right"><i class="fa fa-times-circle"></i> {% trans "Delete this group" %}</a>
<h2>{{ form.name.value }}</h2> <h2>{{ form.name.value }}</h2>
</div> </div>
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
</div> </div>
<div class="col-sm-5 col-sm-offset-1"> <div class="col-sm-5 col-sm-offset-1">
<div class="page-header"> <div class="page-header">
<a href="{% url "network.rule_create" %}?hostgroup={{ group_pk }}" class="btn btn-success pull-right btn-xs"><i class="icon-plus-sign"></i> {% trans "Add new rule" %}</a> <a href="{% url "network.rule_create" %}?hostgroup={{ group_pk }}" class="btn btn-success pull-right btn-xs"><i class="fa fa-plus-circle"></i> {% trans "Add new rule" %}</a>
<h3>{% trans "Rules" %}</h3> <h3>{% trans "Rules" %}</h3>
</div> </div>
{% if rule_list.data.data.count > 0 %} {% if rule_list.data.data.count > 0 %}
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
{% load staticfiles %} {% load staticfiles %}
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<a href="{% url "network.group_create" %}" class="btn btn-success pull-right"><i class="icon-plus-sign"></i> {% trans "Create a new host group" %}</a> <a href="{% url "network.group_create" %}" class="btn btn-success pull-right"><i class="fa fa-plus-circle"></i> {% trans "Create a new host group" %}</a>
<h1>{% trans "Host groups" %}</h1> <h1>{% trans "Host groups" %}</h1>
</div> </div>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<a href="{% url "network.host_delete" pk=host_pk%}" class="btn btn-danger pull-right"><i class="icon-remove-sign"></i> {% trans "Delete this host" %}</a> <a href="{% url "network.host_delete" pk=host_pk%}" class="btn btn-danger pull-right"><i class="fa fa-times-circle"></i> {% trans "Delete this host" %}</a>
<h2>{{ form.hostname.value }}</h2> <h2>{{ form.hostname.value }}</h2>
</div> </div>
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
</div> </div>
<div class="col-sm-5"> <div class="col-sm-5">
<div class="page-header"> <div class="page-header">
<a href="{% url "network.rule_create" %}?host={{ host_pk }}" class="btn btn-success pull-right btn-xs"><i class="icon-plus-sign"></i> {% trans "Add new rule" %}</a> <a href="{% url "network.rule_create" %}?host={{ host_pk }}" class="btn btn-success pull-right btn-xs"><i class="fa fa-plus-circle"></i> {% trans "Add new rule" %}</a>
<h3>{% trans "Rules" %}</h3> <h3>{% trans "Rules" %}</h3>
</div> </div>
{% if rule_list.data.data.count > 0 %} {% if rule_list.data.data.count > 0 %}
...@@ -25,18 +25,18 @@ ...@@ -25,18 +25,18 @@
{% else %} {% else %}
{% trans "No rules associated with this host!" %} {% trans "No rules associated with this host!" %}
{% endif %} {% endif %}
<div class="page-header"> <div class="page-header">
<h3>{% trans "Groups" %}</h3> <h3>{% trans "Groups" %}</h3>
</div> </div>
{% if group_rule_list|length > 0 %} {% if group_rule_list|length > 0 %}
{% for group in group_rule_list %} {% for group in group_rule_list %}
<div> <div>
<h4 id="{{ group.pk }}_group_pk">{{ group.name }} <h4 id="{{ group.pk }}_group_pk">{{ group.name }}
<a href="{% url "network.remove_host_group" pk=host_pk group_pk=group.pk %}?from={{ request.path }}"> <a href="{% url "network.remove_host_group" pk=host_pk group_pk=group.pk %}?from={{ request.path }}">
<i class="icon-remove" style="vertical-align: middle;"></i></a> <i class="fa fa-times" style="vertical-align: middle;"></i></a>
<a href="{% url "network.group" group.pk %}"> <a href="{% url "network.group" group.pk %}">
<i class="icon-pencil" style="vertical-align: middle;"></i></a> <i class="fa fa-pencil" style="vertical-align: middle;"></i></a>
</h4> </h4>
</div> </div>
{% endfor %} {% endfor %}
......
...@@ -6,9 +6,9 @@ ...@@ -6,9 +6,9 @@
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<a href="{% url "network.host_create" %}" class="btn btn-success pull-right"><i class="icon-plus-sign"></i> {% trans "Create a new host" %}</a> <a href="{% url "network.host_create" %}" class="btn btn-success pull-right"><i class="fa fa-plus-circle"></i> {% trans "Create a new host" %}</a>
<h1> <h1>
{% trans "Hosts" %} {% trans "Hosts" %}
<small> <small>
{% trans "list of all hosts" %} {% trans "list of all hosts" %}
</small> </small>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<li class="dropdown{% if "groups" in request.path %} active{% endif %}"> <li class="dropdown{% if "groups" in request.path %} active{% endif %}">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Groups <b class="caret"></b></a> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Groups <b class="caret"></b></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
{% url "network.vlan_group_list" as u %} {% url "network.vlan_group_list" as u %}
{% trans "Vlan groups" as t %} {% trans "Vlan groups" as t %}
{% include "network/menu-item.html" with href=u text=t %} {% include "network/menu-item.html" with href=u text=t %}
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</div><!-- col-sm-4 --> </div><!-- col-sm-4 -->
</div><!-- row --> </div><!-- row -->
{% endblock %} {% endblock %}
{% block extra_etc %} {% block extra_etc %}
<!--<script src="{% static "js/record.js" %}"></script>--> <!--<script src="{% static "js/record.js" %}"></script>-->
{% endblock %} {% endblock %}
~ ~
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<a href="{% url "network.record_delete" pk=record_pk %}" class="btn btn-danger pull-right"><i class="icon-remove-sign"></i> {% trans "Delete this record" %}</a> <a href="{% url "network.record_delete" pk=record_pk %}" class="btn btn-danger pull-right"><i class="fa fa-times-circle"></i> {% trans "Delete this record" %}</a>
<h2>{{ fqdn }}</h2> <h2>{{ fqdn }}</h2>
</div> </div>
...@@ -18,6 +18,6 @@ ...@@ -18,6 +18,6 @@
</div> </div>
{% endblock %} {% endblock %}
{% block extra_etc %} {% block extra_etc %}
<!--<script src="{% static "js/record.js" %}"></script>--> <!--<script src="{% static "js/record.js" %}"></script>-->
{% endblock %} {% endblock %}
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<a href="{% url "network.record_create" %}" class="btn btn-success pull-right"><i class="icon-plus-sign"></i> {% trans "Create a new record" %}</a> <a href="{% url "network.record_create" %}" class="btn btn-success pull-right"><i class="fa fa-plus-circle"></i> {% trans "Create a new record" %}</a>
<h1> <h1>
{% trans "Records" %} {% trans "Records" %}
<small> <small>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<a href="{% url "network.rule_delete" pk=rule.pk %}" class="btn btn-danger pull-right"><i class="icon-remove-sign"></i> {% trans "Delete this rule" %}</a> <a href="{% url "network.rule_delete" pk=rule.pk %}" class="btn btn-danger pull-right"><i class="fa fa-times-circle"></i> {% trans "Delete this rule" %}</a>
<h3> <h3>
{% with rule as record %} {% with rule as record %}
{% include "network/columns/host-rule.html" %} {% include "network/columns/host-rule.html" %}
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<a href="{% url "network.rule_create" %}" class="btn btn-success pull-right"><i class="icon-plus-sign"></i> {% trans "Create a new rule" %}</a> <a href="{% url "network.rule_create" %}" class="btn btn-success pull-right"><i class="fa fa-plus-circle"></i> {% trans "Create a new rule" %}</a>
<h1>{% trans "Rules" %} <small>{% trans "list of all rules" %}</small></h1> <h1>{% trans "Rules" %} <small>{% trans "list of all rules" %}</small></h1>
</div> </div>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<a href="{% url "network.switch_port_delete" pk=switch_port_pk %}" class="btn btn-danger pull-right"><i class="icon-remove-sign"></i> {% trans "Delete this switchport" %}</a> <a href="{% url "network.switch_port_delete" pk=switch_port_pk %}" class="btn btn-danger pull-right"><i class="fa fa-times-circle"></i> {% trans "Delete this switchport" %}</a>
<h2>Welp <small>dunno what to write here</small></h2> <h2>Welp <small>dunno what to write here</small></h2>
</div> </div>
<div class="row"> <div class="row">
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<tr> <tr>
<td>{{ i }}</td> <td>{{ i }}</td>
<td> <td>
<a href="{% url "network.remove_switch_port_device" pk=switch_port_pk device_pk=i.pk %}"><i class="icon-remove"></i></a> <a href="{% url "network.remove_switch_port_device" pk=switch_port_pk device_pk=i.pk %}"><i class="fa fa-times"></i></a>
</td> </td>
</tr> </tr>
{% endfor %} {% endfor %}
...@@ -38,14 +38,14 @@ ...@@ -38,14 +38,14 @@
{% endif %} {% endif %}
<hr /> <hr />
<form action="{% url "network.add_switch_port_device" pk=switch_port_pk %}" method="POST"> <form action="{% url "network.add_switch_port_device" pk=switch_port_pk %}" method="POST">
{% csrf_token %} {% csrf_token %}
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control" name="device_name" placeholder="{% trans "Name" %}"/> <input type="text" class="form-control" name="device_name" placeholder="{% trans "Name" %}"/>
<div class="input-group-btn"> <div class="input-group-btn">
<input type="submit" value="{% trans "Add new Ethernet Device" %}" class="btn btn-default"></input> <input type="submit" value="{% trans "Add new Ethernet Device" %}" class="btn btn-default"></input>
</div> </div>
</div><!-- input-group --> </div><!-- input-group -->
</form> </form>
</div> </div>
</div> </div>
{% endblock %} {% endblock %}
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
{% load staticfiles %} {% load staticfiles %}
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<a href="{% url "network.switch_port_create" %}" class="btn btn-success pull-right"><i class="icon-plus-sign"></i> {% trans "Create a new switch port" %}</a> <a href="{% url "network.switch_port_create" %}" class="btn btn-success pull-right"><i class="fa fa-plus-circle"></i> {% trans "Create a new switch port" %}</a>
<h1>{% trans "Switch ports" %} <small></small></h1> <h1>{% trans "Switch ports" %} <small></small></h1>
</div> </div>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<a href="{% url "network.vlan_delete" vid=vlan_vid %}" class="btn btn-danger pull-right"><i class="icon-remove-sign"></i> {% trans "Delete this vlan" %}</a> <a href="{% url "network.vlan_delete" vid=vlan_vid %}" class="btn btn-danger pull-right"><i class="fa fa-times-circle"></i> {% trans "Delete this vlan" %}</a>
<h2>{{ form.name.value }} <small>{% trans "details of vlan" %}</small></h2> <h2>{{ form.name.value }} <small>{% trans "details of vlan" %}</small></h2>
</div> </div>
...@@ -30,12 +30,12 @@ ...@@ -30,12 +30,12 @@
<th></th> <th></th>
<th>{% trans "Who" %}</th> <th>{% trans "Who" %}</th>
<th>{% trans "What" %}</th> <th>{% trans "What" %}</th>
<th><i class="icon-remove"></i></th> <th><i class="fa fa-times"></i></th>
</tr></thead> </tr></thead>
<tbody> <tbody>
{% for i in acl.users %} {% for i in acl.users %}
<tr> <tr>
<td><i class="icon-user"></i></td><td>{{i.user}}</td> <td><i class="fa fa-user"></i></td><td>{{i.user}}</td>
<td> <td>
<select class="form-control" name="perm-u-{{i.user.id}}"> <select class="form-control" name="perm-u-{{i.user.id}}">
{% for id, name in acl.levels %} {% for id, name in acl.levels %}
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
{% endfor %} {% endfor %}
{% for i in acl.groups %} {% for i in acl.groups %}
<tr> <tr>
<td><i class="icon-group"></i></td><td>{{i.group}}</td> <td><i class="fa fa-group"></i></td><td>{{i.group}}</td>
<td> <td>
<select class="form-control" name="perm-g-{{i.group.id}}"> <select class="form-control" name="perm-g-{{i.group.id}}">
{% for id, name in acl.levels %} {% for id, name in acl.levels %}
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
</td> </td>
</tr> </tr>
{% endfor %} {% endfor %}
<tr><td><i class="icon-plus"></i></td> <tr><td><i class="fa fa-plus"></i></td>
<td><input type="text" class="form-control" name="perm-new-name" <td><input type="text" class="form-control" name="perm-new-name"
placeholder="{% trans "Name of group or user" %}"></td> placeholder="{% trans "Name of group or user" %}"></td>
<td><select class="form-control" name="perm-new"> <td><select class="form-control" name="perm-new">
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<a href="{% url "network.vlan_group_delete" pk=vlangroup_pk %}" class="btn btn-danger pull-right"><i class="icon-remove-sign"></i> {% trans "Delete this group" %}</a> <a href="{% url "network.vlan_group_delete" pk=vlangroup_pk %}" class="btn btn-danger pull-right"><i class="fa fa-times-circle"></i> {% trans "Delete this group" %}</a>
<h1>{{ form.name.value }}</h1> <h1>{{ form.name.value }}</h1>
</div> </div>
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<a href="{% url "network.vlan_group_create" %}" class="btn btn-success pull-right"><i class="icon-plus-sign"></i> {% trans "Create a new vlan group" %}</a> <a href="{% url "network.vlan_group_create" %}" class="btn btn-success pull-right"><i class="fa fa-plus-circle"></i> {% trans "Create a new vlan group" %}</a>
<h1>{% trans "Vlan groups" %}</h1> <h1>{% trans "Vlan groups" %}</h1>
</div> </div>
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
{% load staticfiles %} {% load staticfiles %}
{% block content %} {% block content %}
<div class="page-header"> <div class="page-header">
<a href="{% url "network.vlan_create" %}" class="btn btn-success pull-right"><i class="icon-plus-sign"></i> {% trans "Create a new vlan" %}</a> <a href="{% url "network.vlan_create" %}" class="btn btn-success pull-right"><i class="fa fa-plus-circle"></i> {% trans "Create a new vlan" %}</a>
<h1>Vlans <small>{% trans "list of all vlans" %}</small></h1> <h1>Vlans <small>{% trans "list of all vlans" %}</small></h1>
</div> </div>
......
{% extends "base.html" %}
{% load i18n %} {% load i18n %}
{% load staticfiles %} {% load staticfiles %}
{% get_current_language as LANGUAGE_CODE %} {% get_current_language as LANGUAGE_CODE %}
<html>
<head>
<meta charset="utf-8">
<title>{% block title %}{% endblock %} | CIRCLE</title>
<meta name="description" content="">
<meta name="author" content="">
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css"> {% block extra_css %}
<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet">
<style type="text/css"> <style type="text/css">
html, body { html, body {
background-color: #eee; background-color: #eee;
} }
body { body {
margin-top: 40px; margin-top: 40px;
} }
.container { .container {
width: 600px; width: 600px;
...@@ -37,7 +31,7 @@ ...@@ -37,7 +31,7 @@
-moz-box-shadow: 0 1px 2px rgba(0,0,0,.15); -moz-box-shadow: 0 1px 2px rgba(0,0,0,.15);
box-shadow: 0 1px 2px rgba(0,0,0,.15); box-shadow: 0 1px 2px rgba(0,0,0,.15);
} }
.login-form-errors .alert { .login-form-errors .alert {
margin-right: 30px; margin-right: 30px;
margin-left: 30px; margin-left: 30px;
...@@ -55,7 +49,7 @@ ...@@ -55,7 +49,7 @@
.input-group { .input-group {
margin-bottom: 10px; margin-bottom: 10px;
} }
.input-group-addon { .input-group-addon {
width: 38px; width: 38px;
} }
...@@ -77,12 +71,11 @@ ...@@ -77,12 +71,11 @@
display: none; display: none;
} }
</style> </style>
</head> {% endblock %}
<body>
<div class="container">
<div class="content"> {% block navbar-brand %}
{% block content %}{% endblock %} <a class="navbar-brand" href="{% url "dashboard.index" %}" style="padding: 10px 15px;">
</div> <img src="{{ STATIC_URL}}dashboard/img/logo.png" style="height: 25px;"/>
</div> <!-- /container --> </a>
</body> {% endblock %}
</html>
...@@ -3,33 +3,41 @@ ...@@ -3,33 +3,41 @@
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% get_current_language as LANGUAGE_CODE %} {% get_current_language as LANGUAGE_CODE %}
{% block title %}{% trans "Login" %}{% endblock %} {% block title-page %}{% trans "Login" %}{% endblock %}
{% block navbar-brand %}
<a class="navbar-brand" href="{% url "dashboard.index" %}" style="padding: 10px 15px;">
<img src="{{ STATIC_URL}}dashboard/img/logo.png" style="height: 25px;"/>
</a>
{% endblock %}
{% block content %} {% block content %}
<div class="row"> <div class="content">
{% if form.password.errors or form.username.errors %} <div class="row">
<div class="login-form-errors"> {% if form.password.errors or form.username.errors %}
{% include "display-form-errors.html" %} <div class="login-form-errors">
{% include "display-form-errors.html" %}
</div>
{% endif %}
<div class="col-sm-{% if saml2 %}6{% else %}12{% endif %}">
<div class="login-form">
<form action="" method="POST">
{% csrf_token %}
{% crispy form %}
</form>
</div>
</div> </div>
{% endif %} {% if saml2 %}
<div class="col-sm-{% if saml2 %}6{% else %}12{% endif %}"> <div class="col-sm-6">
<div class="login-form"> <h4 style="padding-top: 0; margin-top: 0;">{% trans "Login with SSO" %}</h4>
<form action="" method="POST"> <a href="{% url "saml2_login" %}">{% trans "Click here!" %}</a>
{% csrf_token %}
{% crispy form %}
</form>
</div> </div>
</div> {% endif %}
{% if saml2 %} </div>
<div class="col-sm-6"> <div class="row">
<h4 style="padding-top: 0; margin-top: 0;">{% trans "Login with SSO" %}</h4> <div class="col-sm-12">
<a href="{% url "saml2_login" %}">{% trans "Click here!" %}</a> <a class="pull-right" href="{% url "accounts.password-reset" %}">{% trans "Forgot your password?" %}</a>
</div> </div>
{% endif %}
</div>
<div class="row">
<div class="col-sm-12">
<a class="pull-right" href="{% url "accounts.password-reset" %}">{% trans "Forgot your password?" %}</a>
</div> </div>
</div> </div>
{% endblock %} {% endblock %}
...@@ -3,17 +3,19 @@ ...@@ -3,17 +3,19 @@
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% get_current_language as LANGUAGE_CODE %} {% get_current_language as LANGUAGE_CODE %}
{% block title %}{% trans "Password reset complete" %}{% endblock %} {% block title-page %}{% trans "Password reset complete" %}{% endblock %}
{% block content %} {% block content %}
<div class="row"> <div class="content">
<div class="login-form-errors"> <div class="row">
{% include "display-form-errors.html" %} <div class="login-form-errors">
</div> {% include "display-form-errors.html" %}
<div class="col-sm-12"> </div>
<div class="alert alert-success"> <div class="col-sm-12">
{% trans "Password change successful!" %} <div class="alert alert-success">
<a href="{% url "accounts.login" %}">{% trans "Click here to login" %}</a> {% trans "Password change successful!" %}
<a href="{% url "accounts.login" %}">{% trans "Click here to login" %}</a>
</div>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -3,26 +3,28 @@ ...@@ -3,26 +3,28 @@
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% get_current_language as LANGUAGE_CODE %} {% get_current_language as LANGUAGE_CODE %}
{% block title %}{% trans "Password reset confirm" %}{% endblock %} {% block title-page %}{% trans "Password reset confirm" %}{% endblock %}
{% block content %} {% block content %}
<div class="row"> <div>
<div class="login-form-errors"> <div class="row">
{% include "display-form-errors.html" %} <div class="login-form-errors">
</div> {% include "display-form-errors.html" %}
<div class="col-sm-12">
<div style="margin: 0 0 25px 0;">
{% blocktrans %}Please enter your new password twice so we can verify you typed it in correctly!{% endblocktrans %}
</div> </div>
<div class="col-sm-12">
{% if form %} <div style="margin: 0 0 25px 0;">
{% crispy form %} {% blocktrans %}Please enter your new password twice so we can verify you typed it in correctly!{% endblocktrans %}
{% else %}
<div class="alert alert-warning">
{% url "accounts.password-reset" as url %}
{% blocktrans with url=url %}This token is expired, please <a href="{{ url }}">request</a> a new password reset link again!{% endblocktrans %}
</div> </div>
{% endif %}
{% if form %}
{% crispy form %}
{% else %}
<div class="alert alert-warning">
{% url "accounts.password-reset" as url %}
{% blocktrans with url=url %}This token is expired, please <a href="{{ url }}">request</a> a new password reset link again!{% endblocktrans %}
</div>
{% endif %}
</div>
</div> </div>
</div> </div>
{% endblock %} {% endblock %}
...@@ -3,16 +3,18 @@ ...@@ -3,16 +3,18 @@
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% get_current_language as LANGUAGE_CODE %} {% get_current_language as LANGUAGE_CODE %}
{% block title %}{% trans "Password reset done" %}{% endblock %} {% block title-page %}{% trans "Password reset done" %}{% endblock %}
{% block content %} {% block content %}
<div class="row"> <div class="content">
<div class="login-form-errors"> <div class="row">
{% include "display-form-errors.html" %} <div class="login-form-errors">
</div> {% include "display-form-errors.html" %}
<div class="col-sm-12"> </div>
<div class="pull-right"><a href="{% url "accounts.login" %}">{% trans "Back to login" %}</a></div> <div class="col-sm-12">
{% trans "We have sent you an email about your next steps!" %} <div class="pull-right"><a href="{% url "accounts.login" %}">{% trans "Back to login" %}</a></div>
{% trans "We have sent you an email about your next steps!" %}
</div>
</div> </div>
</div> </div>
{% endblock %} {% endblock %}
...@@ -3,20 +3,22 @@ ...@@ -3,20 +3,22 @@
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% get_current_language as LANGUAGE_CODE %} {% get_current_language as LANGUAGE_CODE %}
{% block title %}{% trans "Password reset" %}{% endblock %} {% block title-page %}{% trans "Password reset" %}{% endblock %}
{% block content %} {% block content %}
<div class="row"> <div class="content">
<div class="login-form-errors"> <div class="row">
{% include "display-form-errors.html" %} <div class="login-form-errors">
</div> {% include "display-form-errors.html" %}
<div class="col-sm-12"> </div>
<div class="pull-right"><a href="{% url "accounts.login" %}">{% trans "Back to login" %}</a></div> <div class="col-sm-12">
<h4 style="margin: 0 0 25px 0;">{% blocktrans %}Enter your email address to reset your password!{% endblocktrans %}</h4> <div class="pull-right"><a href="{% url "accounts.login" %}">{% trans "Back to login" %}</a></div>
<form action="" method="POST"> <h4 style="margin: 0 0 25px 0;">{% blocktrans %}Enter your email address to reset your password!{% endblocktrans %}</h4>
{% csrf_token %} <form action="" method="POST">
{% crispy form %} {% csrf_token %}
</form> {% crispy form %}
</form>
</div>
</div> </div>
</div> </div>
{% endblock %} {% endblock %}
...@@ -884,14 +884,14 @@ class Instance(AclBase, VirtualMachineDescModel, StatusModel, OperatedMixin, ...@@ -884,14 +884,14 @@ class Instance(AclBase, VirtualMachineDescModel, StatusModel, OperatedMixin,
def get_status_icon(self): def get_status_icon(self):
return { return {
'NOSTATE': 'icon-rocket', 'NOSTATE': 'fa-rocket',
'RUNNING': 'icon-play', 'RUNNING': 'fa-play',
'STOPPED': 'icon-stop', 'STOPPED': 'fa-stop',
'SUSPENDED': 'icon-pause', 'SUSPENDED': 'fa-pause',
'ERROR': 'icon-warning-sign', 'ERROR': 'fa-warning',
'PENDING': 'icon-rocket', 'PENDING': 'fa-rocket',
'DESTROYED': 'icon-trash', 'DESTROYED': 'fa-trash-o',
'MIGRATING': 'icon-truck'}.get(self.status, 'icon-question-sign') 'MIGRATING': 'fa-truck'}.get(self.status, 'fa-question')
def get_activities(self, user=None): def get_activities(self, user=None):
acts = (self.activity_log.filter(parent=None). acts = (self.activity_log.filter(parent=None).
......
...@@ -303,11 +303,11 @@ class Node(OperatedMixin, TimeStampedModel): ...@@ -303,11 +303,11 @@ class Node(OperatedMixin, TimeStampedModel):
def get_status_icon(self): def get_status_icon(self):
return { return {
'OFFLINE': 'icon-minus-sign', 'OFFLINE': 'fa-minus-circle',
'DISABLED': 'icon-moon', 'DISABLED': 'fa-moon',
'MISSING': 'icon-warning-sign', 'MISSING': 'fa-warning',
'ONLINE': 'icon-play-sign'}.get(self.get_state(), 'ONLINE': 'fa-play-circle'}.get(self.get_state(),
'icon-question-sign') 'fa-question-circle')
def get_status_label(self): def get_status_label(self):
return { return {
......
...@@ -154,9 +154,9 @@ class InstanceTestCase(TestCase): ...@@ -154,9 +154,9 @@ class InstanceTestCase(TestCase):
def test_status_icon(self): def test_status_icon(self):
inst = MagicMock(spec=Instance) inst = MagicMock(spec=Instance)
inst.status = 'dummy-value' inst.status = 'dummy-value'
self.assertEqual(Instance.get_status_icon(inst), 'icon-question-sign') self.assertEqual(Instance.get_status_icon(inst), 'fa-question')
inst.status = 'RUNNING' inst.status = 'RUNNING'
self.assertEqual(Instance.get_status_icon(inst), 'icon-play') self.assertEqual(Instance.get_status_icon(inst), 'fa-play')
class InterfaceTestCase(TestCase): class InterfaceTestCase(TestCase):
......
...@@ -25,7 +25,7 @@ log in to it over SSH. ...@@ -25,7 +25,7 @@ log in to it over SSH.
which shoud be correctly printed by :kbd:`hostname -f`. You can achieve which shoud be correctly printed by :kbd:`hostname -f`. You can achieve
this with an IP address (e.g. 127.0.1.1) in :file:`/etc/hosts` having the this with an IP address (e.g. 127.0.1.1) in :file:`/etc/hosts` having the
short hostname as first, and the fqdn as second alias). short hostname as first, and the fqdn as second alias).
Setting up required software Setting up required software
---------------------------- ----------------------------
...@@ -145,7 +145,3 @@ the portal application server:: ...@@ -145,7 +145,3 @@ the portal application server::
sudo start mancelery sudo start mancelery
sudo cp miscellaneous/portal-uwsgi.conf /etc/init/ sudo cp miscellaneous/portal-uwsgi.conf /etc/init/
sudo start portal-uwsgi sudo start portal-uwsgi
...@@ -19,7 +19,7 @@ To get the project running on a development machine, launch a new Ubuntu ...@@ -19,7 +19,7 @@ To get the project running on a development machine, launch a new Ubuntu
To use *git* over *SSH*, we advise enabling SSH *agent forwarding*. To use *git* over *SSH*, we advise enabling SSH *agent forwarding*.
On your terminal computer check if *ssh-agent* is running (the command On your terminal computer check if *ssh-agent* is running (the command
should print a process id):: should print a process id)::
$ echo $SSH_AGENT_PID $ echo $SSH_AGENT_PID
1234 1234
...@@ -46,7 +46,7 @@ You can check agent forwarding on the vm:: ...@@ -46,7 +46,7 @@ You can check agent forwarding on the vm::
.. warning:: .. warning::
If the first character of the hostname of the vm is a digit, you have to If the first character of the hostname of the vm is a digit, you have to
change it, because RabbitMQ won't work with it. :: change it, because RabbitMQ won't work with it. ::
old=$(hostname) old=$(hostname)
new=c-${old} new=c-${old}
sudo tee /etc/hostname <<<$new sudo tee /etc/hostname <<<$new
...@@ -146,7 +146,7 @@ Sync the database and create a superuser:: ...@@ -146,7 +146,7 @@ Sync the database and create a superuser::
circle/manage.py syncdb --all --noinput circle/manage.py syncdb --all --noinput
circle/manage.py migrate --fake circle/manage.py migrate --fake
circle/manage.py createsuperuser --username=test --email=test@example.org circle/manage.py createsuperuser --username=test --email=test@example.org
You can now start the development server:: You can now start the development server::
...@@ -182,7 +182,7 @@ Configuring vim ...@@ -182,7 +182,7 @@ Configuring vim
To follow the coding style of the project more easily, you might want to To follow the coding style of the project more easily, you might want to
configure vim like we do:: configure vim like we do::
mkdir -p ~/.vim/autoload ~/.vim/bundle mkdir -p ~/.vim/autoload ~/.vim/bundle
curl -Sso ~/.vim/autoload/pathogen.vim \ curl -Sso ~/.vim/autoload/pathogen.vim \
https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment