fix password reset error

bracket-feature
Raz 10 months ago
parent d07ff09ecc
commit c8dbcd3f67
  1. 18
      tournaments/views.py

@ -53,7 +53,7 @@ from django.contrib.auth.forms import (
SetPasswordForm, SetPasswordForm,
) )
from django.contrib.auth.views import PasswordResetConfirmView from django.contrib.auth.views import PasswordResetConfirmView
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.contrib.auth.tokens import default_token_generator from django.contrib.auth.tokens import default_token_generator
from django.db.models import Q from django.db.models import Q
from django.views.decorators.csrf import csrf_exempt from django.views.decorators.csrf import csrf_exempt
@ -659,26 +659,15 @@ def unregister_tournament(request, tournament_id):
return redirect('tournament-info', tournament_id=tournament_id) return redirect('tournament-info', tournament_id=tournament_id)
class CustomPasswordResetConfirmView(PasswordResetConfirmView): class CustomPasswordResetConfirmView(PasswordResetConfirmView):
template_name = 'registration/password_reset_confirm.html' # Custom template template_name = 'registration/password_reset_confirm.html'
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
"""
Modify the context to provide custom data to the template.
"""
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
context['custom_message'] = "Veuillez entrer un nouveau mot de passe." context['custom_message'] = "Veuillez entrer un nouveau mot de passe."
return context return context
def form_valid(self, form): def form_valid(self, form):
"""
Custom behavior when the password reset form is valid.
"""
# Call the parent method to save the new password
response = super().form_valid(form) response = super().form_valid(form)
# Additional actions (e.g., logging or sending notifications) can be added here
# You can add custom logic after password reset
return response return response
def get_user(self, uidb64): def get_user(self, uidb64):
@ -686,6 +675,9 @@ class CustomPasswordResetConfirmView(PasswordResetConfirmView):
Override this method to decode the uid and return the corresponding user. Override this method to decode the uid and return the corresponding user.
""" """
try: try:
# Use get_user_model() instead of direct User import
User = get_user_model()
uid = urlsafe_base64_decode(uidb64).decode() uid = urlsafe_base64_decode(uidb64).decode()
user = User.objects.get(pk=uid) user = User.objects.get(pk=uid)
return user return user

Loading…
Cancel
Save