Compare commits

...

2 Commits

Author SHA1 Message Date
d719822199 Refactoring views in several files 2025-07-19 16:07:33 +02:00
f3f829184d Fixing Typo 2025-07-19 15:53:49 +02:00
5 changed files with 62 additions and 55 deletions

View File

@ -127,7 +127,7 @@ USE_TZ = True
STATIC_URL = 'static/' STATIC_URL = 'static/'
STATICFILES_DIRS = [ STATICFILES_DIRS = [
BASEDIR / "static" BASE_DIR / "static"
] ]
# Default primary key field type # Default primary key field type

View File

@ -1,15 +1,16 @@
from django.urls import path from django.urls import path
from . import views from .views import person_views
from .views import account_views
urlpatterns = [ urlpatterns = [
path('members/', views.members, name='members'), path('members/', person_views.members, name='members'),
path('members/details/<int:id>', views.details, name="details"), path('members/details/<int:id>', person_views.details, name="details"),
path('members/create/', views.create, name="create"), path('members/create/', person_views.create, name="create"),
path('members/edit/<int:id>', views.edit, name="edit"), path('members/edit/<int:id>', person_views.edit, name="edit"),
path('members/delete/<int:id>', views.delete, name="delete"), path('members/delete/<int:id>', person_views.delete, name="delete"),
path('members/account/details/<int:id>', views.details_account, name="details_account"), path('members/account/details/<int:id>', account_views.details_account, name="details_account"),
path('members/account/edit/<int:id>', views.edit_account, name="edit_account"), path('members/account/edit/<int:id>', account_views.edit_account, name="edit_account"),
path('members/account/create/<int:id>', views.create_account, name="create_account"), path('members/account/create/<int:id>', account_views.create_account, name="create_account"),
path('members/account/edit/<int:id>', views.edit_account, name="edit_account"), path('members/account/edit/<int:id>', account_views.edit_account, name="edit_account"),
path('members/account/delete/<int:id>', views.delete_account, name="delete_account"), path('members/account/delete/<int:id>', account_views.delete_account, name="delete_account"),
] ]

0
member/views/__init__.py Normal file
View File

View File

@ -0,0 +1,47 @@
from django.http import HttpResponse
from django.shortcuts import render, redirect, get_object_or_404
from django.template import loader
from django.db.models import Count
from ..models import Person, UserAccount
from ..forms import PersonForm, AccountForm
def details_account(request, id):
account = get_object_or_404(Account, id=id)
template = loader.get_template("details_account.html")
context = {
'account': account,
}
return HttpResponse(template.render(context, request))
def create_account(request, id):
person = get_object_or_404(Person, id=id)
if request.method == "POST":
form = AccountForm(request.POST)
if form.is_valid():
account=form.save(commit=False)
account.person = person
account.save()
return redirect("details", person.id)
else:
form = AccountForm()
return render(request, "account_form.html", {'form': form, 'action': 'Erstellen', 'id': id})
def edit_account(request, id):
account = get_object_or_404(UserAccount, id=id)
if request.method == 'POST':
form = AccountForm(request.POST, instance=account)
if form.is_valid():
form.save()
return redirect('details', account.person.id)
else:
form = AccountForm(instance=account)
return render(request, 'account_form.html', {'form': form, 'action': "Bearbeiten" , 'id': account.person.id})
def delete_account(request, id):
account=get_object_or_404(UserAccount, id=id)
person_id=account.person.id
if (request.method=='POST'):
account.delete()
return redirect("details", person_id)
return render(request, "confirm_account_delete.html", {'account': account, 'id': account.person.id})

View File

@ -2,8 +2,8 @@ from django.http import HttpResponse
from django.shortcuts import render, redirect, get_object_or_404 from django.shortcuts import render, redirect, get_object_or_404
from django.template import loader from django.template import loader
from django.db.models import Count from django.db.models import Count
from .models import Person, UserAccount from ..models import Person, UserAccount
from .forms import PersonForm, AccountForm from ..forms import PersonForm
def members(request): def members(request):
mymembers=Person.objects.annotate(accounts=Count('benutzerkonten')) mymembers=Person.objects.annotate(accounts=Count('benutzerkonten'))
@ -50,44 +50,3 @@ def delete(request, id):
person.delete() person.delete()
return redirect('members') return redirect('members')
return render(request, 'confirm_delete.html', { 'person': person}) return render(request, 'confirm_delete.html', { 'person': person})
def details_account(request, id):
account = get_object_or_404(Account, id=id)
template = loader.get_template("details_account.html")
context = {
'account': account,
}
return HttpResponse(template.render(context, request))
def create_account(request, id):
person = get_object_or_404(Person, id=id)
if request.method == "POST":
form = AccountForm(request.POST)
if form.is_valid():
account=form.save(commit=False)
account.person = person
account.save()
return redirect("details", person.id)
else:
form = AccountForm()
return render(request, "account_form.html", {'form': form, 'action': 'Erstellen', 'id': id})
def edit_account(request, id):
account = get_object_or_404(UserAccount, id=id)
if request.method == 'POST':
form = AccountForm(request.POST, instance=account)
if form.is_valid():
form.save()
return redirect('details', account.person.id)
else:
form = AccountForm(instance=account)
return render(request, 'account_form.html', {'form': form, 'action': "Bearbeiten" , 'id': account.person.id})
def delete_account(request, id):
account=get_object_or_404(UserAccount, id=id)
person_id=account.person.id
if (request.method=='POST'):
account.delete()
return redirect("details", person_id)
return render(request, "confirm_account_delete.html", {'account': account, 'id': account.person.id})