{% extends 'generic/_base.html' %} {% load buttons %} {% load helpers %} {% load plugins %} {% load render_table from django_tables2 %} {% load static %} {% load i18n %} {% block title %}{{ title }}{% endblock %} {% block javascript %} {{ block.super }} {% endblock %} {% block controls %}
{% plugin_list_buttons model %} {% action_buttons actions model %}
{% endblock controls %} {% block content %} {# Display Django messages #} {% include 'inc/messages.html' %} {# LibreNMS Server Information #} {% if librenms_server_info %}
Active LibreNMS Server: {% if librenms_server_info.is_legacy %} {{ librenms_server_info.url }} {% else %} {{ librenms_server_info.display_name }} ({{ librenms_server_info.url }}) {% endif %}
{% if not librenms_server_info.is_legacy %} Change Server {% endif %}
{% endif %} {# Collapsible Filter Section #} {% if filter_form %}
Search Filters {% if filter_form.changed_data %} {% badge filter_form.changed_data|length bg_color="primary" %} {% endif %}
{# Instructions column #}
Search Instructions

At least one filter is required to search for devices.

The following matching rules apply:

  • Location/Type/OS: Exact match
  • Hostname: Partial match
  • System Name: Exact match (or partial when combined with other filters)
    Performance note:
  • Results are cached (default: 5 minutes).
  • Large LibreNMS datasets take time to process
  • Repeating the same filter search will use cached data if available.
  • Using background jobs is default and recommended.
  • Background jobs can be cancelled if needed.

Tip: Start with Location and/or Type to narrow results, then refine with additional filters.

{# Filters column #}
{% if show_filter_warning %} {% endif %}
{{ filter_form.librenms_location }}
{{ filter_form.librenms_type }}
{{ filter_form.librenms_os }} {% if filter_form.librenms_os.help_text %} {{ filter_form.librenms_os.help_text }} {% endif %}
{{ filter_form.librenms_hostname }} {% if filter_form.librenms_hostname.help_text %} {{ filter_form.librenms_hostname.help_text }} {% endif %}
{{ filter_form.librenms_sysname }} {% if filter_form.librenms_sysname.help_text %} {{ filter_form.librenms_sysname.help_text }} {% endif %}
{{ filter_form.librenms_hardware }} {% if filter_form.librenms_hardware.help_text %} {{ filter_form.librenms_hardware.help_text }} {% endif %}
{{ filter_form.exclude_existing }} {% if filter_form.exclude_existing.help_text %} {{ filter_form.exclude_existing.help_text }} {% endif %}
{{ filter_form.show_disabled }} {% if filter_form.show_disabled.help_text %} {{ filter_form.show_disabled.help_text }} {% endif %}
{{ filter_form.enable_vc_detection }} {% if filter_form.enable_vc_detection.help_text %} {{ filter_form.enable_vc_detection.help_text }} {% endif %}
{{ filter_form.clear_cache }} {% if filter_form.clear_cache.help_text %} {{ filter_form.clear_cache.help_text }} {% endif %}
{% if can_use_background_jobs %} {{ filter_form.use_background_job }} {% if filter_form.use_background_job.help_text %} {{ filter_form.use_background_job.help_text }} {% endif %} {% else %} Background jobs require superuser access. Filters will process synchronously. {% endif %}
Clear
{% endif %} {# Cached Searches Section #} {% if cached_searches %}
Active Cached Searches {% badge cached_searches|length bg_color="primary" %}
{% endif %} {# Applied filters #} {% if filter_form %} {% applied_filters model filter_form request.GET %} {% endif %} {# Results Section #} {% if table.page.paginator.count == 0 %}
No Results Found

No devices found matching your filters. Try adjusting your search criteria above.

{% else %} {# Bulk import toolbar #}
0 devices selected
{# Cache expiration info - before Settings section #} {% if filters_submitted and table.rows %} {% if cache_metadata_missing %}
Cache status: unavailable
| {% elif cache_timestamp and cache_timeout %}
Cache expires in {{ cache_timeout }}s
| {% endif %} {% endif %} {# Import Settings #}
Settings:
{% endif %}
{% csrf_token %} {# Objects table #}
{% include 'inc/paginator.html' with htmx=True table=table paginator=table.paginator page=table.page %}
{% include 'inc/table.html' %}
{% include 'inc/paginator.html' with htmx=True table=table paginator=table.paginator page=table.page %}
{# /Objects table #}
{# HTMX Modal for import actions #} {# Filter Processing Modal #} {% endblock %}