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})