Reporting work on dockerization

This commit is contained in:
2023-03-31 17:18:16 +02:00
parent 2e771aa18c
commit f217b9d273
100 changed files with 70 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
{% extends "squeleton.html" %}
{% block page_content %}
<div class="row">
<div class="col-lg-12">
<h1>404 <small>page not found</small></h1>
<br><br>
<a href="{% url 'index' %}" class="btn btn-primary">Back to main page</a>
</div>
</div>
{% endblock %}

View File

@@ -0,0 +1,12 @@
{% extends "squeleton.html" %}
{% block page_content %}
<div class="row">
<div class="col-lg-12">
{{ content|safe }}
</div>
</div>
{% endblock %}

View File

@@ -0,0 +1,108 @@
{% extends "squeleton.html" %}
{% block page_content %}
<div class="row">
<div class="col-md-12">
{% for y in years %}
<div class="col-md-6">
<ul class="pagination">
<li class="disabled"><a>{{ y }}</a></li>
{% for m in months %}
<li {% if m == month and y == year %}class="active"{% endif %}>
<a href="{% url 'history' obj y m %}">{{ m }}</a>
</li>
{% endfor %}
</ul>
</div>
{% endfor %}
</div>
</div>
<div class="row">
<div class="col-md-12">
<h1 class="page-header"><i class="fa fa-{{ fa_icon }} fa-fw"></i> {{ title }}</h1>
<div class="panel panel-default">
<div class="panel-heading">
{% if mean_pc_ok %}
<h4>{{ title1 }} - Mean : {{ mean_pc_ok|floatformat }}</h4>
{% else %}
<h4>{{ title1 }}</h4>
{% endif %}
</div>
<div class="panel-body history-panel">
{% if some_results %}
<div id="chart-pc"></div>
<div class="legend green">{{ legend1.0 }}</div>
<div class="legend orange">{{ legend1.1}}</div>
<div class="legend red">{{ legend1.2 }}</div>
<div class="legend blue">{{ legend1.3 }}</div>
{% else %}
<p>No results</p>
{% endif %}
</div>
</div>
{% if mean_js_data %}
<div class="panel panel-default">
<div class="panel-heading">
<h4>{{ title2 }}</h4>
</div>
<div class="panel-body history-panel">
<div id="chart-mean"></div>
<div class="legend blue">{{ legend2.0 }}</div>
<div class="legend purple">{{ legend2.1}}</div>
</div>
</div>
{% endif %}
</div>
</div>
{% endblock %}
{% block scripts %}
{% load static %}
<script src="{% static 'js/plugins/morris/raphael.min.js' %}"></script>
<script src="{% static 'js/plugins/morris/morris.min.js' %}"></script>
<script>
$(function() {
Morris.Area({
element: 'chart-pc',
data: [
{{ pc_js_data|safe }}
],
xkey: 'period',
ykeys: ['ok', 'warn', 'crit', 'unknown'],
labels: [ {{ js_labels|safe }}],
lineColors: ['#059e0c', '#f0a124', '#e32f2f', '#5d85e9'],
pointSize: 2,
hideHover: 'auto',
smooth: true,
ymax: 100,
ymin: 0,
xLabels: 'day',
resize: true
});
{% if mean_js_data %}
Morris.Line({
element: 'chart-mean',
data: [
{{ mean_js_data|safe }}
],
xkey: 'period',
ykeys: ['mean', 'median'],
labels: ['Mean', 'Median'],
lineColors: ['#628be3', '#e850ad'],
pointSize: 2,
hideHover: 'auto',
xLabels: 'day',
resize: true
});
{% endif %}
});
</script>
{% endblock %}

View File

