From afe8db03283a14998695644906aededd2c903edf Mon Sep 17 00:00:00 2001 From: RafaUC <35164744@uaz.edu.mx> Date: Thu, 22 Feb 2024 18:12:58 -0600 Subject: [PATCH] ahora los usuarios no verificados pueden volver a realizar el registro para volver a recibir el e-mail de confirmacion --- usuarios/views.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/usuarios/views.py b/usuarios/views.py index 3e5057a..e05523e 100644 --- a/usuarios/views.py +++ b/usuarios/views.py @@ -79,8 +79,14 @@ def cerrarSesion(request): def register(request): form = CreateUserForm() - if request.method == 'POST': - form = CreateUserForm(data = request.POST) + if request.method == 'POST': + #Si un usuario no verificado intenta volver a registrarse, se intenta reusar ese usuario y reenviar el correo al nuevo correo + usrCurp = Usuario.objects.filter(is_active=False, curp=request.POST.get('curp')).first() + usrEmail = Usuario.objects.filter(is_active=False, email=request.POST.get('email')).exclude(curp=request.POST.get('curp')).first() + if usrEmail: + usrEmail.delete() + + form = CreateUserForm(data = request.POST, instance=usrCurp) if form.is_valid(): #Hacer que el registro válido se guarda en la memoria, no en la base de datos user = form.save(commit=False) @@ -122,14 +128,15 @@ def activate(request, uidb64, token): if user is not None and account_activation_token.check_token(user,token): user.is_active = True user.save() - print('Correo confirmado') messages.success(request, 'Correo electrónico y cuenta confirmados. Ya puede iniciar sesión.') - return redirect("usuarios:login") - # return render(request,'confirmar_email.html') - # return HttpResponse('Gracias por verificar su email. Ya puede iniciar sesión en el sitio.') + return redirect("usuarios:login") else: - return HttpResponse('Link inválido o no disponible.') + if user and user.is_active: + messages.success(request, 'El correo electrónico y cuenta ya se encuentran confirmados. Ya puede iniciar sesión.') + return redirect("usuarios:login") + else : + return HttpResponse('Link inválido o no disponible.') @login_required def primerLogin(request): -- GitLab