Update to django 5.2 to support python 3.14 #96
+4
-1
@@ -1,5 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import logging
|
||||
import secrets
|
||||
from django.apps import apps
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.contrib import messages
|
||||
@@ -82,13 +83,15 @@ class CreateAndSendPasswordView(generic.FormView):
|
||||
form_class = forms.CreateAndSendPasswordForm
|
||||
template_name = 'dav_auth/forms/recreate_password.html'
|
||||
success_url = reverse_lazy('dav_auth:login')
|
||||
password_chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789#$%&@^~.,:;/_-*+!?'
|
||||
password_length = 32
|
||||
|
||||
def form_valid(self, form):
|
||||
username = form.cleaned_data.get('username')
|
||||
user_model = get_user_model()
|
||||
try:
|
||||
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.save()
|
||||
email = emails.PasswordSetEmail(user, random_password)
|
||||
|
||||
Reference in New Issue
Block a user