@@ -0,0 +1,181 @@
{% extends "squeleton.html" %}
{% block page_content %}
<div class="row">
<div class="col-md-12">
<h1 class="page-header"><i class="fa fa-dashboard fa-fw"></i> Updates dashboard</h1>
</div>
</div>
<div class="row">
<div class="col-md-12">
<!-- server list -->
<div class="col-md-4">
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3"><i class="fa fa-list-alt fa-5x"></i></div>
<div class="col-xs-9 text-right huge">Server list</div>
</div>
</div>
<a href="{% url 'server-list' %}">
<div class="panel-footer">
<span class="pull-left">Go to the most recent list</span>
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<!-- packages list -->
<div class="col-md-4">
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3"><i class="fa fa-archive fa-5x"></i></div>
<div class="col-xs-9 text-right huge">Packages list</div>
</div>
</div>
<a href="{% url 'packages-list' %}">
<div class="panel-footer">
<span class="pull-left">Go to the list</span>
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<!-- OS stats -->
<div class="col-md-4">
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3"> <i class="fa fa-pie-chart fa-5x"></i> </div>
<div class="col-xs-9 text-right huge">OS statistics</div>
</div>
</div>
<a href="{% url 'os-statistics' %}">
<div class="panel-footer">
<span class="pull-left">Go to last stats</span>
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<!-- Manage -->
<div class="col-md-4">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-gears fa-5x"></i>
</div>
<div class="col-xs-9 text-right huge">Manage</div>
</div>
</div>
<a href="{% url 'manage' %}">
<div class="panel-footer">
<span class="pull-left">Manage</span>
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<!-- manage-packages -->
<div class="col-md-4">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-gears fa-5x"></i>
</div>
<div class="col-xs-9 text-right huge">Manage Packages</div>
</div>
</div>
<a href="{% url 'manage-packages' %}">
<div class="panel-footer">
<span class="pull-left">Manage Packages</span>
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<!-- server list -->
<div class="col-md-4">
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3"><i class="fa fa-list-alt fa-5x"></i></div>
<div class="col-xs-9 text-right huge">Updates history</div>
</div>
</div>
<a href="{% url 'history' 'updates' %}">
<div class="panel-footer">
<span class="pull-left">Go to last month history</span>
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<!-- history uptime -->
<div class="col-md-4">
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3"> <i class="fa fa-clock-o fa-5x"></i> </div>
<div class="col-xs-9 text-right huge">Uptime history</div>
</div>
</div>
<a href="{% url 'history' 'uptime' %}">
<div class="panel-footer">
<span class="pull-left">Go to last month history</span>
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<!-- history OS -->
<div class="col-md-4">
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-linux fa-5x"></i>
</div>
<div class="col-xs-9 text-right huge">OS history</div>
</div>
</div>
<a href="{% url 'history' 'os' %}">
<div class="panel-footer">
<span class="pull-left">Go to last month history</span>
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@@ -0,0 +1,40 @@
{% extends "squeleton.html" %}
{% block page_content %}
<div class="row">
<div class="col-md-12">
<h1 class="page-header"> <i class="fa fa-archive fa-fw"></i> Manage Packages Import</h1>
<div class="panel panel-default">
<div class="panel-heading">
<h4><i class="fa fa-file"></i> Manage files and imports</h4>
</div>
<div class="panel-body">
<div class="col-md-6">
<div class="table-responsive">
<table id="packages-list" class="table table-bordered table-hover table-striped">
<thead>
<tr>
<th class='text-center'>Date</th>
<th class='text-center'>(re)Import</th>
</tr>
</thead>
<tbody>
{% for d in all_dates %}
<tr>
<td class='text-center'>{{ d.year }}-{{ d.month|stringformat:"02d" }}-{{ d.day|stringformat:"02d" }}</td>
<td class='text-center'><a href="{% url 'import-packages' d.year d.month d.day %}" title="Import"><i class="fa fa-plus text-success fa-lg"></i></a></td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@@ -0,0 +1,56 @@
{% extends "squeleton.html" %}
{% block page_content %}
<div class="row">
<div class="col-md-12">
<h1 class="page-header"> <i class="fa fa-gears fa-fw"></i> Manage dashboard</h1>
<div class="panel panel-default">
<div class="panel-heading">
<h4><i class="fa fa-user"></i> Manage groups</h4>
</div>
<div class="panel-body">
<a href="/admin" class="btn btn-primary">Admin page</a>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h4><i class="fa fa-file"></i> Manage files and imports</h4>
</div>
<div class="panel-body">
<div class="col-md-6">
<div class="table-responsive">
<table id="server-list" class="table table-bordered table-hover table-striped">
<thead>
<tr>
<th class='text-center'>Date</th>
<th class='text-center'>(re)Import</th>
<th class='text-center'>Clear from database</th>
</tr>
</thead>
<tbody>
{% for d in all_dates_status %}
<tr>
<td class='text-center'>{{ d.0.year }}-{{ d.0.month|stringformat:"02d" }}-{{ d.0.day|stringformat:"02d" }}</td>
{% if d.1 %}
<td class='text-center'><a href="{% url 'import' d.0.year d.0.month d.0.day %}" title="Re-import"><i class="fa fa-refresh text-info fa-lg"></i></a></td>
<td class='text-center'><a href="{% url 'purge_statuses_by_date' d.0.year d.0.month d.0.day %}" title="Delete"><i class="fa fa-trash text-danger fa-lg"></i></a></td>
{% else %}
<td class='text-center'><a href="{% url 'import' d.0.year d.0.month d.0.day %}" title="Import"><i class="fa fa-plus text-success fa-lg"></i></a></td>
<td class='text-center'><a href="#" class='disabled' title="Delete"><span class="danger"><i class="fa fa-trash fa-lg text-muted"></i></span></a></td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@@ -0,0 +1,78 @@
{% extends "squeleton.html" %}
{% block page_content %}
<div class="row" id="updates-stats">
<div class="col-md-12">
<h1 class="page-header"><i class="fa fa-pie-chart fa-fw"></i> OS statistics ({{ last_date|date:"Y-m-d" }})</h1>
<div class="panel panel-default">
<div class="panel-heading">
<h4>OS repartition</h4>
</div>
<div class="panel-body">
<div class="col-md-5">
<div id="os-stat"></div>
</div>
<div class="col-md-7">
<table id="os-list" class="table table-bordered table-hover table-striped">
<thead>
<tr>
<th>Hostname</th>
<th>Number</th>
<th>Percentage</th>
</tr>
</thead>
<tbody>
{% for stat in os_stat %}
<tr>
<td>{{ stat.0 }}</td>
<td>{{ stat.1 }}</td>
<td>{{ stat.2|floatformat:2 }}%</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block scripts %}
{% load static %}
<script src="{% static 'js/plugins/morris/raphael.min.js' %}"></script>
<script src="{% static 'js/plugins/morris/morris.min.js' %}"></script>
<script>
$(function() {
Morris.Donut({
element: 'os-stat',
data: [
{{ js_data|safe }}
],
{# colors: ['#0066cc', '#6666ff', '#9900cc', '#ff0066', '#ff3300', '#ff9900', '#ccff33', '#99ff66', '#00cc00', '#009999', '#99ffcc', '#ccccff'], #}
resize: true
});
});
</script>
<script type="text/javascript" src="{% static 'js/datatables.min.js' %}"></script>
<script>
$(document).ready(function(){
$('#os-list').DataTable({
info: false,
paging: false,
searching: false,
order: [[ 2, "desc" ]],
});
});
</script>
{% endblock %}

View File

@@ -0,0 +1,73 @@
{% extends "squeleton.html" %}
{% block page_content %}
<!-- Statistic summary -->
<div class="row">
<div class="col-md-12">
<h1 class="page-header"><i class="fa fa-archive fa-fw"></i> Packages Details</h1>
</div>
</div>
<div class="row">
<div class="col-md-12">
<a href="#" id ="export-to-csv" class="btn btn-primary"><i class="fa fa-table"></i> Exports results to CSV</a>
<div class="table-responsive">
<table id="packages-list" class="table table-bordered table-hover table-striped">
<!--<table id="server-list" class="display" cellspacing="0" width="100%">-->
<thead>
<tr>
<th class='text-center'><i class="fa fa-archive"></i> Packages name </th>
<th class='text-center'><i class="fa fa-star"></i> Number of servers </th>
</tr>
</thead>
<tbody>
{% for p in packages_list %}
<tr>
<td ><a href="{% url 'packages-by-package' p.0 %}">{{ p.0 }}</td>
<td class=text-center>{{ p.1 }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
<div id="to-top"><a href="#top"><i class="fa fa-lg fa-2x fa-arrow-up"></i></a></div>
{% endblock %}
{% block scripts %}
{% load static %}
<!-- export to CSV -->
<!-- source: https://bl.ocks.org/kalebdf/ee7a5e7f44416b2116c0 -->
<script type="text/javascript" src="{% static 'js/html-to-csv.js' %}"></script>
<script>
$(document).ready(function(){
$("#export-to-csv").click(function (event) {
// var outputFile = 'export'
var outputFile = 'export';
outputFile = outputFile.replace('.csv','') + '.csv'
// CSV
exportTableToCSV.apply(this, [$('#packages-list'), outputFile]);
});
});
</script>
<!-- cool server table -->
<script type="text/javascript" src="{% static 'js/datatables.min.js' %}"></script>
<script>
$(document).ready(function() {
$('#packages-list').DataTable({
"paging": false,
});
});
</script>
{% endblock %}

View File

@@ -0,0 +1,79 @@
{% extends "squeleton.html" %}
{% block page_content %}
<!-- Statistic summary -->
<div class="row">
<div class="col-md-12">
<h1 class="page-header"><i class="fa fa-archive fa-fw"></i> Packages Details</h1>
</div>
</div>
<div class="row">
<div class="col-md-12">
<a href="#" id ="export-to-csv" class="btn btn-primary"><i class="fa fa-table"></i> Exports results to CSV</a>
<div class="table-responsive">
<table id="packages-list" class="table table-bordered table-hover table-striped">
<!--<table id="server-list" class="display" cellspacing="0" width="100%">-->
<thead>
<tr>
<th class='text-center'>Hostname</th>
<th class='text-center'><i class="fa fa-archive"></i> Packages name </th>
<th class='text-center'><i class="fa fa-asterisk"></i> Version</th>
</tr>
</thead>
<tbody>
{% for stat in packages %}
<tr>
<td><a href="{% url 'packages-by-host' stat.server %}">{{ stat.server }}</a></td>
<td ><a href="{% url 'packages-by-package' stat.package_name %}">{{ stat.package_name }}</td>
<td >{{ stat.package_version }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
<div id="to-top"><a href="#top"><i class="fa fa-lg fa-2x fa-arrow-up"></i></a></div>
{% endblock %}
{% block scripts %}
{% load static %}
<!-- export to CSV -->
<!-- source: https://bl.ocks.org/kalebdf/ee7a5e7f44416b2116c0 -->
<script type="text/javascript" src="{% static 'js/html-to-csv.js' %}"></script>
<script>
$(document).ready(function(){
$("#export-to-csv").click(function (event) {
// var outputFile = 'export'
var outputFile = 'export';
outputFile = outputFile.replace('.csv','') + '.csv'
// CSV
exportTableToCSV.apply(this, [$('#packages-list'), outputFile]);
});
});
</script>
<!-- cool server table -->
<script type="text/javascript" src="{% static 'js/datatables.min.js' %}"></script>
<script>
$(document).ready(function() {
$('#packages-list').DataTable({
"paging": false,
"order": [[ 1, "asc" ]],
"aoColumns": [
null, null, null
]
});
});
</script>
{% endblock %}

View File

@@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
{% load static %}
<link href="{% static 'css/custom.css' %}" rel="stylesheet">
<link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet">
<link href="{% static 'css/sb-admin.css' %}" rel="stylesheet">
<link href="{% static 'font-awesome/css/font-awesome.min.css' %}" rel="stylesheet" type="text/css">
<link rel="shortcut-icon" type="image/x-icon" href="{% static 'images/favicon.ico' %}">
<link rel="icon" type="image/x-icon" href="{% static 'images/favicon.ico' %}">
<title>Updates Dashboard</title>
</head>
<body>
<div id="page-wrapper">
<!-- Navigation -->
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="navbar-header">
<a class="navbar-brand" href="{% url 'index' %}">Infolegale - Servers information</a>
</div>
<div class="nav navbar-right top-nav">
<!-- <button class="btn btn&#45;lg btn&#45;danger disabled">Confidential information</button> -->
<li><a id="confidential-notice" class="disabled"><i class="fa fa-fw fa-warning"></i> Confidential information</a></li>
</div>
</nav>
<!-- Page -->
<div id="page-wrapper">
<div class="container-fluid">
<div class="row text-center">
<h1 class="page-header"><i class="fa fa-sign-in fa-fw"></i> Login</h1>
</div>
<div class="row">
<div class="col-md-4 col-md-offset-4">
<form method=post class="form-horizontal">
{% csrf_token %}
{% if form.non_field_errors %}
<div class="alert alert-danger">
{{ form.non_field_errors }}
</div>
{% endif %}
<div class="form-group{% if form.username.errors %} has-error{% endif %}">
{{ form.username.errors }}
<label for="{{ form.username.id_for_label }}" class="col-sm-3 control-label">Username</label>
<div class="col-sm-9">
<input type="text" name="username" class="form-control" id="id_username" placeholder="Username" autofocus>
</div>
</div>
<div class="form-group{% if form.password.errors %} has-error{% endif %}">
{{ form.password.errors }}
<label for="{{ form.password.id_for_label }}" class="col-sm-3 control-label">Password</label>
<div class="col-sm-9">
<input type="password" name="password" class="form-control" id="id_password" placeholder="Password">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-3 col-sm-9">
<button type="submit" class="btn btn-success">Sign in</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<script src="{% static 'js/jquery.js' %}"></script>
<script src="{% static 'js/bootstrap.min.js' %}"></script>
</body>
</html>

View File

@@ -0,0 +1,107 @@
{% extends "squeleton.html" %}
{% block page_content %}
<!-- Statistic summary -->
<div class="row">
<div class="col-md-12">
<h1 class="page-header"><i class="fa fa-list-alt fa-fw"></i> Details ({{ results_date|date:"Y-m-d" }} - {{ status_list|length }} servers)</h1>
</div>
</div>
<div class="row">
<div class="col-md-12">
<ul class="pagination">
{% if previous_result_date %}
<li><a href="{% url 'server-list-by-date' previous_result_date.year previous_result_date.month previous_result_date.day %}"> <i class="fa fa-caret-left"></i> Previous result</a></li>
{% else %}
<li class="disabled"><a href="#"><i class="fa fa-caret-left"></i> Previous result</a></li>
{% endif %}
{% if next_result_date %}
<li><a href="{% url 'server-list-by-date' next_result_date.year next_result_date.month next_result_date.day %}">Next result <i class="fa fa-caret-right"></i> </a></li>
{% else %}
<li class="disabled"><a href="#">Next result <i class="fa fa-caret-right"></i></a></li>
{% endif %}
</ul>
</div>
</div>
<div class="row">
<div class="col-md-12">
<a href="#" id ="export-to-csv" class="btn btn-primary"><i class="fa fa-table"></i> Exports results to CSV</a>
<div class="table-responsive">
<table id="server-list" class="table table-bordered table-hover table-striped">
<!--<table id="server-list" class="display" cellspacing="0" width="100%">-->
<thead>
<tr>
<th class='text-center'>OS</th>
<th class='text-center'>Hostname</th>
<th class='text-center'>Updates #</th>
<th class='text-center'>Uptime</th>
</tr>
</thead>
<tbody>
{% for stat in status_list %}
<tr>
<td class='status-{{ stat.os_status }} text-center'>{{ stat.server.os }}</td>
<td><a href="{% url 'packages-by-host' stat.server.hostname %}">{{ stat.server.hostname }}</b></td>
<td class='status-{{ stat.updates_status }} text-center'>{{ stat.updates }}</td>
<td class='status-{{ stat.uptime_status }} text-center'>{{ stat.uptime }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
<div id="to-top"><a href="#top"><i class="fa fa-lg fa-2x fa-arrow-up"></i></a></div>
{% endblock %}
{% block scripts %}
{% load static %}
<!-- export to CSV -->
<!-- source: https://bl.ocks.org/kalebdf/ee7a5e7f44416b2116c0 -->
<script type="text/javascript" src="{% static 'js/html-to-csv.js' %}"></script>
<script>
$(document).ready(function(){
$("#export-to-csv").click(function (event) {
// var outputFile = 'export'
var outputFile = 'export';
outputFile = outputFile.replace('.csv','') + '.csv'
// CSV
exportTableToCSV.apply(this, [$('#server-list'), outputFile]);
});
});
</script>
<!-- cool server table -->
<script type="text/javascript" src="{% static 'js/datatables.min.js' %}"></script>
<script>
// sort updates and uptime by number and put None at the end
jQuery.fn.dataTableExt.oSort['num-none-asc'] = function(x,y) {
if (x == y) return 0;
else if (x == 'None') return 1;
else if (y == 'None') return -1;
else return ((parseInt(x) < parseInt(y)) ? -1 : ((parseInt(x) > parseInt(y)) ? 1 : 0));
};
jQuery.fn.dataTableExt.oSort['num-none-desc'] = function(x,y) {
if (x == y) return 0;
else if (x == 'None') return 1;
else if (y == 'None') return -1;
else return ((parseInt(x) < parseInt(y)) ? 1 : ((parseInt(x) > parseInt(y)) ? -1 : 0));
};
$(document).ready(function() {
$('#server-list').DataTable({
"paging": false,
"order": [[ 1, "asc" ]],
});
});
</script>
{% endblock %}

View File

@@ -0,0 +1,83 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
{% load static %}
<link href="{% static 'css/custom.css' %}" rel="stylesheet">
<link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet">
<link href="{% static 'css/sb-admin.css' %}" rel="stylesheet">
<link href="{% static 'css/plugins/morris.css' %}" rel="stylesheet">
<link href="{% static 'font-awesome/css/font-awesome.min.css' %}" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="{% static 'css/datatables.min.css' %}">
<link rel="shortcut-icon" type="image/x-icon" href="{% static 'images/favicon.ico' %}">
<link rel="icon" type="image/x-icon" href="{% static 'images/favicon.ico' %}">
{% block head %}
{% endblock %}
<title>Updates Dashboard</title>
</head>
<body>
<div id="wrapper">
<!-- Navigation -->
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="navbar-header">
<a class="navbar-brand" href="{% url 'index' %}">Infolegale - Servers Informations</a>
</div>
<div class="nav navbar-right top-nav">
<!-- <button class="btn btn&#45;lg btn&#45;danger disabled">Confidential information</button> -->
<li><a href="{% url 'logout' %}?next=/"><i class="fa fa-fw fa-sign-out"></i> Log out</a></li>
<li><a id="confidential-notice" class="disabled"><i class="fa fa-fw fa-warning"></i> Confidential information</a></li>
</div>
<!-- Sidebar Menu Items -->
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav side-nav">
<li> <a href="{% url 'server-list' %}"><i class="fa fa-fw fa-list-alt"></i> Detailed list</a> </li>
<li> <a href="{% url 'packages-list' %}"><i class="fa fa-fw fa-archive"></i> Packages list</a> </li>
<li> <a href="{% url 'os-statistics' %}"><i class="fa fa-fw fa-pie-chart"></i> OS statistics</a> </li>
<li>
<a class="disabled"><i class="fa fa-fw fa-area-chart"></i> Monthly charts</a></a>
<ul class="collapse visible">
<li> <a href="{% url 'history' 'updates' %}"><i class="fa fa-fw fa-refresh"></i> Updates status</a> </li>
<li> <a href="{% url 'history' 'uptime' %}"><i class="fa fa-fw fa-clock-o"></i> Uptime status</a> </li>
<li> <a href="{% url 'history' 'os' %}"><i class="fa fa-fw fa-linux"></i> OS status</a> </li>
</ul>
</li>
<li> <a href="{% url 'manage' %}"><i class="fa fa-fw fa-gears"></i> Manage</a> </li>
<li> <a href="{% url 'manage-packages' %}"><i class="fa fa-fw fa-gears"></i> Manage Packages</a> </li>
</ul>
</div>
</nav>
<!-- Page -->
<div id="page-wrapper">
<div class="container-fluid">
{% block page_content %}
{% endblock %}
</div>
</div>
</div>
<script src="{% static 'js/jquery.js' %}"></script>
<script src="{% static 'js/bootstrap.min.js' %}"></script>
{% block scripts %}
{% endblock %}
</body>
</html>