From 5c161f8e76a5b16110aa339ae3be526df3b34ad7 Mon Sep 17 00:00:00 2001 From: Jens Kleineheismann Date: Mon, 20 Apr 2026 14:42:37 +0200 Subject: [PATCH] Replaced deprecated User.objects.make_random_password() --- dav_auth/views.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dav_auth/views.py b/dav_auth/views.py index bedb253..36d5a39 100644 --- a/dav_auth/views.py +++ b/dav_auth/views.py @@ -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)