FloriCore/member/views/person_views.py

53 lines
1.7 KiB
Python
Raw Permalink Normal View History

2025-05-09 14:06:21 +02:00
from django.http import HttpResponse
from django.shortcuts import render, redirect, get_object_or_404
2025-05-09 16:15:17 +02:00
from django.template import loader
from django.db.models import Count
2025-07-19 16:07:33 +02:00
from ..models import Person, UserAccount
from ..forms import PersonForm
2025-05-09 14:06:21 +02:00
def members(request):
mymembers=Person.objects.annotate(accounts=Count('benutzerkonten'))
2025-05-09 16:15:17 +02:00
template=loader.get_template("memberlist.html")
2025-05-11 09:49:36 +02:00
context = {
'mymembers': mymembers
}
return HttpResponse(template.render(context, request))
2025-05-09 13:27:51 +02:00
2025-05-11 11:51:23 +02:00
def details(request, id):
mymember = Person.objects.get(id=id)
2025-07-05 11:49:07 +02:00
accounts = UserAccount.objects.filter(person_id=id)
2025-05-11 11:51:23 +02:00
template = loader.get_template("details.html")
context = {
2025-07-05 11:49:07 +02:00
'mymember': mymember,
'accounts': accounts
2025-05-11 11:51:23 +02:00
}
return HttpResponse(template.render(context, request))
def create(request):
if request.method == "POST":
form = PersonForm(request.POST)
if form.is_valid():
form.save()
return redirect('members')
else:
form = PersonForm()
return render(request, "person_form.html", {'form': form, 'action': "Neu anlegen"})
2025-06-14 21:37:45 +02:00
def edit(request, id):
person = get_object_or_404(Person, id=id)
if request.method == 'POST':
form = PersonForm(request.POST, instance=person)
if form.is_valid():
form.save()
return redirect('members')
else:
form = PersonForm(instance=person)
return render(request, 'person_form.html', {'form': form, 'action': 'Bearbeiten'})
2025-06-14 22:38:41 +02:00
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})