{% extends "layouts/dashboard.html" %} {% load humanize %} {% block title %}Audit log — IILMP{% endblock %} {% block breadcrumbs %} {% endblock %} {% block content %}

Audit log

Immutable record of platform activity — who did what, on which data, and when.

{% include "components/rims_page_intro.html" with eyebrow="Compliance & audit" heading="Trace every administrative action across IILMP." description="Entries are written automatically as users sign in and data changes. Records cannot be edited or removed from this view; export upstream if you need them in a compliance archive. Use the filters to narrow an investigation by actor, model, action, or date range." %} {# ── Filters ─────────────────────────────────────────────────── #}

Match on action type, affected model, HTTP verb, actor email, or a date range. All criteria combine with AND.

{% if has_filters %} Clear all filters {% endif %}
{# ── Log table ───────────────────────────────────────────────── #}

{% if page_obj.paginator.count %} {{ page_obj.paginator.count }} entr{{ page_obj.paginator.count|pluralize:"y,ies" }}{% if has_filters %} match your filters{% endif %} · newest first {% else %} No rows to display{% if has_filters %} for this filter set{% endif %} {% endif %}

{% for row in page_obj %} {% empty %} {% endfor %}
Time Actor Action Method Model Changes Path IP address
{{ row.timestamp|naturaltime }} {{ row.actor.email|default:"—" }} {{ row.action }} {{ row.method|default:"—" }} {{ row.target_model|default:"—" }} {% if row.object_repr %}{{ row.object_repr }}{% endif %} {% if row.changes %}
{% for key, val in row.changes.items %}
{{ key }}:
{% if val.old or val.new %}{{ val.old|default:"—" }}{{ val.new|default:"—" }}{% elif val.from or val.to %}{{ val.from|default:"—" }}{{ val.to|default:"—" }}{% else %}{{ val }}{% endif %}
{% endfor %}
{% elif not row.object_repr %}—{% endif %}
{{ row.path|default:"—" }} {{ row.ip_address|default:"—" }}

{% if has_filters %}No matching events{% else %}No audit entries yet{% endif %}

{% if has_filters %} Broaden the date range, remove one filter at a time, or clear all filters to return to the full log. {% else %} As users sign in and data changes across IILMP, rows will appear here automatically. This list is append-only. {% endif %}

{% if has_filters %} Clear all filters → {% endif %}
{% include "components/pagination.html" with page_obj=page_obj %}

Timestamps are stored in the server timezone. For formal disclosures, export or correlate with your organisation's retention policy outside this screen.

{% endblock %}