feat: add a booking event history for admins

Admins get /admin/history: one line per booking created, rescheduled or
released, per series created or ended, and per resource deleted with its
bookings. Sortable by time, kind, resource, booked day and both people;
filterable by period, kinds, who acted and resource type.

Events are snapshots written inside the same transaction as the change,
so a rolled-back booking leaves none and a released booking stays
readable. app:booking-events:prune keeps twelve months and needs a cron
entry on the server.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
AdminandClaude Opus 5.5 committed 2026-10-16 16:02:07 +02:00
1 parent d68b6b156c
commit dcdce4d248
18 files changed
+1556 -6

No files matched your search

+11
View File
@@ -87,6 +87,17 @@
Buchbare Ressourcen und ihre Standorte verwalten.
</p>
</a>
<a href="{{ path('app_admin_booking_event') }}"
class="group flex flex-col rounded-md border border-gray-200 p-6 hover:border-primary hover:bg-gray-50">
<div class="flex items-center gap-3 pb-2">
{{ ux_icon('lucide:history', { class: 'h-6 w-6 shrink-0 text-primary' }) }}
<span class="text-lg font-bold">Ereignishistorie</span>
</div>
<p class="text-sm text-gray-500 pb-4">
Nachvollziehen, wer welche Buchung angelegt, geändert oder freigegeben hat.
</p>
</a>
{% endif %}
</div>
{% endblock %}