Revision 634e55b3
b/snf-cyclades-app/synnefo/helpdesk/static/css/extra.css | ||
---|---|---|
102 | 102 |
.account-form { float: right; margin-top: 2px; margin-bottom: 0} |
103 | 103 |
.info-block { margin-top: 30px; background-color: #fff} |
104 | 104 |
|
105 |
.info-block h3 .badge { float: right; font-size: 0.8em; padding: 5px 8px;} |
|
105 |
.info-block h3 .badge { float: right; font-size: 0.8em; padding: 5px 8px; background-color:#659CEF;}
|
|
106 | 106 |
.info-block table { margin-bottom: 0 } |
107 |
.object-details h5 { float: right; margin-top: 10px; margin-right: 10px; font-size: 1em; color: #3A87AD }
|
|
107 |
.object-details h5 { float: right; margin-top: 10px; margin-right: 10px; font-size: 1em; color: #D9397E }
|
|
108 | 108 |
.object-anchor { margin-bottom: 70px } |
109 | 109 |
|
110 | 110 |
|
111 | 111 |
.subnav a.deleted { color: #F00 !important } |
112 |
|
|
113 |
|
|
114 |
/* new styles olga */ |
|
115 |
.search-query { border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px; } |
|
116 |
a { color:#659CEF; } |
|
117 |
a:hover { color:#2956B2 } |
|
118 |
h3 { color:#D61153; font-size:21px;} |
|
119 |
h4 { font-size:18px; margin-bottom:1em; color:#F46906; } |
|
120 |
input:focus, |
|
121 |
textarea:focus { |
|
122 |
border-color: #659CEF; |
|
123 |
outline: 0; |
|
124 |
outline: thin dotted \9; |
|
125 |
/* IE6-9 */ |
|
126 |
|
|
127 |
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px #659CEF; |
|
128 |
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px #659CEF; |
|
129 |
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px #659CEF; |
|
130 |
} |
|
131 |
|
|
132 |
.object-details-content { margin:1em 0; } |
|
133 |
.nav-tabs { margin:0; border:0 none; } |
|
134 |
.tab-content .dl-horizontal { margin:0; } |
|
135 |
.nav-tabs > .active > a, |
|
136 |
.nav-tabs > .active > a:hover { background-color:#F5F5F5; color:#2956B2; font-weight:bold;} |
|
137 |
.nav-tabs > li { margin-bottom:-2px; } |
|
138 |
.badge { border-radius:4px; -moz-border-radius:4px; -webkit-border-radius:5px; } |
|
139 |
.object-details .badge { margin-right:8px; } |
|
140 |
.label-success, |
|
141 |
.badge-success { background-color:#8BBA00 } |
|
142 |
.badge-important { background-color: #F81A23; } |
|
143 |
.badge-info { background-color:#659CEF } |
b/snf-cyclades-app/synnefo/helpdesk/static/js/common.js | ||
---|---|---|
26 | 26 |
}) |
27 | 27 |
|
28 | 28 |
$win.on('scroll', processScroll) |
29 |
|
|
29 |
|
|
30 |
|
|
31 |
|
|
32 |
|
|
30 | 33 |
}) |
31 | 34 |
|
b/snf-cyclades-app/synnefo/helpdesk/templates/helpdesk/account.html | ||
---|---|---|
3 | 3 |
{% block extraheader %} |
4 | 4 |
<small>/ {{ account }}</small> |
5 | 5 |
{% endblock %} |
6 |
|
|
6 | 7 |
{% block content %} |
7 | 8 |
<div class="subnav"> |
8 | 9 |
<ul class="nav nav-pills"> |
... | ... | |
40 | 41 |
<h3>Account</h3> |
41 | 42 |
<div class="object-details"> |
42 | 43 |
<div class="vm-details-content object-details-content"> |
43 |
<h5>Details</h5> |
|
44 |
<dl class="dl-horizontal well"> |
|
45 |
<dt>Username</dt><dd>{{ account }}</dd> |
|
46 |
<dt>Virtual machines</dt><dd>{{ vms|length }}</dd> |
|
47 |
<dt>Networks</dt><dd>{{ networks|length }}</dd> |
|
48 |
</dl> |
|
44 |
<ul class="nav nav-tabs"> |
|
45 |
<li class="active"><a href="#details{{ account }}" data-toggle="tab">Details</a></li> |
|
46 |
</ul> |
|
47 |
<div class="tab-content"> |
|
48 |
<div class="tab-pane active" id="details{{ account }}"> |
|
49 |
<dl class="dl-horizontal well"> |
|
50 |
<dt>Username</dt><dd>{{ account }}</dd> |
|
51 |
<dt>Virtual machines</dt><dd>{{ vms|length }}</dd> |
|
52 |
<dt>Networks</dt><dd>{{ networks|length }}</dd> |
|
53 |
</dl> |
|
54 |
</div> |
|
55 |
</div> |
|
49 | 56 |
</div> |
50 | 57 |
</div> |
51 | 58 |
</div> |
b/snf-cyclades-app/synnefo/helpdesk/templates/helpdesk/base.html | ||
---|---|---|
30 | 30 |
<script src="{{ MEDIA_URL }}helpdesk/js/jquery.js"></script> |
31 | 31 |
<script src="{{ MEDIA_URL }}helpdesk/js/bootstrap.js"></script> |
32 | 32 |
<script src="{{ MEDIA_URL }}helpdesk/js/common.js"></script> |
33 |
|
|
33 | 34 |
</body> |
34 | 35 |
</html> |
b/snf-cyclades-app/synnefo/helpdesk/templates/helpdesk/networks_list.html | ||
---|---|---|
5 | 5 |
<span class="badge badge-info">ID: {{ network.pk }}</span> |
6 | 6 |
{{ network|network_deleted_badge|safe }} |
7 | 7 |
<div class="network-details-content object-details-content"> |
8 |
<h5>Details</h5> |
|
9 |
<dl class="dl-horizontal well"> |
|
10 |
<dt>ID</dt><dd>{{ network.pk }}</dd> |
|
11 |
<dt>Name</dt><dd>{{ network.name }}</dd> |
|
12 |
<dt>Public</dt><dd>{{ network.public }}</dd> |
|
13 |
<dt>User ID</dt><dd>{{ network.userid }}</dd> |
|
14 |
<dt>Created</dt><dd>{{ network.created }}</dd> |
|
15 |
<dt>Updated</dt><dd>{{ network.updated }}</dd> |
|
16 |
<dt>State</dt><dd>{{ network.get_state_display }} ({{ network.state }})</dd> |
|
17 |
</dl> |
|
8 |
<ul class="nav nav-tabs"> |
|
9 |
<li class="active"><a href="#details{{ network.pk }}" data-toggle="tab">Details</a></li> |
|
10 |
</ul> |
|
11 |
<div class="tab-content"> |
|
12 |
<div class="tab-pane active" id="details{{ network.pk }}"> |
|
13 |
<dl class="dl-horizontal well"> |
|
14 |
<dt>ID</dt><dd>{{ network.pk }}</dd> |
|
15 |
<dt>Name</dt><dd>{{ network.name }}</dd> |
|
16 |
<dt>Public</dt><dd>{{ network.public }}</dd> |
|
17 |
<dt>User ID</dt><dd>{{ network.userid }}</dd> |
|
18 |
<dt>Created</dt><dd>{{ network.created }}</dd> |
|
19 |
<dt>Updated</dt><dd>{{ network.updated }}</dd> |
|
20 |
<dt>State</dt><dd>{{ network.get_state_display }} ({{ network.state }})</dd> |
|
21 |
</dl> |
|
22 |
</div> |
|
23 |
</div> |
|
24 |
|
|
25 |
|
|
18 | 26 |
</div> |
19 | 27 |
</div> |
20 | 28 |
|
b/snf-cyclades-app/synnefo/helpdesk/templates/helpdesk/vms_list.html | ||
---|---|---|
11 | 11 |
<span class="disk">{{ vm.flavor.disk }}GB</span> |
12 | 12 |
</span> |
13 | 13 |
<div class="vm-details-content object-details-content"> |
14 |
<h5>Details</h5> |
|
15 |
<dl class="dl-horizontal well"> |
|
16 |
<dt>ID</dt><dd>{{ vm.pk }}</dd> |
|
17 |
<dt>Name</dt><dd>{{ vm.name }}</dd> |
|
18 |
<dt>User id</dt><dd>{{ vm.userid }}</dd> |
|
19 |
<dt>Created</dt><dd>{{ vm.created }}</dd> |
|
20 |
<dt>Updated</dt><dd>{{ vm.updated }}</dd> |
|
21 |
<dt>Suspended</dt><dd>{{ vm.suspended }}</dd> |
|
22 |
<dt>Deleted</dt><dd>{{ vm.deleted }}</dd> |
|
23 |
<dt>Image id</dt><dd>{{ vm.imageid }}</dd> |
|
24 |
<dt>Flavor</dt><dd>{{ vm.flavor.cpu }}, |
|
25 |
{{ vm.flavor.disk }}, |
|
26 |
{{ vm.flavor.ram }}, |
|
27 |
{{ vm.flavor.disk_template }}</dd> |
|
28 |
</dl> |
|
29 |
<h5>Metadata</h5> |
|
30 |
<dl class="dl-horizontal well"> |
|
31 |
{% for meta in vm.metadata.all %} |
|
32 |
<dt>{{ meta.meta_key }}</dt><dd>{{ meta.meta_value }}</dd> |
|
33 |
{% empty %} |
|
34 |
<dt>No metadata</dt> |
|
35 |
{% endfor %} |
|
36 |
</dl> |
|
37 |
<h5>Backend info</h5> |
|
38 |
<dl class="dl-horizontal well"> |
|
39 |
<dt>Action</dt><dd>{{ vm.get_action_display }} ({{ vm.action }})</dd> |
|
40 |
<dt>Operstate</dt><dd>{{ vm.get_operstate_display }} ({{ vm.operstate }})</dd> |
|
41 |
<dt>Backend job id</dt><dd>{{ vm.backendjobid }}</dd> |
|
42 |
<dt>Backend op code</dt><dd>{{ vm.get_backendopcode_display }} ({{ vm.backendopcode }})</dd> |
|
43 |
<dt>Backend log msg</dt><dd>{{ vm.backendlogmsg }}</dd> |
|
44 |
<dt>Build percentage</dt><dd>{{ vm.buildpercentage }}</dd> |
|
45 |
</dl> |
|
46 |
<h5>Network interfaces</h5> |
|
47 |
<table class="table well"> |
|
48 |
<thead> |
|
49 |
<td>ID</td> |
|
50 |
<td>Network (ID)</td> |
|
51 |
<td>Created</td> |
|
52 |
<td>Updated</td> |
|
53 |
<td>Index</td> |
|
54 |
<td>MAC</td> |
|
55 |
<td>IPv4</td> |
|
56 |
<td>IPv6</td> |
|
57 |
<td>Firewall</td> |
|
58 |
</thead> |
|
59 |
<tbody> |
|
60 |
{% for nic in vm.nics.all %} |
|
61 |
<tr> |
|
62 |
<td>{{ nic.pk }}</td> |
|
63 |
<td>{{ nic.network }} ({{ nic.network.pk }})</td> |
|
64 |
<td>{{ nic.created }}</td> |
|
65 |
<td>{{ nic.updated }}</td> |
|
66 |
<td>{{ nic.index }}</td> |
|
67 |
<td>{{ nic.mac }}</td> |
|
68 |
<td>{{ nic.ipv4 }}</td> |
|
69 |
<td>{{ nic.ipv6 }}</td> |
|
70 |
<td>{{ nic.get_firewall_profile_display }} ({{nic.firewall_profile}})</td> |
|
71 |
</tr> |
|
72 |
{% empty %} |
|
73 |
<tr> |
|
74 |
<td colspan=9>No network interface available</td> |
|
75 |
</tr> |
|
76 |
{% endfor %} |
|
77 |
</tbody> |
|
78 |
</table> |
|
14 |
|
|
15 |
<ul class="nav nav-tabs"> |
|
16 |
<li class="active"><a href="#details{{ vm.pk }}" data-toggle="tab">Details</a></li> |
|
17 |
<li><a href="#metadata{{ vm.pk }}" data-toggle="tab">Metadata</a></li> |
|
18 |
<li><a href="#backend{{ vm.pk }}" data-toggle="tab">Backend info</a></li> |
|
19 |
<li><a href="#network{{ vm.pk }}" data-toggle="tab">Network interfaces</a></li> |
|
20 |
</ul> |
|
21 |
<div class="tab-content"> |
|
22 |
<div class="tab-pane active" id="details{{ vm.pk }}"> |
|
23 |
<dl class="dl-horizontal well"> |
|
24 |
<dt>ID</dt><dd>{{ vm.pk }}</dd> |
|
25 |
<dt>Name</dt><dd>{{ vm.name }}</dd> |
|
26 |
<dt>User id</dt><dd>{{ vm.userid }}</dd> |
|
27 |
<dt>Created</dt><dd>{{ vm.created }}</dd> |
|
28 |
<dt>Updated</dt><dd>{{ vm.updated }}</dd> |
|
29 |
<dt>Suspended</dt><dd>{{ vm.suspended }}</dd> |
|
30 |
<dt>Deleted</dt><dd>{{ vm.deleted }}</dd> |
|
31 |
<dt>Image id</dt><dd>{{ vm.imageid }}</dd> |
|
32 |
<dt>Flavor</dt><dd>{{ vm.flavor.cpu }}, |
|
33 |
{{ vm.flavor.disk }}, |
|
34 |
{{ vm.flavor.ram }}, |
|
35 |
{{ vm.flavor.disk_template }}</dd> |
|
36 |
</dl> |
|
37 |
</div> |
|
38 |
<div class="tab-pane" id="metadata{{ vm.pk }}"> |
|
39 |
<dl class="dl-horizontal well"> |
|
40 |
{% for meta in vm.metadata.all %} |
|
41 |
<dt>{{ meta.meta_key }}</dt><dd>{{ meta.meta_value }}</dd> |
|
42 |
{% empty %} |
|
43 |
<dt>No metadata</dt> |
|
44 |
{% endfor %} |
|
45 |
</dl> |
|
46 |
</div> |
|
47 |
<div class="tab-pane" id="backend{{ vm.pk }}"> |
|
48 |
<dl class="dl-horizontal well"> |
|
49 |
<dt>Action</dt><dd>{{ vm.get_action_display }} ({{ vm.action }})</dd> |
|
50 |
<dt>Operstate</dt><dd>{{ vm.get_operstate_display }} ({{ vm.operstate }})</dd> |
|
51 |
<dt>Backend job id</dt><dd>{{ vm.backendjobid }}</dd> |
|
52 |
<dt>Backend op code</dt><dd>{{ vm.get_backendopcode_display }} ({{ vm.backendopcode }})</dd> |
|
53 |
<dt>Backend log msg</dt><dd>{{ vm.backendlogmsg }}</dd> |
|
54 |
<dt>Build percentage</dt><dd>{{ vm.buildpercentage }}</dd> |
|
55 |
</dl> |
|
56 |
</div> |
|
57 |
<div class="tab-pane" id="network{{ vm.pk }}"> |
|
58 |
<table class="table well"> |
|
59 |
<thead> |
|
60 |
<td>ID</td> |
|
61 |
<td>Network (ID)</td> |
|
62 |
<td>Created</td> |
|
63 |
<td>Updated</td> |
|
64 |
<td>Index</td> |
|
65 |
<td>MAC</td> |
|
66 |
<td>IPv4</td> |
|
67 |
<td>IPv6</td> |
|
68 |
<td>Firewall</td> |
|
69 |
</thead> |
|
70 |
<tbody> |
|
71 |
{% for nic in vm.nics.all %} |
|
72 |
<tr> |
|
73 |
<td>{{ nic.pk }}</td> |
|
74 |
<td>{{ nic.network }} ({{ nic.network.pk }})</td> |
|
75 |
<td>{{ nic.created }}</td> |
|
76 |
<td>{{ nic.updated }}</td> |
|
77 |
<td>{{ nic.index }}</td> |
|
78 |
<td>{{ nic.mac }}</td> |
|
79 |
<td>{{ nic.ipv4 }}</td> |
|
80 |
<td>{{ nic.ipv6 }}</td> |
|
81 |
<td>{{ nic.get_firewall_profile_display }} ({{nic.firewall_profile}})</td> |
|
82 |
</tr> |
|
83 |
{% empty %} |
|
84 |
<tr> |
|
85 |
<td colspan=9>No network interface available</td> |
|
86 |
</tr> |
|
87 |
{% endfor %} |
|
88 |
</tbody> |
|
89 |
</table> |
|
90 |
</div> |
|
91 |
</div> |
|
79 | 92 |
</div> |
80 | 93 |
</div> |
Also available in: Unified diff