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

Merge branch 'improve_dashboard' into 'master'

Improve dashboard, add numberic statistic fields



See merge request !1
parents 1ca651a7 0d2af35b
No related branches found
No related tags found
1 merge request!1Improve dashboard, add numberic statistic fields
Pipeline #
......@@ -5,6 +5,7 @@
@import (inline) "../../../node_modules/vis/dist/vis.css";
/* Now import own styles */
@import "variables.less";
@import "base.less";
@import "login.less";
@import "sidebar.less";
......
......@@ -6,3 +6,18 @@
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 @@
{% block home-content %}
<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 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">
<h3 class="panel-title">Fullest 5 Minions</h3>
</div>
......@@ -32,8 +55,9 @@
</tbody>
</table>
</div>
<div class="panel panel-info">
</div>
<div class="col-lg-4">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Worst 5 outdated Minions</h3>
</div>
......@@ -54,8 +78,9 @@
</tbody>
</table>
</div>
<div class="panel panel-info">
</div>
<div class="col-lg-4">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Worst 5 Certs</h3>
</div>
......
from django.contrib.auth.models import User
from django.template import Context, Template
from django.views.generic import View, TemplateView
from django.views.generic.list import ListView
......@@ -69,11 +70,19 @@ class Dashboard(TemplateView):
template_name = 'home/dashboard.html'
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.update({
'w5_outdated_minions': sorted(Minion.objects.all(), key=lambda m: m.outdated_package_count(), reverse=True)[:5],
'w5_fullest_minions': sorted(Minion.objects.all(), key=lambda m: m.fullest_partition_percentage(), reverse=True)[:5],
'w5_domain_ssl_grades': sorted(Domain.objects.all(), key=lambda d: d.worst_grade(), reverse=True)[:5],
'all_minions': all_minions,
'all_networks': all_networks,
'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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment