mirror of
https://github.com/eduardogsilva/routerfleet.git
synced 2025-06-20 17:15:39 +02:00
Improve compatibility of router list update script and datatable
This commit is contained in:
parent
c0d3a6a971
commit
f2fe560a3d
4 changed files with 45 additions and 32 deletions
|
@ -140,6 +140,6 @@ STATICFILES_DIRS = [
|
||||||
|
|
||||||
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
||||||
MEDIA_ROOT = '/var/lib/routerfleet/'
|
MEDIA_ROOT = '/var/lib/routerfleet/'
|
||||||
ROUTERFLEET_VERSION = 7012
|
ROUTERFLEET_VERSION = 7013
|
||||||
|
|
||||||
from routerfleet.production_settings import *
|
from routerfleet.production_settings import *
|
||||||
|
|
|
@ -11,6 +11,9 @@ def tag_webadmin_version():
|
||||||
if webadmin_settings.current_version != settings.ROUTERFLEET_VERSION:
|
if webadmin_settings.current_version != settings.ROUTERFLEET_VERSION:
|
||||||
webadmin_settings.current_version = settings.ROUTERFLEET_VERSION
|
webadmin_settings.current_version = settings.ROUTERFLEET_VERSION
|
||||||
webadmin_settings.save()
|
webadmin_settings.save()
|
||||||
|
if webadmin_settings.current_version > webadmin_settings.latest_version:
|
||||||
|
webadmin_settings.latest_version = webadmin_settings.current_version
|
||||||
|
webadmin_settings.save()
|
||||||
if webadmin_settings.current_version == webadmin_settings.latest_version:
|
if webadmin_settings.current_version == webadmin_settings.latest_version:
|
||||||
webadmin_settings.update_available = False
|
webadmin_settings.update_available = False
|
||||||
webadmin_settings.save()
|
webadmin_settings.save()
|
||||||
|
|
|
@ -273,24 +273,25 @@
|
||||||
$('.select').chosen();
|
$('.select').chosen();
|
||||||
</script>
|
</script>
|
||||||
<script>
|
<script>
|
||||||
$(function () {
|
var dataTable;
|
||||||
$(".datatables-with-export").DataTable({
|
$(function () {
|
||||||
"responsive": true, "lengthChange": false, "autoWidth": false,
|
$(".datatables-with-export").DataTable({
|
||||||
"buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"]
|
"responsive": true, "lengthChange": false, "autoWidth": false,
|
||||||
}).buttons().container().appendTo('#example1_wrapper .col-md-6:eq(0)');
|
"buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"]
|
||||||
$('.datatables-no-export').DataTable({
|
}).buttons().container().appendTo('#example1_wrapper .col-md-6:eq(0)');
|
||||||
"paging": true,
|
dataTable = $('.datatables-no-export').DataTable({
|
||||||
"lengthChange": true,
|
"paging": true,
|
||||||
"searching": true,
|
"lengthChange": true,
|
||||||
"ordering": true,
|
"searching": true,
|
||||||
"order": [],
|
"ordering": true,
|
||||||
"info": true,
|
"order": [],
|
||||||
"autoWidth": false,
|
"info": true,
|
||||||
"responsive": true,
|
"autoWidth": false,
|
||||||
|
"responsive": true,
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
$('.datatables-with-export').show();
|
||||||
$('.datatables-with-export').show();
|
$('.datatables-no-export').show();
|
||||||
$('.datatables-no-export').show();
|
|
||||||
</script>
|
</script>
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
|
|
|
@ -100,7 +100,7 @@
|
||||||
var group_uuid = "{{ filter_group.uuid|default_if_none:'' }}";
|
var group_uuid = "{{ filter_group.uuid|default_if_none:'' }}";
|
||||||
var status_online_text = '<span style="display: none">online</span><i class="far fa-check-circle text-success" title="Host is Online"></i>';
|
var status_online_text = '<span style="display: none">online</span><i class="far fa-check-circle text-success" title="Host is Online"></i>';
|
||||||
var status_offline_text = '<span style="display: none">offline</span><i class="far fa-times-circle text-danger" title="Host is unavailable"></i>';
|
var status_offline_text = '<span style="display: none">offline</span><i class="far fa-times-circle text-danger" title="Host is unavailable"></i>';
|
||||||
|
|
||||||
function checkStatusChange() {
|
function checkStatusChange() {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "/monitoring/last_status_change/",
|
url: "/monitoring/last_status_change/",
|
||||||
|
@ -123,28 +123,37 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateRouterStatuses(routerList) {
|
function updateRouterStatuses(routerList) {
|
||||||
for (var uuid in routerList) {
|
for (var uuid in routerList) {
|
||||||
var router = routerList[uuid];
|
var router = routerList[uuid];
|
||||||
var $statusTd = $('#status-' + uuid);
|
var cells = dataTable.$('td#status-' + uuid);
|
||||||
var currentStatus = $statusTd.find('span').text().trim();
|
|
||||||
var newStatus = router.online ? 'online' : 'offline';
|
|
||||||
var newStatusHtml = router.online ? status_online_text : status_offline_text;
|
|
||||||
|
|
||||||
if (currentStatus !== newStatus) {
|
if (cells.length) {
|
||||||
$statusTd.html(newStatusHtml);
|
cells.each(function () {
|
||||||
|
var $cell = $(this);
|
||||||
|
var currentStatusContent = $cell.html();
|
||||||
|
var $currentSpan = $cell.find('span');
|
||||||
|
var currentStatus = $currentSpan.length ? $currentSpan.text().trim() : '';
|
||||||
|
|
||||||
$(document).Toasts('create', {
|
var newStatus = router.online ? 'online' : 'offline';
|
||||||
class: router.online ? 'bg-success' : 'bg-danger',
|
var newStatusHtml = router.online ? status_online_text : status_offline_text;
|
||||||
title: 'Host status updated',
|
|
||||||
body: 'Host ' + router.name + ' is now ' + newStatus,
|
if (currentStatus !== newStatus) {
|
||||||
delay: 10000,
|
$cell.html(newStatusHtml);
|
||||||
autohide: true
|
|
||||||
|
$(document).Toasts('create', {
|
||||||
|
class: router.online ? 'bg-success' : 'bg-danger',
|
||||||
|
title: 'Host status updated',
|
||||||
|
body: 'Host ' + router.name + ' is now ' + newStatus,
|
||||||
|
delay: 10000,
|
||||||
|
autohide: true
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setInterval(checkStatusChange, 30000);
|
setInterval(checkStatusChange, 30000);
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
checkStatusChange();
|
checkStatusChange();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue