{% extends "allianceauth/base-bs5.html" %} {% load i18n %} {% block page_title %} {% translate "Discord Audit Config Changes" %} {% endblock %} {% block header_nav_brand %} {% translate "Discord Audit" %} {% endblock %} {% block extra_javascript %} {% include "aa_discord_audit/_datatables_init.html" %} {% endblock %} {% block content %} {% include "aa_discord_audit/_subnav.html" with active="changelog" %}
{% translate "Operator config changes" %} {{ total_count }}

{% translate "Append-only forensic log of every operator edit to BotAccountUid, ProtectedDiscordMember, ManagedRoleException, and FindingActionOverride. Survives retention pruning of AuditRun rows." %}

{% translate "Model" %}
{% translate "Action" %}
{% translate "Actor" %}

{% translate "ID" %} | {% translate "Created at" %} | {% translate "Model" %} | {% translate "Object pk" %} | {% translate "Action" %} | {% translate "Actor" %} | {% translate "Payload" %}
--- | --- | --- | --- | --- | --- | ---
{% for row in rows %}
{{ row.obj.pk }} | {{ row.created_rel }} | `{{ row.obj.model_name }}` | {{ row.obj.object_pk }} | {{ row.action_label }} | {{ row.obj.actor_username }} {% if row.obj.actor_user_id %} #{{ row.obj.actor_user_id }} {% endif %} | {% translate "show" %} {% if row.diff.kind == "diff" %}
{% translate "Field" %} | {% translate "Before" %} | {% translate "After" %}
--- | --- | ---
{% for field, change in row.diff.changed.items %}
`{{ field }}` | {{ change.before }} | {{ change.after }}
{% endfor %}
{% elif row.diff.kind == "snapshot" %}
    {{ row.diff.json }}
{% else %} {% translate "row deleted (no snapshot)" %} {% endif %}
{% empty %}
{% translate "No config changes to display." %}
{% endfor %}

{% if not client_mode and page_obj %}

{% translate "Showing the first page — narrow your filters to search across all results." %}

{% if page_obj.has_other_pages %}
{% endif %} {% endif %}
{% endblock %}