Fix issues with PR #18928 ...
Fix celery task failure Fix code quality test failures Fix python test failures Fix issue with PR #22042 Rebase and fix new test failures
This commit is contained in:
@@ -8,18 +8,24 @@ import logging
|
||||
from celery.exceptions import MaxRetriesExceededError
|
||||
from celery.task import task # pylint: disable=no-name-in-module, import-error
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import User
|
||||
from django.contrib.sites.models import Site
|
||||
from edx_ace import ace
|
||||
from edx_ace.errors import RecoverableChannelDeliveryError
|
||||
from edx_ace.message import Message
|
||||
from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
|
||||
from openedx.core.lib.celery.task_utils import emulate_http_request
|
||||
|
||||
log = logging.getLogger('edx.celery.task')
|
||||
|
||||
|
||||
@task(bind=True)
|
||||
def send_activation_email(self, msg, from_address=None):
|
||||
def send_activation_email(self, msg_string, from_address=None):
|
||||
"""
|
||||
Sending an activation email to the user.
|
||||
"""
|
||||
msg = Message.from_string(msg_string)
|
||||
|
||||
max_retries = settings.RETRY_ACTIVATION_EMAIL_MAX_ATTEMPTS
|
||||
retries = self.request.retries
|
||||
|
||||
@@ -31,8 +37,12 @@ def send_activation_email(self, msg, from_address=None):
|
||||
|
||||
dest_addr = msg.recipient.email_address
|
||||
|
||||
site = Site.objects.get_current()
|
||||
user = User.objects.get(username=msg.recipient.username)
|
||||
|
||||
try:
|
||||
ace.send(msg)
|
||||
with emulate_http_request(site=site, user=user):
|
||||
ace.send(msg)
|
||||
# Log that the Activation Email has been sent to user without an exception
|
||||
log.info("Activation Email has been sent to User {user_email}".format(
|
||||
user_email=dest_addr
|
||||
|
||||
@@ -31,7 +31,6 @@ from student.views import (
|
||||
confirm_email_change,
|
||||
do_email_change_request,
|
||||
generate_activation_email_context,
|
||||
send_reactivation_email_for_user,
|
||||
validate_new_email
|
||||
)
|
||||
from third_party_auth.views import inactive_user_view
|
||||
@@ -104,7 +103,7 @@ class ActivationEmailTests(EmailTemplateTagMixin, CacheIsolationTestCase):
|
||||
# sent from an OpenEdX installation.
|
||||
OPENEDX_FRAGMENTS = [
|
||||
(
|
||||
u"You're almost there! Use the link below to activate your account to access engaging, "
|
||||
u"Use the link below to activate your account to access engaging, "
|
||||
u"high-quality {platform_name} courses. Note that you will not be able to log back into your "
|
||||
u"account until you have activated it.".format(
|
||||
platform_name=settings.PLATFORM_NAME
|
||||
|
||||
@@ -50,7 +50,7 @@ class SendActivationEmailTestCase(TestCase):
|
||||
from_address = 'task_testing@example.com'
|
||||
email_max_attempts = settings.RETRY_ACTIVATION_EMAIL_MAX_ATTEMPTS
|
||||
|
||||
send_activation_email.delay(self.msg, from_address=from_address)
|
||||
send_activation_email.delay(str(self.msg), from_address=from_address)
|
||||
|
||||
# Asserts sending email retry logging.
|
||||
for attempt in range(email_max_attempts):
|
||||
@@ -79,7 +79,7 @@ class SendActivationEmailTestCase(TestCase):
|
||||
"""
|
||||
from_address = 'task_testing@example.com'
|
||||
|
||||
send_activation_email.delay(self.msg, from_address=from_address)
|
||||
send_activation_email.delay(str(self.msg), from_address=from_address)
|
||||
|
||||
# Asserts that the error was logged
|
||||
mock_log.exception.assert_called_with(
|
||||
|
||||
@@ -227,7 +227,7 @@ def compose_and_send_activation_email(user, profile, user_registration=None):
|
||||
root_url = configuration_helpers.get_value('LMS_ROOT_URL', settings.LMS_ROOT_URL)
|
||||
msg = compose_activation_email(root_url, user, user_registration, route_enabled, profile.name)
|
||||
|
||||
send_activation_email.delay(msg)
|
||||
send_activation_email.delay(str(msg))
|
||||
|
||||
|
||||
@login_required
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{% extends 'ace_common/edx_ace/common/base_body.html' %}
|
||||
|
||||
{% load django_markup %}
|
||||
{% load i18n %}
|
||||
{% load static %}
|
||||
{% block content %}
|
||||
@@ -8,7 +9,9 @@
|
||||
<tr>
|
||||
<td>
|
||||
<p style="color: rgba(0,0,0,.75);">
|
||||
{% blocktrans %}This is a routed Account Activation email for {{ routed_user }} ({{ routed_user_email }}): {{ routed_profile_name }}{% endblocktrans %}
|
||||
{% filter force_escape %}
|
||||
{% blocktrans %}This is a routed Account Activation email for {{ routed_user }} ({{ routed_user_email }}): {{ routed_profile_name }}{% endblocktrans %}
|
||||
{% endfilter %}
|
||||
<br />
|
||||
</p>
|
||||
</td>
|
||||
@@ -17,28 +20,35 @@
|
||||
<tr>
|
||||
<td>
|
||||
<h1>
|
||||
{% trans "Account Activation" %}
|
||||
{% trans "Account Activation" as header_msg %}{{ header_msg | force_escape }}
|
||||
</h1>
|
||||
<p style="color: rgba(0,0,0,.75);">
|
||||
{% blocktrans %}You're almost there! Use the link below to activate your account to access engaging, high-quality {{ platform_name }} courses. Note that you will not be able to log back into your account until you have activated it.{% endblocktrans %}
|
||||
{% filter force_escape %}
|
||||
{% blocktrans %}You're almost there! Use the link below to activate your account to access engaging, high-quality {{ platform_name }} courses. Note that you will not be able to log back into your account until you have activated it.{% endblocktrans %}
|
||||
{% endfilter %}
|
||||
<br />
|
||||
</p>
|
||||
|
||||
{% trans "Activate Your Account" as course_cta_text %}
|
||||
{% trans "Activate Your Account" as course_cta_text %}{{ course_cta_text | force_escape }}
|
||||
{% include "ace_common/edx_ace/common/return_to_course_cta.html" with course_cta_text=course_cta_text course_cta_url=confirm_activation_link %}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p style="color: rgba(0,0,0,.75);">
|
||||
{% blocktrans %}Enjoy learning with {{ platform_name }}.{% endblocktrans %}
|
||||
{% filter force_escape %}
|
||||
{% blocktrans %}Enjoy learning with {{ platform_name }}.{% endblocktrans %}
|
||||
{% endfilter %}
|
||||
<br />
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<td>
|
||||
<p style="color: rgba(0,0,0,.75);">
|
||||
{% blocktrans %}If you need help, please use our web form at <a href="{{ support_url }}">{{ support_url }}</a> or email <a href="mailto:{{ support_email }}">{{ support_email }}</a>.{% endblocktrans %}
|
||||
{% blocktrans trimmed asvar assist_msg %}
|
||||
If you need help, please use our web form at {start_anchor_web}{{ support_url }}{end_anchor} or email {start_anchor_email}{{ support_email }}{end_anchor}.
|
||||
{% endblocktrans %}
|
||||
{% interpolate_html assist_msg start_anchor_web='<a href="'|add:support_url|add:'">'|safe start_anchor_email='<a href="mailto:'|add:support_email|add:'">'|safe end_anchor='</a>'|safe %}
|
||||
<br />
|
||||
</p>
|
||||
</td>
|
||||
@@ -48,7 +58,9 @@
|
||||
<tr>
|
||||
<td>
|
||||
<p style="color: rgba(0,0,0,.75);">
|
||||
{% blocktrans %}This email message was automatically sent by {{ lms_url }} because someone attempted to create an account on {{ platform_name }} using this email address.{% endblocktrans %}
|
||||
{% filter force_escape %}
|
||||
{% blocktrans %}This email message was automatically sent by {{ lms_url }} because someone attempted to create an account on {{ platform_name }} using this email address.{% endblocktrans %}
|
||||
{% endfilter %}
|
||||
<br />
|
||||
</p>
|
||||
</td>
|
||||
|
||||
Reference in New Issue
Block a user