first commit
Some checks failed
ci / deploy (push) Has been cancelled
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (javascript-typescript) (push) Has been cancelled
CodeQL Advanced / Analyze (python) (push) Has been cancelled

This commit is contained in:
Vlastislav Svatek
2026-06-05 10:39:05 +02:00
commit 673e67106e
217 changed files with 76612 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
from django.urls import reverse
from django.utils.safestring import mark_safe
from django_tables2 import Column
from virtualization.models import VirtualMachine
from virtualization.tables import VirtualMachineTable
class VMStatusTable(VirtualMachineTable):
"""
Table for displaying virtual machine LibreNMS status.
"""
librenms_status = Column(
verbose_name="LibreNMS Status",
empty_values=(),
accessor="librenms_status",
orderable=False,
)
def render_librenms_status(self, value, record):
"""Render the LibreNMS status with styles based on sync status."""
sync_url = reverse(
"plugins:netbox_librenms_plugin:vm_librenms_sync",
kwargs={"pk": record.pk},
)
if value:
status = '<span class="text-success"><i class="mdi mdi-check-circle"></i> Synced</span>'
elif value is False:
status = '<span class="text-danger"><i class="mdi mdi-close-circle"></i> Not Found</span>'
else:
status = '<span class="text-secondary"><i class="mdi mdi-help-circle"></i> Unknown</span>'
return mark_safe(f'<a href="{sync_url}">{status}</a>')
class Meta(VirtualMachineTable.Meta):
"""Meta options for VMStatusTable."""
model = VirtualMachine
fields = (
"pk",
"name",
"status",
"cluster",
"cluster_type",
"cluster_group",
"librenms_status",
)
default_columns = (
"name",
"status",
"cluster",
"cluster_type",
"cluster_group",
"librenms_status",
)