diff --git a/cms/djangoapps/cms_user_tasks/signals.py b/cms/djangoapps/cms_user_tasks/signals.py index b4f86807fd..40bfd57818 100644 --- a/cms/djangoapps/cms_user_tasks/signals.py +++ b/cms/djangoapps/cms_user_tasks/signals.py @@ -86,9 +86,16 @@ def user_task_stopped_handler(sender, **kwargs): # pylint: disable=unused-argum reverse('usertaskstatus-detail', args=[status.uuid]) ) + # check if this is a course optimizer task + is_course_optimizer_task = False + course_optimizer_artifact = UserTaskArtifact.objects.filter(status=status, name="BrokenLinks").first() + if course_optimizer_artifact: + is_course_optimizer_task = True + user_email = status.user.email olx_validation_text = get_olx_validation_from_artifact() - task_args = [task_name, str(status.state_text), user_email, detail_url, olx_validation_text] + task_args = [task_name, str(status.state_text), user_email, detail_url, + olx_validation_text, is_course_optimizer_task] try: send_task_complete_email.delay(*task_args) except Exception: # pylint: disable=broad-except diff --git a/cms/djangoapps/cms_user_tasks/tasks.py b/cms/djangoapps/cms_user_tasks/tasks.py index e06c58b6f0..0efc852e22 100644 --- a/cms/djangoapps/cms_user_tasks/tasks.py +++ b/cms/djangoapps/cms_user_tasks/tasks.py @@ -21,17 +21,18 @@ TASK_COMPLETE_EMAIL_TIMEOUT = 60 @shared_task(bind=True) @set_code_owner_attribute -def send_task_complete_email(self, task_name, task_state_text, dest_addr, detail_url, olx_validation_text=None): +def send_task_complete_email(self, task_name, task_state_text, dest_addr, detail_url, + olx_validation_text=None, is_course_optimizer_task=False): """ Sending an email to the users when an async task completes. """ retries = self.request.retries - context = { 'task_name': task_name, 'task_status': task_state_text, 'detail_url': detail_url, 'olx_validation_errors': {}, + 'is_course_optimizer_task': is_course_optimizer_task, } if olx_validation_text: try: diff --git a/cms/templates/emails/user_task_complete_email.txt b/cms/templates/emails/user_task_complete_email.txt index 682b4d7eec..0b5095223e 100644 --- a/cms/templates/emails/user_task_complete_email.txt +++ b/cms/templates/emails/user_task_complete_email.txt @@ -3,6 +3,10 @@ ${_("Your {task_name} task has completed with the status '{task_status}'. Use this URL to view task details or download any files created: {detail_url}").format(task_name=task_name, task_status=task_status, detail_url=detail_url)} +% elif is_course_optimizer_task: + +${_("Your {task_name} task has completed with the status '{task_status}'. Sign in to view the details of your task.").format(task_name=task_name, task_status=task_status)} + % else: ${_("Your {task_name} task has completed with the status '{task_status}'. Sign in to view the details of your task or download any files created.").format(task_name=task_name, task_status=task_status)} diff --git a/cms/templates/emails/user_task_complete_email_subject.txt b/cms/templates/emails/user_task_complete_email_subject.txt index eb97979877..351560f9e8 100644 --- a/cms/templates/emails/user_task_complete_email_subject.txt +++ b/cms/templates/emails/user_task_complete_email_subject.txt @@ -1,2 +1,11 @@ <%! from django.utils.translation import gettext as _ %> + +% if is_course_optimizer_task: + +${_("{platform_name} {studio_name}: Course Optimizer Status Update").format(platform_name=settings.PLATFORM_NAME, studio_name=settings.STUDIO_NAME)} + +% else: + ${_("{platform_name} {studio_name}: Task Status Update").format(platform_name=settings.PLATFORM_NAME, studio_name=settings.STUDIO_NAME)} + +% endif