gault-millau/apps/account/tasks.py

25 lines
840 B
Python

"""Account app celery tasks."""
import logging
from celery import shared_task
from django.utils.translation import gettext_lazy as _
from . import models as account_models
logging.basicConfig(format='[%(levelname)s] %(message)s', level=logging.INFO)
logger = logging.getLogger(__name__)
@shared_task
def send_reset_password_email(request_id):
"""Send email to user for reset password."""
try:
obj = account_models.ResetPasswordToken.objects.get(id=request_id)
user = obj.user
user.send_email(subject=_('Password resetting'),
message=obj.get_reset_password_template())
except:
logger.error(f'METHOD_NAME: {send_reset_password_email.__name__}\n'
f'DETAIL: Exception occurred for ResetPasswordToken instance: '
f'{request_id}')