The new version switches how you specify recipients, to use lms_user_id instead of usernames. AA-489
35 lines
1.2 KiB
Python
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
|