port to new django, AI automated

This commit is contained in:
2026-03-30 22:35:36 +02:00
parent e2d166e437
commit 372da3caa9
215 changed files with 9283 additions and 2981 deletions

View File

@@ -1,10 +1,17 @@
from django.views.generic.edit import UpdateView
from django.views.generic import ListView
from musicians.models import Musician
import json
from datetime import timedelta
from django import forms
from django.http import HttpResponseRedirect
from django.shortcuts import render
from django.shortcuts import get_object_or_404
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.models import User
from django.contrib.auth.views import PasswordChangeView
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import get_object_or_404, redirect, render
from django.urls import reverse_lazy
from django.views.generic import ListView
from django.views.generic.edit import UpdateView
from .models import Musician
class MusicianList(ListView):
@@ -14,32 +21,49 @@ class MusicianList(ListView):
class UserEditForm(forms.ModelForm):
email = forms.EmailField()
def __init__(self, *args, **kw):
if 'instance' in kw.keys():
user = kw['instance'].user
initVals = {'email': user.email}
if not 'initial' in kw.keys():
kw['initial'] = initVals
else:
kw['initial'].update(initVals)
super(UserEditForm, self).__init__(*args, **kw)
self.fields.keyOrder.remove('email')
self.fields.keyOrder.insert(2, 'email')
def save(self):
if self.is_valid():
super(UserEditForm, self).save()
self.instance.user.email = self.cleaned_data['email']
self.instance.user.save()
class Meta:
model = Musician
exclude = ['user', 'image', 'small_image', 'instrument', 'position', 'public_description']
# fields = '__all__'
exclude = [
"user",
"image",
"small_image",
"instrument",
"position",
"public_description",
]
def __init__(self, *args, **kw):
if "instance" in kw:
user = kw["instance"].user
initVals = {"email": user.email}
if "initial" not in kw:
kw["initial"] = initVals
else:
kw["initial"].update(initVals)
super().__init__(*args, **kw)
# Reorder fields to put email near the top
if "email" in self.fields:
email_field = self.fields.pop("email")
new_fields = {}
field_names = list(self.fields.keys())
# Insert email at position 2 (after first two fields)
for i, name in enumerate(field_names):
if i == 2:
new_fields["email"] = email_field
new_fields[name] = self.fields[name]
if "email" not in new_fields:
new_fields["email"] = email_field
self.fields = new_fields
def save(self, commit=True):
if self.is_valid():
instance = super().save(commit=commit)
self.instance.user.email = self.cleaned_data["email"]
self.instance.user.save()
return instance
return None
def own_profile(request):
@@ -49,30 +73,31 @@ def own_profile(request):
def user_edit(request, username):
musician = get_object_or_404(Musician, user__username=username)
if request.method == 'POST': # If the form has been submitted...
form = UserEditForm(request.POST) # A form bound to the POST data
form.instance = musician
if form.is_valid(): # All validation rules pass
if request.method == "POST":
form = UserEditForm(request.POST, instance=musician)
if form.is_valid():
form.save()
return HttpResponseRedirect('/') # Redirect after POST
return HttpResponseRedirect("/")
else:
form = UserEditForm(instance=musician)
return render(request, 'musicians/musician_edit.html', {'form': form, 'musician': musician})
return render(
request, "musicians/musician_edit.html", {"form": form, "musician": musician}
)
class MusicianUpdate(UpdateView):
model = Musician
# fields = []
template_name = "musicians/musician_edit.html"
success_url = '/books/'
success_url = "/books/"
fields = "__all__"
def addressbook(request):
context = dict()
context['musicians'] = Musician.objects.all().order_by('user__first_name')
context = {}
context["musicians"] = Musician.objects.all().order_by("user__first_name")
return render(request, 'musicians/addressbook.html', context)
return render(request, "musicians/addressbook.html", context)
############################################################################################################
@@ -80,17 +105,13 @@ def addressbook(request):
############################################################################################################
from django.contrib.auth.views import PasswordChangeView
from django.contrib.auth import authenticate, login, logout
from django.shortcuts import redirect
from django.http import HttpResponse
import json
from django.contrib.auth.models import User
from datetime import timedelta
class ChangePasswordView(PasswordChangeView):
template_name = "musicians/change_password.html"
success_url = reverse_lazy("website:home")
def change_password(request):
return PasswordChangeView.as_view(request, "musicians/change_password.html", post_change_redirect="/")
return ChangePasswordView.as_view()(request)
def logout_view(request):
@@ -100,47 +121,44 @@ def logout_view(request):
def userlistForAutocompletion(request):
result = [u.username for u in User.objects.all()]
return HttpResponse(json.dumps(result), content_type='application/json')
return HttpResponse(json.dumps(result), content_type="application/json")
def login_view(request):
if request.method == 'POST': # If the form has been submitted...
raise_first_letter = lambda s: s[:1].upper() + s[1:] if s else ''
username = raise_first_letter(request.POST['username'])
password = request.POST['password']
user = authenticate(username=username, password=password)
result = dict()
result['err'] = ""
if request.method == "POST":
raiseFirstLetter = lambda s: s[:1].upper() + s[1:] if s else ""
username = raiseFirstLetter(request.POST.get("username", ""))
password = request.POST.get("password", "")
user = authenticate(request, username=username, password=password)
result = {}
result["err"] = ""
if user is not None:
if user.is_active:
if not request.POST.get('remember', None):
if not request.POST.get("remember", None):
# Expire in one year
request.session.set_expiry(timedelta(weeks=52).seconds)
request.session.set_expiry(timedelta(weeks=52))
else:
# Expire on browser close
request.session.set_expiry(0)
login(request, user)
result['redirect'] = "/"
print("Setting Redirect")
if 'next' in request.POST:
result['redirect'] = request.POST["next"]
print("Using " + request.POST["next"])
result["redirect"] = "/"
if "next" in request.POST:
result["redirect"] = request.POST["next"]
else:
result['err'] = "Dein Account wurde deaktiviert."
# Return a 'disabled account' error message
result["err"] = "Dein Account wurde deaktiviert."
else:
result['err'] = "Falscher Benutzername oder falsches Kennwort."
result["err"] = "Falscher Benutzername oder falsches Kennwort."
return HttpResponse(json.dumps(result), content_type='application/json')
return HttpResponse(json.dumps(result), content_type="application/json")
else:
# Check if user already logged in
if request.user.is_authenticated:
return redirect("/")
if 'next' in request.GET:
nextPage = request.GET['next']
if "next" in request.GET:
nextPage = request.GET["next"]
else:
nextPage = "/"
return render(request, 'musicians/login.html', {'next': nextPage})
return render(request, "musicians/login.html", {"next": nextPage})