Improve compatibility of router list update script and datatable

This commit is contained in:
Eduardo Silva 2024-04-15 16:55:07 -03:00
parent c0d3a6a971
commit f2fe560a3d
4 changed files with 45 additions and 32 deletions

View file

@ -140,6 +140,6 @@ STATICFILES_DIRS = [
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
MEDIA_ROOT = '/var/lib/routerfleet/'
ROUTERFLEET_VERSION = 7012
ROUTERFLEET_VERSION = 7013
from routerfleet.production_settings import *

View file

@ -11,6 +11,9 @@ def tag_webadmin_version():
if webadmin_settings.current_version != settings.ROUTERFLEET_VERSION:
webadmin_settings.current_version = settings.ROUTERFLEET_VERSION
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:
webadmin_settings.update_available = False
webadmin_settings.save()

View file

@ -273,24 +273,25 @@
$('.select').chosen();
</script>
<script>
$(function () {
$(".datatables-with-export").DataTable({
"responsive": true, "lengthChange": false, "autoWidth": false,
"buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"]
}).buttons().container().appendTo('#example1_wrapper .col-md-6:eq(0)');
$('.datatables-no-export').DataTable({
"paging": true,
"lengthChange": true,
"searching": true,
"ordering": true,
"order": [],
"info": true,
"autoWidth": false,
"responsive": true,
var dataTable;
$(function () {
$(".datatables-with-export").DataTable({
"responsive": true, "lengthChange": false, "autoWidth": false,
"buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"]
}).buttons().container().appendTo('#example1_wrapper .col-md-6:eq(0)');
dataTable = $('.datatables-no-export').DataTable({
"paging": true,
"lengthChange": true,
"searching": true,
"ordering": true,
"order": [],
"info": true,
"autoWidth": false,
"responsive": true,
});
});
});
$('.datatables-with-export').show();
$('.datatables-no-export').show();
$('.datatables-with-export').show();
$('.datatables-no-export').show();
</script>
<script>
$(document).ready(function() {

View file

@ -100,7 +100,7 @@
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_offline_text = '<span style="display: none">offline</span><i class="far fa-times-circle text-danger" title="Host is unavailable"></i>';
function checkStatusChange() {
$.ajax({
url: "/monitoring/last_status_change/",
@ -123,28 +123,37 @@
}
});
}
function updateRouterStatuses(routerList) {
for (var uuid in routerList) {
var router = routerList[uuid];
var $statusTd = $('#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;
var cells = dataTable.$('td#status-' + uuid);
if (currentStatus !== newStatus) {
$statusTd.html(newStatusHtml);
if (cells.length) {
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', {
class: router.online ? 'bg-success' : 'bg-danger',
title: 'Host status updated',
body: 'Host ' + router.name + ' is now ' + newStatus,
delay: 10000,
autohide: true
var newStatus = router.online ? 'online' : 'offline';
var newStatusHtml = router.online ? status_online_text : status_offline_text;
if (currentStatus !== newStatus) {
$cell.html(newStatusHtml);
$(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);
$(document).ready(function() {
checkStatusChange();