Merge pull request #26927 from edx/mikix/ace-braze
feat: update to edx-ace 1.0.0
This commit is contained in:
@@ -22,7 +22,7 @@ def send_proctoring_requirements_email(context):
|
||||
user = context['user']
|
||||
try:
|
||||
msg = ProctoringRequirements(context=message_context).personalize(
|
||||
recipient=Recipient(user.username, user.email),
|
||||
recipient=Recipient(user.id, user.email),
|
||||
language=settings.LANGUAGE_CODE,
|
||||
user_context={'full_name': user.profile.name}
|
||||
)
|
||||
|
||||
@@ -46,7 +46,7 @@ def send_account_recovery_email_for_user(user, request, email=None):
|
||||
})
|
||||
|
||||
msg = AccountRecoveryMessage().personalize(
|
||||
recipient=Recipient(user.username, email),
|
||||
recipient=Recipient(user.id, email),
|
||||
language=get_user_preference(user, LANGUAGE_KEY),
|
||||
user_context=message_context,
|
||||
)
|
||||
|
||||
@@ -124,7 +124,7 @@ class Command(BaseCommand):
|
||||
|
||||
with emulate_http_request(site, user):
|
||||
msg = PasswordReset().personalize(
|
||||
recipient=Recipient(user.username, email),
|
||||
recipient=Recipient(user.id, email),
|
||||
language=get_user_preference(user, LANGUAGE_KEY),
|
||||
user_context=message_context,
|
||||
)
|
||||
|
||||
@@ -40,7 +40,7 @@ def send_activation_email(self, msg_string, from_address=None):
|
||||
dest_addr = msg.recipient.email_address
|
||||
|
||||
site = Site.objects.get_current()
|
||||
user = User.objects.get(username=msg.recipient.username)
|
||||
user = User.objects.get(id=msg.recipient.lms_user_id)
|
||||
|
||||
try:
|
||||
with emulate_http_request(site=site, user=user):
|
||||
|
||||
@@ -36,7 +36,7 @@ class SendActivationEmailTestCase(TestCase):
|
||||
assert 'platform_name' in self.msg.context
|
||||
assert 'contact_mailing_address' in self.msg.context
|
||||
# Verify the presence of the activation-email specific attributes
|
||||
assert self.msg.recipient.username == self.student.username
|
||||
assert self.msg.recipient.lms_user_id == self.student.id
|
||||
assert self.msg.recipient.email_address == self.student.email
|
||||
assert self.msg.context['routed_user'] == self.student.username
|
||||
assert self.msg.context['routed_user_email'] == self.student.email
|
||||
|
||||
@@ -191,7 +191,7 @@ def compose_activation_email(root_url, user, user_registration=None, route_enabl
|
||||
dest_addr = user.email
|
||||
|
||||
msg = AccountActivation().personalize(
|
||||
recipient=Recipient(user.username, dest_addr),
|
||||
recipient=Recipient(user.id, dest_addr),
|
||||
language=preferences_api.get_user_preference(user, LANGUAGE_KEY),
|
||||
user_context=message_context,
|
||||
)
|
||||
@@ -677,13 +677,13 @@ def do_email_change_request(user, new_email, activation_key=None, secondary_emai
|
||||
|
||||
if secondary_email_change_request:
|
||||
msg = RecoveryEmailCreate().personalize(
|
||||
recipient=Recipient(user.username, new_email),
|
||||
recipient=Recipient(user.id, new_email),
|
||||
language=preferences_api.get_user_preference(user, LANGUAGE_KEY),
|
||||
user_context=message_context,
|
||||
)
|
||||
else:
|
||||
msg = EmailChange().personalize(
|
||||
recipient=Recipient(user.username, new_email),
|
||||
recipient=Recipient(user.id, new_email),
|
||||
language=preferences_api.get_user_preference(user, LANGUAGE_KEY),
|
||||
user_context=message_context,
|
||||
)
|
||||
@@ -783,7 +783,7 @@ def confirm_email_change(request, key):
|
||||
})
|
||||
|
||||
msg = EmailChangeConfirmation().personalize(
|
||||
recipient=Recipient(user.username, user.email),
|
||||
recipient=Recipient(user.id, user.email),
|
||||
language=preferences_api.get_user_preference(user, LANGUAGE_KEY),
|
||||
user_context=message_context,
|
||||
)
|
||||
@@ -808,7 +808,7 @@ def confirm_email_change(request, key):
|
||||
user.save()
|
||||
pec.delete()
|
||||
# And send it to the new email...
|
||||
msg.recipient = Recipient(user.username, pec.new_email)
|
||||
msg.recipient = Recipient(user.id, pec.new_email)
|
||||
try:
|
||||
ace.send(msg)
|
||||
except Exception: # pylint: disable=broad-except
|
||||
|
||||
@@ -17,7 +17,7 @@ class CourseEmailOptout(Policy): # lint-amnesty, pylint: disable=missing-class-
|
||||
|
||||
# pylint: disable=line-too-long
|
||||
course_keys = [CourseKey.from_string(course_id) for course_id in course_ids]
|
||||
if Optout.objects.filter(user__username=message.recipient.username, course_id__in=course_keys).count() == len(course_keys):
|
||||
if Optout.objects.filter(user_id=message.recipient.lms_user_id, course_id__in=course_keys).count() == len(course_keys):
|
||||
return PolicyResult(deny={ChannelType.EMAIL})
|
||||
|
||||
return PolicyResult(deny=frozenset())
|
||||
|
||||
@@ -186,7 +186,7 @@ class TestACEOptoutCourseEmails(ModuleStoreTestCase):
|
||||
app_label='foo',
|
||||
name='bar',
|
||||
recipient=Recipient(
|
||||
username=self.student.username,
|
||||
lms_user_id=self.student.id,
|
||||
email_address=self.student.email,
|
||||
),
|
||||
context={
|
||||
|
||||
@@ -71,7 +71,7 @@ def send_ace_message(context): # lint-amnesty, pylint: disable=missing-function
|
||||
with emulate_http_request(site=context['site'], user=thread_author):
|
||||
message_context = _build_message_context(context)
|
||||
message = ResponseNotification().personalize(
|
||||
Recipient(thread_author.username, thread_author.email),
|
||||
Recipient(thread_author.id, thread_author.email),
|
||||
_get_course_language(context['course_id']),
|
||||
message_context
|
||||
)
|
||||
|
||||
@@ -216,7 +216,7 @@ class TaskTestCase(ModuleStoreTestCase): # lint-amnesty, pylint: disable=missin
|
||||
'site': site,
|
||||
'site_id': site.id
|
||||
})
|
||||
expected_recipient = Recipient(self.thread_author.username, self.thread_author.email)
|
||||
expected_recipient = Recipient(self.thread_author.id, self.thread_author.email)
|
||||
actual_message = self.mock_ace_send.call_args_list[0][0][0]
|
||||
assert expected_message_context == actual_message.context
|
||||
assert expected_recipient == actual_message.recipient
|
||||
|
||||
@@ -494,7 +494,7 @@ def send_mail_to_student(student, param_dict, language=None):
|
||||
|
||||
message_class = ace_emails_dict[message_type]
|
||||
message = message_class().personalize(
|
||||
recipient=Recipient(username='', email_address=student),
|
||||
recipient=Recipient(lms_user_id=0, email_address=student),
|
||||
language=language,
|
||||
user_context=param_dict,
|
||||
)
|
||||
|
||||
@@ -25,7 +25,7 @@ def send_verification_confirmation_email(context):
|
||||
try:
|
||||
with emulate_http_request(site=site, user=user):
|
||||
msg = VerificationSubmitted(context=message_context).personalize(
|
||||
recipient=Recipient(user.username, user.email),
|
||||
recipient=Recipient(user.id, user.email),
|
||||
language=get_user_preference(user, LANGUAGE_KEY),
|
||||
user_context={'full_name': user.profile.name}
|
||||
)
|
||||
@@ -48,7 +48,7 @@ def send_verification_approved_email(context):
|
||||
try:
|
||||
with emulate_http_request(site=site, user=user):
|
||||
msg = VerificationApproved(context=message_context).personalize(
|
||||
recipient=Recipient(user.username, user.email),
|
||||
recipient=Recipient(user.id, user.email),
|
||||
language=get_user_preference(user, LANGUAGE_KEY),
|
||||
user_context={'full_name': user.profile.name}
|
||||
)
|
||||
|
||||
@@ -213,7 +213,7 @@ class Command(BaseCommand):
|
||||
user = users.get(pk=verification.user_id)
|
||||
with emulate_http_request(site=site, user=user):
|
||||
msg = expiry_email.personalize(
|
||||
recipient=Recipient(user.username, user.email),
|
||||
recipient=Recipient(user.id, user.email),
|
||||
language=get_user_preference(user, LANGUAGE_KEY),
|
||||
user_context={
|
||||
'full_name': user.profile.name,
|
||||
|
||||
@@ -82,7 +82,7 @@ class EmailTemplateTagMixin:
|
||||
self.message = Message(
|
||||
app_label='test_app_label',
|
||||
name='test_name',
|
||||
recipient=Recipient(username='test_user'),
|
||||
recipient=Recipient(lms_user_id=123),
|
||||
context={},
|
||||
send_uuid=uuid.uuid4(),
|
||||
)
|
||||
|
||||
@@ -272,7 +272,7 @@ class ScheduleSendEmailTestMixin(FilteredQueryCountMixin): # lint-amnesty, pyli
|
||||
}
|
||||
self._update_schedule_config(schedule_config_kwargs)
|
||||
|
||||
mock_message.from_string.return_value.recipient.username = user.username
|
||||
mock_message.from_string.return_value.recipient.lms_user_id = user.id
|
||||
mock_msg = Mock()
|
||||
self.deliver_task(self.site_config.site.id, mock_msg)
|
||||
if is_enabled:
|
||||
|
||||
@@ -88,7 +88,7 @@ class BinnedSchedulesBaseResolver(PrefixedDebugLoggerMixin, RecipientResolver):
|
||||
for (user, language, context) in self.schedules_for_bin():
|
||||
msg = msg_type.personalize(
|
||||
Recipient(
|
||||
user.username,
|
||||
user.id,
|
||||
self.override_recipient_email or user.email,
|
||||
),
|
||||
language,
|
||||
@@ -370,7 +370,7 @@ class CourseUpdateResolver(BinnedSchedulesBaseResolver):
|
||||
for (user, language, context) in self.schedules_for_bin():
|
||||
msg = InstructorLedCourseUpdate().personalize(
|
||||
Recipient(
|
||||
user.username,
|
||||
user.id,
|
||||
self.override_recipient_email or user.email,
|
||||
),
|
||||
language,
|
||||
@@ -451,7 +451,7 @@ class CourseNextSectionUpdate(PrefixedDebugLoggerMixin, RecipientResolver):
|
||||
for (user, language, context) in schedules:
|
||||
msg = CourseUpdate().personalize(
|
||||
Recipient(
|
||||
user.username,
|
||||
user.id,
|
||||
self.override_recipient_email or user.email,
|
||||
),
|
||||
language,
|
||||
|
||||
@@ -277,7 +277,7 @@ def _schedule_send(msg_str, site_id, delivery_config_var, log_prefix): # lint-a
|
||||
if _is_delivery_enabled(site, delivery_config_var, log_prefix):
|
||||
msg = Message.from_string(msg_str)
|
||||
|
||||
user = User.objects.get(username=msg.recipient.username)
|
||||
user = User.objects.get(id=msg.recipient.lms_user_id)
|
||||
with emulate_http_request(site=site, user=user):
|
||||
_annonate_send_task_for_monitoring(msg)
|
||||
LOG.debug(u'%s: Sending message = %s', log_prefix, msg_str)
|
||||
|
||||
@@ -456,7 +456,7 @@ class DeactivateLogoutView(APIView):
|
||||
default=settings.LANGUAGE_CODE
|
||||
)
|
||||
notification = DeletionNotificationMessage().personalize(
|
||||
recipient=Recipient(username='', email_address=user_email),
|
||||
recipient=Recipient(lms_user_id=0, email_address=user_email),
|
||||
language=language_code,
|
||||
user_context=notification_context,
|
||||
)
|
||||
|
||||
@@ -128,7 +128,7 @@ def send_password_reset_success_email(user, request):
|
||||
)
|
||||
|
||||
msg = PasswordResetSuccess(context=message_context).personalize(
|
||||
recipient=Recipient(user.username, user.email),
|
||||
recipient=Recipient(user.id, user.email),
|
||||
language=user_language_preference,
|
||||
user_context={"name": user.profile.name},
|
||||
)
|
||||
@@ -165,7 +165,7 @@ def send_password_reset_email_for_user(user, request, preferred_email=None):
|
||||
})
|
||||
|
||||
msg = PasswordReset().personalize(
|
||||
recipient=Recipient(user.username, preferred_email or user.email),
|
||||
recipient=Recipient(user.id, preferred_email or user.email),
|
||||
language=user_language_preference,
|
||||
user_context=message_context,
|
||||
)
|
||||
@@ -628,7 +628,7 @@ def password_change_request_handler(request):
|
||||
})
|
||||
|
||||
msg = PasswordReset().personalize(
|
||||
recipient=Recipient(username='', email_address=email),
|
||||
recipient=Recipient(lms_user_id=0, email_address=email),
|
||||
language=settings.LANGUAGE_CODE,
|
||||
user_context=message_context,
|
||||
)
|
||||
|
||||
@@ -88,7 +88,7 @@ docopt==0.6.2 # via xmodule
|
||||
docutils==0.16 # via botocore
|
||||
drf-jwt==1.17.3 # via edx-drf-extensions
|
||||
drf-yasg==1.20.0 # via edx-api-doc-tools
|
||||
edx-ace==0.1.17 # via -r requirements/edx/base.in
|
||||
edx-ace==1.0.0 # via -r requirements/edx/base.in
|
||||
edx-analytics-data-api-client==0.17.0 # via -r requirements/edx/base.in
|
||||
edx-api-doc-tools==1.4.0 # via -r requirements/edx/base.in
|
||||
edx-bulk-grades==0.8.2 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.in, staff-graded-xblock
|
||||
|
||||
@@ -99,7 +99,7 @@ docopt==0.6.2 # via -r requirements/edx/testing.txt, xmodule
|
||||
docutils==0.16 # via -r requirements/edx/testing.txt, botocore, m2r, sphinx
|
||||
drf-jwt==1.17.3 # via -r requirements/edx/testing.txt, edx-drf-extensions
|
||||
drf-yasg==1.20.0 # via -r requirements/edx/testing.txt, edx-api-doc-tools
|
||||
edx-ace==0.1.17 # via -r requirements/edx/testing.txt
|
||||
edx-ace==1.0.0 # via -r requirements/edx/testing.txt
|
||||
edx-analytics-data-api-client==0.17.0 # via -r requirements/edx/testing.txt
|
||||
edx-api-doc-tools==1.4.0 # via -r requirements/edx/testing.txt
|
||||
edx-bulk-grades==0.8.2 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, staff-graded-xblock
|
||||
|
||||
@@ -96,7 +96,7 @@ docopt==0.6.2 # via -r requirements/edx/base.txt, xmodule
|
||||
docutils==0.16 # via -r requirements/edx/base.txt, botocore
|
||||
drf-jwt==1.17.3 # via -r requirements/edx/base.txt, edx-drf-extensions
|
||||
drf-yasg==1.20.0 # via -r requirements/edx/base.txt, edx-api-doc-tools
|
||||
edx-ace==0.1.17 # via -r requirements/edx/base.txt
|
||||
edx-ace==1.0.0 # via -r requirements/edx/base.txt
|
||||
edx-analytics-data-api-client==0.17.0 # via -r requirements/edx/base.txt
|
||||
edx-api-doc-tools==1.4.0 # via -r requirements/edx/base.txt
|
||||
edx-bulk-grades==0.8.2 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt, staff-graded-xblock
|
||||
|
||||
Reference in New Issue
Block a user