feat: add comprehensive GitHub workflow and development tools
This commit is contained in:
160
app/templates/stiftung/user_delete.html
Normal file
160
app/templates/stiftung/user_delete.html
Normal file
@@ -0,0 +1,160 @@
|
||||
{% extends 'base.html' %}
|
||||
|
||||
{% block title %}{{ title }} - Benutzerverwaltung - van Hees-Theyssen-Vogel'sche Stiftung{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="d-sm-flex align-items-center justify-content-between mb-4">
|
||||
<h1 class="h3 mb-0 text-gray-800">
|
||||
<i class="fas fa-trash me-2 text-danger"></i>{{ title }}
|
||||
</h1>
|
||||
<a href="{% url 'stiftung:user_detail' user_obj.pk %}" class="btn btn-outline-secondary">
|
||||
<i class="fas fa-arrow-left me-1"></i>Zurück zum Benutzer
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-lg-8">
|
||||
<div class="card shadow border-danger">
|
||||
<div class="card-header bg-danger text-white">
|
||||
<h6 class="m-0 font-weight-bold">
|
||||
<i class="fas fa-exclamation-triangle me-2"></i>Benutzer löschen
|
||||
</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="alert alert-danger">
|
||||
<h5><i class="fas fa-exclamation-triangle me-2"></i>Warnung!</h5>
|
||||
<p class="mb-0">
|
||||
Sie sind dabei, den Benutzer <strong>"{{ user_obj.username }}"</strong> permanent zu löschen.
|
||||
Diese Aktion kann nicht rückgängig gemacht werden.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Benutzerinformationen -->
|
||||
<div class="card mb-4">
|
||||
<div class="card-header">
|
||||
<h6 class="mb-0">Benutzerinformationen</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<table class="table table-borderless table-sm">
|
||||
<tr>
|
||||
<td class="fw-bold">Benutzername:</td>
|
||||
<td>{{ user_obj.username }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="fw-bold">E-Mail:</td>
|
||||
<td>{{ user_obj.email|default:"Nicht angegeben" }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="fw-bold">Name:</td>
|
||||
<td>
|
||||
{% if user_obj.first_name or user_obj.last_name %}
|
||||
{{ user_obj.first_name }} {{ user_obj.last_name }}
|
||||
{% else %}
|
||||
Nicht angegeben
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<table class="table table-borderless table-sm">
|
||||
<tr>
|
||||
<td class="fw-bold">Status:</td>
|
||||
<td>
|
||||
{% if user_obj.is_active %}
|
||||
<span class="badge bg-success">Aktiv</span>
|
||||
{% else %}
|
||||
<span class="badge bg-danger">Inaktiv</span>
|
||||
{% endif %}
|
||||
{% if user_obj.is_staff %}
|
||||
<span class="badge bg-warning ms-1">Staff</span>
|
||||
{% endif %}
|
||||
{% if user_obj.is_superuser %}
|
||||
<span class="badge bg-danger ms-1">Superuser</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="fw-bold">Letzte Anmeldung:</td>
|
||||
<td>
|
||||
{% if user_obj.last_login %}
|
||||
{{ user_obj.last_login|date:"d.m.Y H:i" }}
|
||||
{% else %}
|
||||
Nie angemeldet
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="fw-bold">Mitglied seit:</td>
|
||||
<td>{{ user_obj.date_joined|date:"d.m.Y H:i" }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Auswirkungen der Löschung -->
|
||||
<div class="card mb-4">
|
||||
<div class="card-header bg-warning text-dark">
|
||||
<h6 class="mb-0"><i class="fas fa-info-circle me-2"></i>Auswirkungen der Löschung</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<ul class="mb-0">
|
||||
<li>Der Benutzer kann sich nicht mehr anmelden</li>
|
||||
<li>Alle Berechtigungen werden entfernt</li>
|
||||
<li>Audit-Log-Einträge bleiben zur Nachverfolgung erhalten</li>
|
||||
<li>Verknüpfte Daten (z.B. erstellte Einträge) bleiben bestehen</li>
|
||||
<li>E-Mail-Adresse und Benutzername werden für neue Benutzer wieder verfügbar</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bestätigung -->
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<div class="alert alert-warning">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" id="confirmDeletion" required>
|
||||
<label class="form-check-label" for="confirmDeletion">
|
||||
<strong>Ich bestätige, dass ich den Benutzer "{{ user_obj.username }}" permanent löschen möchte.</strong>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
<div class="d-flex justify-content-between">
|
||||
<a href="{% url 'stiftung:user_detail' user_obj.pk %}" class="btn btn-outline-secondary">
|
||||
<i class="fas fa-times me-1"></i>Abbrechen
|
||||
</a>
|
||||
<button type="submit" class="btn btn-danger" id="deleteButton" disabled>
|
||||
<i class="fas fa-trash me-1"></i>Benutzer endgültig löschen
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
document.getElementById('confirmDeletion').addEventListener('change', function() {
|
||||
document.getElementById('deleteButton').disabled = !this.checked;
|
||||
});
|
||||
|
||||
// Additional confirmation on form submission
|
||||
document.querySelector('form').addEventListener('submit', function(e) {
|
||||
if (!confirm('Sind Sie absolut sicher? Diese Aktion kann nicht rückgängig gemacht werden!')) {
|
||||
e.preventDefault();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user