{% load helpers %} {% include 'inc/messages.html' %} {% if request.htmx %} {% include "netbox_librenms_plugin/inc/_sync_cache_countdown.html" with cache_expiry=module_sync.cache_expiry cache_container_id="module-cache-countdown" cache_countdown_id="module-countdown-timer" cache_oob=True %} {% endif %} {% if module_sync.table %} {# Migrated donors must not install: drop the whole form (not just the button) so install_selected isn't a live POST target / wired JS handler in migrated mode — matching the other sync-content templates. #} {% if has_write_permission and not migrated_to_marker %} {# Separate form for Install Selected — uses JS to collect checked rows before submit #}
{% csrf_token %} {% include "netbox_librenms_plugin/inc/_hidden_server_key.html" with server_key=module_sync.server_key %}
{% elif migrated_to_marker %} {% comment %} Install form is dropped in migrated mode, but module VC-member changes still POST /verify-module/ via handleModuleChange(), which reads csrfmiddlewaretoken + server_key. Emit them as standalone hidden inputs so the verify fetch keeps working — mirrors the interface/IP/VLAN fragments. {% endcomment %} {% include "netbox_librenms_plugin/inc/_hidden_server_key.html" with server_key=module_sync.server_key %} {% endif %}
Showing inventory items from LibreNMS matched against NetBox module bays and module types.
{% include 'netbox_librenms_plugin/inc/paginator.html' with table=module_sync.table %} {% include 'inc/table.html' with table=module_sync.table %} {% include 'netbox_librenms_plugin/inc/paginator.html' with table=module_sync.table %}
{% else %}

No inventory data loaded. Click Refresh Modules to fetch data from LibreNMS.

{% endif %}