Files
Michael Terry 570a869bd3 feat: update to edx-ace 1.0.0
The new version switches how you specify recipients, to use
lms_user_id instead of usernames.

AA-489
2021-03-12 10:25:54 -05:00

35 lines
1.2 KiB
Python

"""
ACE emails for Student app
"""
import logging
from django.conf import settings
from django.contrib.sites.models import Site
from edx_ace import ace
from edx_ace.recipient import Recipient
from common.djangoapps.student.message_types import ProctoringRequirements
from openedx.core.djangoapps.ace_common.template_context import get_base_template_context
log = logging.getLogger(__name__)
def send_proctoring_requirements_email(context):
"""Send an email with proctoring requirements for a course enrollment"""
site = Site.objects.get_current()
message_context = get_base_template_context(site)
message_context.update(context)
user = context['user']
try:
msg = ProctoringRequirements(context=message_context).personalize(
recipient=Recipient(user.id, user.email),
language=settings.LANGUAGE_CODE,
user_context={'full_name': user.profile.name}
)
ace.send(msg)
log.info('Proctoring requirements email sent to user: %r', user.username)
return True
except Exception: # pylint: disable=broad-except
log.exception('Could not send email for proctoring requirements to user %s', user.username)
return False