Merge in some changes to support django5.2 and python3.14 #95

Merged
heinzel merged 4 commits from hzl_update into master 2026-04-20 15:02:36 +02:00
Showing only changes of commit 5c161f8e76 - Show all commits
+4 -1
View File
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import logging import logging
import secrets
from django.apps import apps from django.apps import apps
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.contrib import messages from django.contrib import messages
@@ -82,13 +83,15 @@ class CreateAndSendPasswordView(generic.FormView):
form_class = forms.CreateAndSendPasswordForm form_class = forms.CreateAndSendPasswordForm
template_name = 'dav_auth/forms/recreate_password.html' template_name = 'dav_auth/forms/recreate_password.html'
success_url = reverse_lazy('dav_auth:login') success_url = reverse_lazy('dav_auth:login')
password_chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789#$%&@^~.,:;/_-*+!?'
password_length = 32
def form_valid(self, form): def form_valid(self, form):
username = form.cleaned_data.get('username') username = form.cleaned_data.get('username')
user_model = get_user_model() user_model = get_user_model()
try: try:
user = user_model.objects.get(username=username) user = user_model.objects.get(username=username)
random_password = user_model.objects.make_random_password(length=32) random_password = ''.join(secrets.choice(self.password_chars) for i in range(self.password_length))
user.set_password(random_password) user.set_password(random_password)
user.save() user.save()
email = emails.PasswordSetEmail(user, random_password) email = emails.PasswordSetEmail(user, random_password)