fixed email confirmation spam

This commit is contained in:
2025-06-09 18:03:51 +02:00
parent d23bf9ee29
commit 1d08465d0f
3 changed files with 32 additions and 2 deletions

View File

@@ -6,6 +6,7 @@ from django.shortcuts import get_object_or_404, render
from django.http import HttpResponse
from backend.accounts.utils import send_confirmation_email
from .tasks import create_document_for_organization
from backend.core.models import Organization, Document
class SignUpView(CreateView):
form_class = SignupForm
@@ -19,8 +20,18 @@ def confirm_email(request, uuid):
if confirmation.is_expired():
return render(request, 'accounts/confirmation_expired.html', {'email': confirmation.email})
task = create_document_for_organization.delay(confirmation.email)
return render(request, 'accounts/confirmation_success.html', {'email': confirmation.email})
if confirmation.confirmed:
return render(request, 'accounts/confirmation_success.html', {'email': confirmation.email})
confirmation.confirmed = True
confirmation.save()
org = Organization.objects.filter(email=confirmation.email).first()
if org and Document.objects.filter(organization=org).exists():
return render(request, 'accounts/confirmation_success.html', {'email': confirmation.email})
else:
task = create_document_for_organization.delay(confirmation.email)
return render(request, 'accounts/confirmation_success.html', {'email': confirmation.email})
def resend_confirmation(request,email):
if request.method == 'POST':