{# SPDX-FileCopyrightText: 2025 Marcin Zieba #} {# SPDX-License-Identifier: Apache-2.0 #} {% extends "generic/object.html" %} {% load helpers %} {% block content %}
{# Last sync stats card #}
Last Sync
{% if latest_job %}

{% if latest_job.status == "completed" %} OK {% elif latest_job.status == "failed" %} Error {% elif latest_job.status == "running" %} Running {% else %} {{ latest_job.status }} {% endif %}

{{ latest_job.completed }}

{% if latest_job.data.summary %} {% for entry in latest_job.data.summary %} {% if entry.pk == object.pk %}
✅ Created: {{ entry.created }} ✏️ Updated: {{ entry.updated }} {% if entry.errors > 0 %} ❌ Errors: {{ entry.errors }} {% else %} ✔ Errors: 0 {% endif %}
{% endif %} {% endfor %} {% endif %} {% else %}

No sync runs recorded yet.

{% endif %}
{# Controls card #}
Controls

IPAM sync is currently {% if object.sync_enabled %} enabled {% else %} disabled {% endif %} for this server.

{% if can_change_server %}
{% csrf_token %}
{% csrf_token %}
{% endif %} {% if sync_cfg %}
{% if not sync_cfg.sync_enabled %} {% endif %}

Global sync types{% if perms.netbox_kea.change_syncconfig %} (configure){% endif %}:

Leases Reservations Prefixes IP Ranges

Server overrides{% if can_change_server %} (configure){% endif %}:

Leases Reservations Prefixes IP Ranges
{% endif %}
{# Job history card #}
Recent Runs View manual runs →
{% if recent_jobs %} {% for job in recent_jobs %} {% endfor %}
{{ job.created|date:"Y-m-d H:i" }} {% if job.status == "completed" %} OK {% elif job.status == "failed" %} Error {% else %} {{ job.status }} {% endif %} {% if job.object_id %}manual{% else %}periodic{% endif %}
{% else %}

No history yet.

{% endif %}
{% endblock %}