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' 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 *

View file

@ -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()

View file

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

View file

@ -123,17 +123,23 @@
} }
}); });
} }
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();
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 newStatus = router.online ? 'online' : 'offline';
var newStatusHtml = router.online ? status_online_text : status_offline_text; var newStatusHtml = router.online ? status_online_text : status_offline_text;
if (currentStatus !== newStatus) { if (currentStatus !== newStatus) {
$statusTd.html(newStatusHtml); $cell.html(newStatusHtml);
$(document).Toasts('create', { $(document).Toasts('create', {
class: router.online ? 'bg-success' : 'bg-danger', class: router.online ? 'bg-success' : 'bg-danger',
@ -143,8 +149,11 @@
autohide: true autohide: true
}); });
} }
});
} }
} }
}
setInterval(checkStatusChange, 30000); setInterval(checkStatusChange, 30000);
$(document).ready(function() { $(document).ready(function() {
checkStatusChange(); checkStatusChange();