diff --git a/padelclub_backend/settings.py b/padelclub_backend/settings.py index 2c5a1c0..be8cd28 100644 --- a/padelclub_backend/settings.py +++ b/padelclub_backend/settings.py @@ -63,7 +63,6 @@ MIDDLEWARE = [ 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', - 'tournaments.middleware.ReferrerMiddleware', ] ROOT_URLCONF = 'padelclub_backend.urls' diff --git a/tournaments/custom_views.py b/tournaments/custom_views.py index d3503dc..eda90c6 100644 --- a/tournaments/custom_views.py +++ b/tournaments/custom_views.py @@ -43,6 +43,13 @@ class CustomLoginView(auth_views.LoginView): return context def get(self, request, *args, **kwargs): + # Capture referrer for anonymous users (replaces middleware functionality) + if not request.user.is_authenticated: + referrer = request.META.get('HTTP_REFERER') + # Only store referrer if it exists and is not the login page itself + if referrer and 'login' not in referrer: + request.session['login_referrer'] = referrer + # Clear any potential password reset session data keys_to_clear = [key for key in request.session.keys() if 'reset' in key or 'password' in key] diff --git a/tournaments/middleware.py b/tournaments/middleware.py deleted file mode 100644 index 8777151..0000000 --- a/tournaments/middleware.py +++ /dev/null @@ -1,18 +0,0 @@ -from django.urls import reverse - -class ReferrerMiddleware: - def __init__(self, get_response): - self.get_response = get_response - - def __call__(self, request): - # Check if the user is anonymous and going to the login page - if not request.user.is_authenticated and request.path == reverse('login'): - # Get the referring URL from the HTTP_REFERER header - referrer = request.META.get('HTTP_REFERER') - - # Only store referrer if it exists and is not the login page itself - if referrer and 'login' not in referrer: - request.session['login_referrer'] = referrer - - response = self.get_response(request) - return response