25 lines
840 B
Python
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}')
|