feat: soft-delete for teamer accounts

addresses #869dv9br3
This commit is contained in:
Björn Fromme
2026-08-11 12:26:13 +02:00
parent 388ecf9603
commit d654ce77fb
45 changed files with 1151 additions and 7 deletions
@@ -100,6 +100,7 @@
<a href="{{ path('app_administrative_assignment_detail', { 'uuid': assignment.uuid, 'r': return_url() }) }}">
{{ application.teamer }}
</a>
{% include '_partials/_teamer_deleted_badge.html.twig' with { 'teamer': application.teamer } %}
</td>
<td>
<div class="flex items-center justify-end space-x-1"
@@ -0,0 +1,33 @@
{% extends 'htmx_confirmation_modal.html.twig' %}
{% block title %}Account löschen{% endblock %}
{% block content %}
<div class="pb-4">
Möchtest du <em>{{ teamer }}</em> und den zugehörigen Benutzeraccount wirklich löschen?
</div>
<div class="pb-4">
Die Person wird aus allen Listen, Formularen und dem Mailversand ausgeschlossen und kann
sich nicht mehr anmelden. Bestehende Einsätze, Dokumente und Feedbacks bleiben erhalten
und weiterhin sichtbar.
</div>
{% if pendingApplicationCount > 0 or upcomingDispositionCount > 0 %}
<div class="p-4 bg-red-50 border border-red-200 rounded-md">
<div class="font-bold pb-2">Achtung: offene Vorgänge</div>
<ul class="list-disc list-inside">
{% if pendingApplicationCount > 0 %}
<li>{{ pendingApplicationCount }} offene Bewerbung(en)</li>
{% endif %}
{% if upcomingDispositionCount > 0 %}
<li>{{ upcomingDispositionCount }} anstehende(r) Einsatz/Einsätze</li>
{% endif %}
</ul>
<div class="pt-2">
Diese bleiben bestehen, die Person wird darüber aber nicht mehr benachrichtigt.
Sage sie bei Bedarf vorher ab.
</div>
</div>
{% endif %}
{% endblock %}
{% block button_confirm %}Löschen{% endblock %}
@@ -0,0 +1,17 @@
{% extends 'htmx_confirmation_modal.html.twig' %}
{% block title %}Account wiederherstellen{% endblock %}
{% block content %}
<div class="pb-4">
Möchtest du <em>{{ teamer }}</em> und den zugehörigen Benutzeraccount wirklich
wiederherstellen?
</div>
<div>
Die Person erscheint danach wieder in allen Listen und erhält wieder E-Mails. Liegt in
BusPro keine Berechtigung mehr vor, wird der Account bei der nächsten Anmeldung erneut
gesperrt.
</div>
{% endblock %}
{% block button_confirm %}Wiederherstellen{% endblock %}