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!" %}"/>
......
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