From 54d1cc810ce74a3d6d29847ac83449a65b4a8633 Mon Sep 17 00:00:00 2001 From: Michael Bergbauer Date: Sat, 14 Jun 2025 22:38:41 +0200 Subject: [PATCH] Adding delete workflow --- member/static/icons/heroicons/trash.svg | 3 +++ member/templates/confirm_delete.html | 12 ++++++++++++ member/templates/memberlist.html | 2 +- member/urls.py | 1 + member/views.py | 7 +++++++ 5 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 member/static/icons/heroicons/trash.svg create mode 100644 member/templates/confirm_delete.html diff --git a/member/static/icons/heroicons/trash.svg b/member/static/icons/heroicons/trash.svg new file mode 100644 index 0000000..4929c3b --- /dev/null +++ b/member/static/icons/heroicons/trash.svg @@ -0,0 +1,3 @@ + + + diff --git a/member/templates/confirm_delete.html b/member/templates/confirm_delete.html new file mode 100644 index 0000000..db6d0a3 --- /dev/null +++ b/member/templates/confirm_delete.html @@ -0,0 +1,12 @@ +{% extends "master.html" %} +{% block content %} +
+

Mitglied löschen

+

Möchtest du {{ person.nachname }} {{person.vorname}} wirklich löschen?

+
+ {% csrf_token %} + + Abbrechen +
+
+{% endblock %} \ No newline at end of file diff --git a/member/templates/memberlist.html b/member/templates/memberlist.html index cd59733..6b3846a 100644 --- a/member/templates/memberlist.html +++ b/member/templates/memberlist.html @@ -23,7 +23,7 @@ {{ x.nachname }} {{ x.vorname}} {% if x.aktiv %}{% inline_svg 'icons/uxwing/check.svg' 'icon' %}{% endif %} - + {% endfor %} diff --git a/member/urls.py b/member/urls.py index b7fd90f..d816726 100644 --- a/member/urls.py +++ b/member/urls.py @@ -6,4 +6,5 @@ urlpatterns = [ path('members/details/', views.details, name="details"), path('members/create/', views.create, name="create"), path('members/edit/', views.edit, name="edit"), + path('members/delete/', views.delete, name="delete"), ] diff --git a/member/views.py b/member/views.py index 8f8bfd6..40e53e7 100644 --- a/member/views.py +++ b/member/views.py @@ -40,3 +40,10 @@ def edit(request, id): else: form = PersonForm(instance=person) return render(request, 'person_form.html', {'form': form, 'action': 'Bearbeiten'}) + +def delete(request, id): + person = get_object_or_404(Person, id=id) + if request.method == 'POST': + person.delete() + return redirect('members') + return render(request, 'confirm_delete.html', { 'person': person})