feat: Add Password recuperation logic
Added: - Phase 1 Template + Logic - Phase 2 Template + Logic
This commit is contained in:
+26
-2
@@ -18,7 +18,8 @@ def enviar_correo_bienvenida(email_usuario: str, nombre_usuario: str):
|
||||
send_hemail(email_usuario, "Inicio de Sesión correcto", html_content, "Has iniciado sesión...")
|
||||
|
||||
@shared_task
|
||||
def enviar_correo_confirmacion(usuario: User):
|
||||
def enviar_correo_confirmacion(id: int):
|
||||
usuario = User.objects.get(id=id)
|
||||
code = VerificationCode.objects.create(
|
||||
user = usuario,
|
||||
code_mode = VerificationCode.VerificationModes.VERIFY_ACCOUNT,
|
||||
@@ -26,4 +27,27 @@ def enviar_correo_confirmacion(usuario: User):
|
||||
)
|
||||
|
||||
message = verify_message.format(name = usuario.get_full_name(), protocol = settings.PROTOCOL, domain = settings.DOMAIN, code = code.code)
|
||||
email_result = send_email(usuario.email, "Verificación de cuenta", message)
|
||||
email_result = send_email(usuario.email, "Verificación de cuenta", message)
|
||||
|
||||
@shared_task
|
||||
def enviar_correo_recuperacion(email: str):
|
||||
usuario = User.objects.get(email=email)
|
||||
if usuario is not None:
|
||||
ver_code = VerificationCode.objects.create(
|
||||
code_mode = VerificationCode.VerificationModes.RESET_PASSWORD,
|
||||
user = usuario,
|
||||
code = ''.join(random.choices(string.digits, k=12))
|
||||
)
|
||||
ver_code.save()
|
||||
html_content = render_to_string(
|
||||
'emails/reset_pass.html',
|
||||
{
|
||||
"name": usuario.get_full_name(),
|
||||
"domain": settings.DOMAIN,
|
||||
"protocol": settings.PROTOCOL,
|
||||
"code": ver_code.code
|
||||
},
|
||||
using='jinja2'
|
||||
)
|
||||
|
||||
send_hemail(email, "Reset de Contraseña", html_content, "Estas reseteando la contraseña...")
|
||||
|
||||
Reference in New Issue
Block a user