diff --git a/circle/dashboard/static/dashboard/dashboard.js b/circle/dashboard/static/dashboard/dashboard.js index 5919d1f..4fe2cdf 100644 --- a/circle/dashboard/static/dashboard/dashboard.js +++ b/circle/dashboard/static/dashboard/dashboard.js @@ -238,6 +238,7 @@ $(function () { 'name': result[i].name.toLowerCase(), 'icon': result[i].icon, 'status': result[i].status, + 'label': result[i].label, 'url': result[i].url, }); } @@ -254,7 +255,7 @@ $(function () { } } for(var i=0; i<5 && i<search_result.length; i++) - html += generateNodeHTML(search_result[i].pk, search_result[i].name, + html += generateNodeHTML(search_result[i].name, search_result[i].icon, search_result[i].status, search_result[i].url); if(search_result.length == 0) @@ -264,9 +265,9 @@ $(function () { html = ''; for(var i=0; i<5 && i<search_result.length; i++) - html += generateNodeTagHTML(search_result[i].pk, search_result[i].name, + html += generateNodeTagHTML(search_result[i].name, search_result[i].icon, search_result[i].status, - search_result[i].url); + search_result[i].label, search_result[i].url); if(search_result.length == 0) html += '<div class="list-group-item">No result</div>'; $("#dashboard-node-taglist").html(html); @@ -305,7 +306,7 @@ function generateVmHTML(pk, name, host, icon, _status, fav) { '</a>'; } -function generateNodeHTML(pk, name, icon, _status, url) { +function generateNodeHTML(name, icon, _status, url) { return '<a href="' + url + '" class="list-group-item" >' + '<span class="index-node-list-name">' + '<i class="' + icon + '" title="' + _status + '"></i> ' + name + @@ -314,8 +315,8 @@ function generateNodeHTML(pk, name, icon, _status, url) { '</a>'; } -function generateNodeTagHTML(pk, name, icon, _status, url) { - return '<a href="' + url + '" class="label label-danger" >' + +function generateNodeTagHTML(name, icon, _status, label , url) { + return '<a href="' + url + '" class="label ' + label + '" >' + '<i class="' + icon + '" title="' + _status + '"></i> ' + name + '</a> '; } diff --git a/circle/dashboard/views.py b/circle/dashboard/views.py index cd7767f..0cbb09d 100644 --- a/circle/dashboard/views.py +++ b/circle/dashboard/views.py @@ -933,6 +933,7 @@ class NodeList(LoginRequiredMixin, SuperuserRequiredMixin, SingleTableView): 'name': i.name, 'icon': i.get_status_icon(), 'url': i.get_absolute_url(), + 'label': i.get_status_label(), 'status': i.state.lower()} for i in nodes] return HttpResponse( diff --git a/circle/vm/models/node.py b/circle/vm/models/node.py index 8bcc1f0..199ea2f 100644 --- a/circle/vm/models/node.py +++ b/circle/vm/models/node.py @@ -278,9 +278,9 @@ class Node(OperatedMixin, TimeStampedModel): def get_status_label(self): return { - 'OFFLINE': 'label-warning', - 'DISABLED': 'label-warning', - 'MISSING': 'label-danger', + 'OFFLINE': 'label-danger', + 'DISABLED': 'label-danger', + 'MISSING': 'label-warning', 'ONLINE': 'label-success'}.get(self.get_state(), 'label-danger')