Skip to content
Snippets Groups Projects
Commit 0d2af35b authored by Tim Fechner's avatar Tim Fechner
Browse files

Improve dashboard, add numberic statistic fields

parent 1ca651a7
No related branches found
No related tags found
1 merge request!1Improve dashboard, add numberic statistic fields
Pipeline #
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
@import (inline) "../../../node_modules/vis/dist/vis.css"; @import (inline) "../../../node_modules/vis/dist/vis.css";
/* Now import own styles */ /* Now import own styles */
@import "variables.less";
@import "base.less"; @import "base.less";
@import "login.less"; @import "login.less";
@import "sidebar.less"; @import "sidebar.less";
......
...@@ -6,3 +6,18 @@ ...@@ -6,3 +6,18 @@
border-top: 1px solid #ddd; border-top: 1px solid #ddd;
} }
.numeric-info {
text-align: center;
border: 1px solid #ddd;
padding: 25px 0px;
margin-bottom: 25px;
.number {
display: block;
font-size: 35px;
}
.description {
display: block;
}
}
@navy: #001f3f;
@blue: #0074D9;
@aqua: #7FDBFF;
@teal: #39CCCC;
@olive: #3D9970;
@green: #2ECC40;
@lime: #01FF70;
@yellow: #FFDC00;
@orange: #FF851B;
@red: #FF4136;
@maroon: #85144b;
@fuchsia: #F012BE;
@purple: #B10DC9;
@black: #111111;
@gray: #AAAAAA;
@silver: #DDDDDD;
Source diff could not be displayed: it is too large. Options to address this: view the blob.
...@@ -6,12 +6,35 @@ ...@@ -6,12 +6,35 @@
{% block home-content %} {% block home-content %}
<div class="row"> <div class="row">
<div class="col-md-6 col-lg-8"> <div class="col-sm-6 col-md-3">
<div class="numeric-info">
<span class="number">{{ all_minions|length }}</span>
<span class="description">Minions</span>
</div>
</div>
<div class="col-sm-6 col-md-3">
<div class="numeric-info">
<span class="number">{{ all_networks|length }}</span>
<span class="description">Networks</span>
</div>
</div>
<div class="col-sm-6 col-md-3">
<div class="numeric-info">
<span class="number">{{ all_domains|length }}</span>
<span class="description">Domains</span>
</div>
</div>
<div class="col-sm-6 col-md-3">
<div class="numeric-info">
<span class="number">{{ all_users|length }}</span>
<span class="description">Users</span>
</div>
</div>
</div> </div>
<div class="col-md-6 col-lg-4">
<div class="panel panel-danger"> <div class="row">
<div class="col-lg-4">
<div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<h3 class="panel-title">Fullest 5 Minions</h3> <h3 class="panel-title">Fullest 5 Minions</h3>
</div> </div>
...@@ -32,8 +55,9 @@ ...@@ -32,8 +55,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
</div>
<div class="panel panel-info"> <div class="col-lg-4">
<div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<h3 class="panel-title">Worst 5 outdated Minions</h3> <h3 class="panel-title">Worst 5 outdated Minions</h3>
</div> </div>
...@@ -54,8 +78,9 @@ ...@@ -54,8 +78,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
</div>
<div class="panel panel-info"> <div class="col-lg-4">
<div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<h3 class="panel-title">Worst 5 Certs</h3> <h3 class="panel-title">Worst 5 Certs</h3>
</div> </div>
......
from django.contrib.auth.models import User
from django.template import Context, Template from django.template import Context, Template
from django.views.generic import View, TemplateView from django.views.generic import View, TemplateView
from django.views.generic.list import ListView from django.views.generic.list import ListView
...@@ -69,11 +70,19 @@ class Dashboard(TemplateView): ...@@ -69,11 +70,19 @@ class Dashboard(TemplateView):
template_name = 'home/dashboard.html' template_name = 'home/dashboard.html'
def get_context_data(self, *args, **kwargs): def get_context_data(self, *args, **kwargs):
all_minions = Minion.objects.all()
all_networks = Network.objects.all()
all_domains = Domain.objects.all()
ctx = super().get_context_data(*args, **kwargs) ctx = super().get_context_data(*args, **kwargs)
ctx.update({ ctx.update({
'w5_outdated_minions': sorted(Minion.objects.all(), key=lambda m: m.outdated_package_count(), reverse=True)[:5], 'all_minions': all_minions,
'w5_fullest_minions': sorted(Minion.objects.all(), key=lambda m: m.fullest_partition_percentage(), reverse=True)[:5], 'all_networks': all_networks,
'w5_domain_ssl_grades': sorted(Domain.objects.all(), key=lambda d: d.worst_grade(), reverse=True)[:5], 'all_domains': all_domains,
'all_users': User.objects.all(),
'w5_outdated_minions': sorted(all_minions, key=lambda m: m.outdated_package_count(), reverse=True)[:5],
'w5_fullest_minions': sorted(all_minions, key=lambda m: m.fullest_partition_percentage(), reverse=True)[:5],
'w5_domain_ssl_grades': sorted(all_domains, key=lambda d: d.worst_grade(), reverse=True)[:5],
}) })
return ctx return ctx
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment