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,12 +273,13 @@
$('.select').chosen();
</script>
<script>
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)');
$('.datatables-no-export').DataTable({
dataTable = $('.datatables-no-export').DataTable({
"paging": true,
"lengthChange": true,
"searching": true,

View file

@ -123,17 +123,23 @@
}
});
}
function updateRouterStatuses(routerList) {
for (var uuid in routerList) {
var router = routerList[uuid];
var $statusTd = $('#status-' + uuid);
var currentStatus = $statusTd.find('span').text().trim();
var cells = dataTable.$('td#status-' + uuid);
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() : '';
var newStatus = router.online ? 'online' : 'offline';
var newStatusHtml = router.online ? status_online_text : status_offline_text;
if (currentStatus !== newStatus) {
$statusTd.html(newStatusHtml);
$cell.html(newStatusHtml);
$(document).Toasts('create', {
class: router.online ? 'bg-success' : 'bg-danger',
@ -143,8 +149,11 @@
autohide: true
});
}
});
}
}
}
setInterval(checkStatusChange, 30000);
$(document).ready(function() {
checkStatusChange();