truenas-burnin/app/templates/audit.html
Brandon Walter b73b5251ae Initial commit — TrueNAS Burn-In Dashboard v0.5.0
Full-stack burn-in orchestration dashboard (Stages 1–6d complete):
FastAPI backend, SQLite/WAL, SSE live dashboard, mock TrueNAS server,
SMTP/webhook notifications, batch burn-in, settings UI, audit log,
stats page, cancel SMART/burn-in, drag-to-reorder stages.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 00:08:29 -05:00

55 lines
1.6 KiB
HTML

{% extends "layout.html" %}
{% block title %}TrueNAS Burn-In — Audit Log{% endblock %}
{% block content %}
<div class="page-toolbar">
<h1 class="page-title">Audit Log</h1>
<div class="toolbar-right">
<span class="page-subtitle">Last 200 events</span>
</div>
</div>
<div class="table-wrap">
<table>
<thead>
<tr>
<th class="col-job">#</th>
<th>Time</th>
<th>Event</th>
<th class="col-drive">Drive</th>
<th>Operator</th>
<th>Message</th>
</tr>
</thead>
<tbody>
{% if events %}
{% for e in events %}
{% set color = event_colors.get(e.event_type, 'unknown') %}
<tr>
<td class="mono text-muted">{{ e.id }}</td>
<td class="mono text-muted" style="white-space:nowrap">{{ e.created_at | format_dt_full }}</td>
<td>
<span class="chip chip-{{ color }}">{{ e.event_type | replace('_', ' ') }}</span>
</td>
<td class="col-drive">
{% if e.devname %}
<span class="drive-name">{{ e.devname }}</span>
{% if e.serial %}<span class="drive-model mono">{{ e.serial }}</span>{% endif %}
{% else %}
<span class="cell-empty"></span>
{% endif %}
</td>
<td class="text-muted">{{ e.operator or '—' }}</td>
<td class="text-muted" style="max-width:360px;white-space:normal">{{ e.message }}</td>
</tr>
{% endfor %}
{% else %}
<tr>
<td colspan="6" class="empty-state">No audit events yet.</td>
</tr>
{% endif %}
</tbody>
</table>
</div>
{% endblock %}