Commit 12346ec2 by Sylvia Pearce Committed by Waheed Ahmed

Update email templates

ECOM-7680
parent 7149e6c5
......@@ -471,7 +471,7 @@ class ChangeCourseStateViewTests(TestCase):
# Verify that course is marked as reviewed by marketing.
self.assertTrue(self.course_state.marketing_reviewed)
subject = 'Changes to {title} are ready for review'.format(title=self.course.title)
subject = 'Review requested: {title}'.format(title=self.course.title)
self._assert_email_sent(course_team_user, subject)
def test_change_course_state_with_course_team(self):
......@@ -507,7 +507,7 @@ class ChangeCourseStateViewTests(TestCase):
self.assertEqual(self.course_state.owner_role, PublisherUserRole.MarketingReviewer)
self.assertGreater(self.course_state.owner_role_modified, old_owner_role_modified)
subject = 'Changes to {title} are ready for review'.format(title=self.course.title)
subject = 'Review requested: {title}'.format(title=self.course.title)
self._assert_email_sent(marketing_user, subject)
def _assert_email_sent(self, user, subject):
......@@ -571,7 +571,7 @@ class ChangeCourseStateViewTests(TestCase):
self.assertEqual(self.course_state.name, CourseStateChoices.Approved)
subject = 'Changes to {title} has been approved'.format(title=self.course.title)
subject = 'Review complete: {title}'.format(title=self.course.title)
self._assert_email_sent(course_team_user, subject)
......
......@@ -120,7 +120,7 @@ def send_email_for_send_for_review(course, user):
"""
txt_template = 'publisher/email/course/send_for_review.txt'
html_template = 'publisher/email/course/send_for_review.html'
subject = _('Changes to {title} are ready for review').format(title=course.title) # pylint: disable=no-member
subject = _('Review requested: {title}').format(title=course.title) # pylint: disable=no-member
try:
recipient_user = course.marketing_reviewer
......@@ -151,7 +151,7 @@ def send_email_for_mark_as_reviewed(course, user):
"""
txt_template = 'publisher/email/course/mark_as_reviewed.txt'
html_template = 'publisher/email/course/mark_as_reviewed.html'
subject = _('Changes to {title} has been approved').format(title=course.title) # pylint: disable=no-member
subject = _('Review complete: {title}').format(title=course.title) # pylint: disable=no-member
try:
recipient_user = course.marketing_reviewer
......@@ -190,14 +190,21 @@ def send_course_workflow_email(course, user, subject, txt_template, html_templat
project_coordinator = course.project_coordinator
to_addresses = [recipient_user.email]
from_address = settings.PUBLISHER_FROM_EMAIL
course_page_path = reverse('publisher:publisher_course_detail', kwargs={'pk': course.id})
context.update(
{
'recipient_name': recipient_user.full_name or recipient_user.username if recipient_user else '',
'sender_name': user.full_name or user.username,
'org_name': course.organizations.all().first().name,
'contact_us_email': project_coordinator.email if project_coordinator else '',
'course_page_url': 'https://{host}{path}'.format(
host=Site.objects.get_current().domain.strip('/'), path=course_page_path
)
}
)
template = get_template(txt_template)
plain_content = template.render(context)
template = get_template(html_template)
......@@ -363,6 +370,7 @@ def send_email_preview_accepted(course_run):
to_addresses.append(project_coordinator.email)
from_address = settings.PUBLISHER_FROM_EMAIL
page_path = reverse('publisher:publisher_course_run_detail', kwargs={'pk': course_run.id})
course_page_path = reverse('publisher:publisher_course_detail', kwargs={'pk': course_run.course.id})
context = {
'course_name': course.title,
'run_number': course_key.run,
......@@ -372,6 +380,9 @@ def send_email_preview_accepted(course_run):
'contact_us_email': project_coordinator.email if project_coordinator else '',
'page_url': 'https://{host}{path}'.format(
host=Site.objects.get_current().domain.strip('/'), path=page_path
),
'course_page_url': 'https://{host}{path}'.format(
host=Site.objects.get_current().domain.strip('/'), path=course_page_path
)
}
template = get_template(txt_template)
......@@ -413,6 +424,7 @@ def send_email_preview_page_is_available(course_run):
from_address = settings.PUBLISHER_FROM_EMAIL
project_coordinator = course_run.course.project_coordinator
page_path = reverse('publisher:publisher_course_run_detail', kwargs={'pk': course_run.id})
course_page_path = reverse('publisher:publisher_course_detail', kwargs={'pk': course_run.course.id})
context = {
'sender_role': PublisherUserRole.Publisher,
'recipient_name': course_team_user.get_full_name() or course_team_user.username,
......@@ -423,6 +435,9 @@ def send_email_preview_page_is_available(course_run):
'page_url': 'https://{host}{path}'.format(
host=Site.objects.get_current().domain.strip('/'), path=page_path
),
'course_page_url': 'https://{host}{path}'.format(
host=Site.objects.get_current().domain.strip('/'), path=course_page_path
),
'platform_name': settings.PLATFORM_NAME
}
template = get_template(txt_template)
......@@ -465,6 +480,7 @@ def send_course_run_published_email(course_run):
from_address = settings.PUBLISHER_FROM_EMAIL
project_coordinator = course_run.course.project_coordinator
page_path = reverse('publisher:publisher_course_run_detail', kwargs={'pk': course_run.id})
course_page_path = reverse('publisher:publisher_course_detail', kwargs={'pk': course_run.course.id})
context = {
'sender_role': PublisherUserRole.Publisher,
'course_name': course_run.course.title,
......@@ -475,6 +491,9 @@ def send_course_run_published_email(course_run):
'page_url': 'https://{host}{path}'.format(
host=Site.objects.get_current().domain.strip('/'), path=page_path
),
'course_page_url': 'https://{host}{path}'.format(
host=Site.objects.get_current().domain.strip('/'), path=course_page_path
),
'platform_name': settings.PLATFORM_NAME,
}
template = get_template(txt_template)
......@@ -507,8 +526,9 @@ def send_change_role_assignment_email(course_role, former_user):
html_template = 'publisher/email/role_assignment_changed.html'
try:
subject = _('Role assignment changed for role: {role_name} against {course_title}').format( # pylint: disable=no-member
role_name=course_role.get_role_display(),
role_name = course_role.get_role_display()
subject = _('{role_name} changed for {course_title}').format( # pylint: disable=no-member
role_name=role_name.lower(),
course_title=course_role.course.title
)
to_addresses = course_role.course.get_course_users_emails()
......@@ -521,7 +541,7 @@ def send_change_role_assignment_email(course_role, former_user):
page_path = reverse('publisher:publisher_course_detail', kwargs={'pk': course_role.course.id})
context = {
'course_title': course_role.course.title,
'role_name': course_role.get_role_display(),
'role_name': role_name.lower(),
'former_user_name': former_user.get_full_name() or former_user.username,
'current_user_name': course_role.user.get_full_name() or course_role.user.username,
'contact_us_email': project_coordinator.email if project_coordinator else '',
......
......@@ -270,7 +270,7 @@ class CourseRunSendForReviewEmailTests(TestCase):
page_path = reverse('publisher:publisher_course_run_detail', kwargs={'pk': self.course_run.id})
page_url = 'https://{host}{path}'.format(host=Site.objects.get_current().domain.strip('/'), path=page_path)
self.assertIn(page_url, body)
self.assertIn('Visit the course run details page to approve or decline this course run.', body)
self.assertIn('View this course run in Publisher to review the changes or suggest edits.', body)
class CourseRunMarkAsReviewedEmailTests(TestCase):
......@@ -372,7 +372,7 @@ class CourseRunMarkAsReviewedEmailTests(TestCase):
page_path = reverse('publisher:publisher_course_run_detail', kwargs={'pk': self.course_run.id})
page_url = 'https://{host}{path}'.format(host=Site.objects.get_current().domain.strip('/'), path=page_path)
self.assertIn(page_url, body)
self.assertIn('You will receive another email when the course run preview is available', body)
self.assertIn('You can now submit a request for a preview of the course run About page.', body)
class CourseRunPreviewEmailTests(TestCase):
......@@ -573,8 +573,8 @@ class CourseChangeRoleAssignmentEmailTests(TestCase):
Verify that course role assignment chnage email functionality works fine.
"""
emails.send_change_role_assignment_email(self.marketing_role, self.user)
expected_subject = 'Role assignment changed for role: {role_name} against {course_title}'.format(
role_name=self.marketing_role.get_role_display(),
expected_subject = '{role_name} changed for {course_title}'.format(
role_name=self.marketing_role.get_role_display().lower(),
course_title=self.course.title
)
......@@ -588,7 +588,7 @@ class CourseChangeRoleAssignmentEmailTests(TestCase):
page_path = reverse('publisher:publisher_course_detail', kwargs={'pk': self.course.id})
page_url = 'https://{host}{path}'.format(host=Site.objects.get_current().domain.strip('/'), path=page_path)
self.assertIn(page_url, body)
self.assertIn('has been changed.', body)
self.assertIn('has changed.', body)
def test_change_role_assignment_email_with_error(self):
"""
......
......@@ -5,6 +5,7 @@ from django.core.mail.message import EmailMultiAlternatives
from django.core.urlresolvers import reverse
from django.template.loader import get_template
from django.utils.translation import ugettext_lazy as _
from opaque_keys.edx.keys import CourseKey
from course_discovery.apps.publisher.models import CourseRun
from course_discovery.apps.publisher.utils import is_email_notification_enabled
......@@ -24,10 +25,12 @@ def send_email_for_comment(comment, created=False):
publisher_obj = comment.content_type.get_object_for_this_type(pk=object_pk)
comment_class = comment.content_type.model_class()
subject_desc = _('New comment added')
subject_desc = _('Comment added:')
comment_date = comment.submit_date
if not created:
subject_desc = _('Comment updated')
subject_desc = _('Comment updated:')
comment_date = comment.modified
if comment_class == CourseRun:
course = publisher_obj.course
......@@ -36,30 +39,37 @@ def send_email_for_comment(comment, created=False):
# Translators: subject_desc will be choice from ('New comment added', 'Comment updated'),
# 'pacing_type' will be choice from ('instructor-paced', 'self-paced'),
# 'title' and 'start' will be the value of course title & start date fields.
subject = _('{subject_desc} in course run: {title}-{pacing_type}-{start}').format( # pylint: disable=no-member
subject = _('{subject_desc} {title} {start} - {pacing_type}').format( # pylint: disable=no-member
subject_desc=subject_desc,
title=course.title,
pacing_type=publisher_obj.get_pacing_type_display(),
start=publisher_obj.start.strftime('%B %d, %Y') if publisher_obj.start else ''
)
course_name = '{title} {start} - {pacing_type}'.format(
title=course.title,
pacing_type=publisher_obj.get_pacing_type_display(),
start=publisher_obj.start.strftime('%B %d, %Y') if publisher_obj.start else ''
)
else:
course = publisher_obj
object_path = reverse('publisher:publisher_courses_edit', args=[publisher_obj.id])
# Translators: 'subject_desc' will be choice from ('New comment added', 'Comment updated')
# and 'title' will be the value of course title field.
subject = _('{subject_desc} in Course: {title}').format( # pylint: disable=no-member
subject = _('{subject_desc} {title}').format( # pylint: disable=no-member
subject_desc=subject_desc,
title=course.title
)
course_name = course.title
to_addresses = course.get_course_users_emails()
from_address = settings.PUBLISHER_FROM_EMAIL
context = {
'comment': comment,
'course': course,
'object_type': comment_class.__name__,
'comment_message': comment.comment,
'team_name': 'course team' if comment.user == course.course_team_admin else 'marketing team',
'course_name': course_name,
'comment_date': comment_date,
'page_url': 'https://{host}{path}'.format(host=comment.site.domain.strip('/'), path=object_path)
}
......@@ -89,11 +99,16 @@ def send_email_decline_preview(comment, course_run, preview_url):
"""
try:
object_path = reverse('publisher:publisher_course_run_detail', args=[course_run.id])
course_key = CourseKey.from_string(course_run.lms_course_id)
course_name = '{title} {run_number}'.format(
title=course_run.course.title,
run_number=course_key.run
)
# Translators: subject_desc will be Preview Decline for course run,
# 'title' will be the value of course title.
subject = _('Preview Decline for course run: {title}').format( # pylint: disable=no-member
title=course_run.course.title
subject = _('Preview reviewed: {course_name}').format( # pylint: disable=no-member
course_name=course_name
)
recipient_user = course_run.course.publisher
......@@ -103,9 +118,11 @@ def send_email_decline_preview(comment, course_run, preview_url):
from_address = settings.PUBLISHER_FROM_EMAIL
context = {
'comment': comment,
'team_name': 'course team',
'page_url': 'https://{host}{path}'.format(host=comment.site.domain.strip('/'), path=object_path),
'preview_url': preview_url,
'course_title': course_run.course.title,
'course_name': course_name,
'recipient_name': recipient_user.get_full_name() or recipient_user.username
}
txt_template = 'publisher/email/decline_preview.txt'
......
......@@ -5,6 +5,7 @@ from django.contrib.sites.models import Site
from django.core import mail
from django.core.urlresolvers import reverse
from django.test import TestCase
from opaque_keys.edx.keys import CourseKey
from testfixtures import LogCapture
from course_discovery.apps.core.tests.factories import UserFactory
......@@ -65,7 +66,7 @@ class CommentsEmailTests(TestCase):
to multiple users depending upon the course related group.
"""
comment = self.create_comment(content_object=self.course)
subject = 'New comment added in Course: {title}'.format(title=self.course.title)
subject = 'Comment added: {title}'.format(title=self.course.title)
self.assert_comment_email_sent(
self.course, comment, reverse('publisher:publisher_courses_edit', args=[self.course.id]),
subject
......@@ -76,7 +77,7 @@ class CommentsEmailTests(TestCase):
depending upon the parent course related group.
"""
comment = self.create_comment(content_object=self.course_run)
subject = 'New comment added in course run: {title}-{pacing_type}-{start}'.format(
subject = 'Comment added: {title} {start} - {pacing_type}'.format(
title=self.course_run.course.title,
pacing_type=self.course_run.get_pacing_type_display(),
start=self.course_run.start.strftime('%B %d, %Y')
......@@ -112,7 +113,7 @@ class CommentsEmailTests(TestCase):
self.course_run.start = None
self.course_run.save()
comment = self.create_comment(content_object=self.course_run)
subject = 'New comment added in course run: {title}-{pacing_type}-{start}'.format(
subject = 'Comment added: {title} {start} - {pacing_type}'.format(
title=self.course_run.course.title,
pacing_type=self.course_run.get_pacing_type_display(),
start=''
......@@ -125,18 +126,20 @@ class CommentsEmailTests(TestCase):
def assert_comment_email_sent(self, content_object, comment, object_path, subject):
""" DRY method to assert send email data"""
object_type = content_object.__class__.__name__
self.assertEqual([self.user.email, self.user_2.email], mail.outbox[0].to)
self.assertEqual(str(mail.outbox[0].subject), subject)
body = mail.outbox[0].body.strip()
heading = '{first_name} commented on a {object_type} belonging to the course {title} ({number})'
self.assertIn(
heading.format(
first_name=comment.user.first_name, object_type=object_type.lower(),
title=self.course.title, number=self.course.number
),
body
)
if isinstance(content_object, CourseRun):
course_name = '{title} {start} - {pacing_type}'.format(
title=content_object.course.title,
pacing_type=content_object.get_pacing_type_display(),
start=content_object.start.strftime('%B %d, %Y') if content_object.start else ''
)
else:
course_name = content_object.title
expected = 'The marketing team made the following comment on {course_name}'.format(course_name=course_name)
self.assertIn(expected, body)
page_url = 'https://{host}{path}'.format(host=comment.site.domain.strip('/'), path=object_path)
self.assertIn(comment.comment, body)
self.assertIn(page_url, body)
......@@ -175,13 +178,13 @@ class CommentsEmailTests(TestCase):
to multiple users.
"""
comment = self.create_comment(content_object=self.course)
subject = 'New comment added in Course: {title}'.format(title=self.course.title)
subject = 'Comment added: {title}'.format(title=self.course.title)
self.assertEqual(str(mail.outbox[0].subject), subject)
self.assertIn(comment.comment, str(mail.outbox[0].body.strip()))
comment.comment = 'update the comment'
comment.save() # pylint: disable=no-member
subject = 'Comment updated in Course: {title}'.format(title=self.course.title)
subject = 'Comment updated: {title}'.format(title=self.course.title)
self.assertEqual(str(mail.outbox[1].subject), subject)
self.assertIn(comment.comment, str(mail.outbox[1].body.strip()), 'update the comment')
......@@ -196,7 +199,7 @@ class CommentsEmailTests(TestCase):
comment.comment = 'Update the comment'
comment.save() # pylint: disable=no-member
subject = 'Comment updated in course run: {title}-{pacing_type}-{start}'.format(
subject = 'Comment updated: {title} {start} - {pacing_type}'.format(
title=self.course_run.course.title,
pacing_type=self.course_run.get_pacing_type_display(),
start=self.course_run.start.strftime('%B %d, %Y')
......@@ -210,11 +213,15 @@ class CommentsEmailTests(TestCase):
factories.CourseUserRoleFactory(
course=self.course, role=PublisherUserRole.Publisher, user=user
)
self.course_run.lms_course_id = 'course-v1:testX+testX2.0+testCourse'
self.course_run.save()
course_key = CourseKey.from_string(self.course_run.lms_course_id)
comment = self._create_decline_comment()
subject = 'Preview Decline for course run: {title}'.format(title=self.course.title)
subject = 'Preview reviewed: {title} {run}'.format(title=self.course.title, run=course_key.run)
self.assertEqual([user.email], mail.outbox[0].to)
self.assertEqual(str(mail.outbox[0].subject), subject)
body = 'Preview link {url} for the {title}: has been declined'.format(
body = 'has reviewed the preview for'.format(
url=self.url,
title=self.course.title
)
......
......@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-13 14:28+0500\n"
"POT-Creation-Date: 2017-04-13 18:39+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: \n"
#: static/js/catalogs-change-form.js
msgid "Preview"
......
......@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-13 14:28+0500\n"
"POT-Creation-Date: 2017-04-13 18:39+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: static/js/catalogs-change-form.js
......
{% extends "publisher/email/email_base.html" %}
{% load i18n %}
{% block body %}
<!-- Message Body -->
<p>{% trans "Hi," %}</p>
<p>
{% blocktrans trimmed %}
The following course run has been submitted for {{ state_name }}.
{% endblocktrans %}
</p>
<p>
<a href="{{ course_run_page_url }}">{% trans "View Course" %}</a>
</p>
<p>{% trans "The edX team" %}</p>
<!-- End Message Body -->
{% endblock body %}
{% load i18n %}
{% trans "Hi," %}
{% blocktrans trimmed %}
The following course run has been submitted for {{ state_name }}.
{% endblocktrans %}
{% trans "View Course:" %} {{ course_run_page_url }}
{% trans "The edX team" %}
......@@ -3,16 +3,16 @@
{% block body %}
<!-- Message Body -->
<p>
{% blocktrans with first_name=comment.user.first_name object_type=object_type|lower title=course.title number=course.number trimmed %}
{{ first_name }} commented on a {{ object_type }} belonging to the course {{ title }} ({{ number }}).
{% blocktrans with date=comment_date|date:'m/d/y' time=comment_date.time trimmed %}
The {{ team_name }} made the following comment on {{ course_name }} on {{ date }} at {{ time }}
{% endblocktrans %}
</p>
<p>
{{ comment.comment }}
<p style="font-style: italic;">
"{{ comment_message }}"
</p>
<p>
<a href="{{ page_url }}">{% trans "View comment" %}</a>
<a href="{{ page_url }}">{% trans "View comment in Publisher" %}</a>
</p>
<p>{% trans "The edX team" %}</p>
<!-- End Message Body -->
......
{% load i18n %}
{% blocktrans with first_name=comment.user.first_name object_type=object_type|lower title=course.title number=course.number trimmed %}
{{ first_name }} commented on a {{ object_type }} belonging to the course {{ title }} ({{ number }}).
{% blocktrans with date=comment_date|date:'m/d/y' time=comment_date.time trimmed %}
The {{ team_name }} made the following comment on {{ course_name }} {{ date }} at {{ time }}.
{% endblocktrans %}
{{ comment.comment }}
{{ comment_message }}
{% trans "View comment: " %}{{ page_url }}
{% trans "View comment in Publisher" %}{{ page_url }}
{% trans "The edX team" %}
......@@ -2,16 +2,23 @@
{% load i18n %}
{% block body %}
<!-- Message Body -->
<p>
{% blocktrans trimmed %}
Dear {{ recipient_name }},
{% endblocktrans %}
</p>
<p>
{% blocktrans with link_start='<a href="' link_middle='">' link_end='</a>' trimmed %}
Changes to {{ link_start }}{{ page_url }}{{ link_middle }} {{ course_name }} {{ link_end }} has been approved.
The {{ sender_team }} has reviewed {{ link_start }}{{ page_url }}{{ link_middle }} {{ course_name }}{{ link_end }} and has suggested no changes. The review for this course is complete.
{% endblocktrans %}
</p>
<!-- Note that the link in the following paragraph now goes to the course page instead of to a course run page (because there may be more than one course run). -->
<p>
{% blocktrans with link_start='<a href="' link_middle='">' link_end='</a>' trimmed %}
You can now submit a course run for review. To do this, {{ link_start }}{{ page_url }}{{ link_middle }} go to the course page{{ link_end }} and open the page for any course run. On the course run page, add all required information for that course run, and then submit the course run for review.
{% endblocktrans %}
</p>
{% comment %}Translators: It's closing of mail.{% endcomment %}
{% trans "Thanks," %}<br>
{{ sender_name }}
......
......@@ -4,9 +4,11 @@
Dear {{ recipient_name }},
{% endblocktrans %}
{% blocktrans trimmed %}
Changes to {{ course_name }} has been approved. {{ page_url }}
The {{ sender_team }} has reviewed {{ link_start }}{{ page_url }}{{ link_middle }} {{ course_name }}{{ link_end }} and has suggested no changes. The review for this course is complete.
{% endblocktrans %}
{% blocktrans trimmed %}
You can now submit a course run for review. To do this, {{ link_start }}{{ page_url }}{{ link_middle }} go to the course page{{ link_end }} and open the page for any course run. On the course run page, add all required information for that course run, and then submit the course run for review.
{% endblocktrans %}
{% trans "Thanks," %}
{{ sender_name }}
......
......@@ -2,19 +2,20 @@
{% load i18n %}
{% block body %}
<!-- Message Body -->
<p>
{% blocktrans trimmed %}
Dear {{ recipient_name }},
{% endblocktrans %}
<p>
{% blocktrans with link_start='<a href="' link_middle='">' link_end='</a>' trimmed %}
New changes to {{ link_start }}{{ page_url }}{{ link_middle }} {{ course_name }} {{ link_end }} are ready for your review. {{ link_start }}{{ page_url }}{{ link_middle }} View this course in Publisher {{ link_end }} to approve or decline the changes.
{{ sender_team }} from {{ org_name }} has submitted {{ link_start }}{{ page_url }}{{ link_middle }}{{ course_name }}{{ link_end }} for review. {{ link_start }}{{ page_url }}{{ link_middle }} View this course in Publisher{{ link_end }} to review the changes or suggest edits.
{% endblocktrans %}
</p>
{% comment %}Translators: It's closing of mail.{% endcomment %}
{% trans "Thanks," %}<br>
{{ sender_name }}
{% trans "The edX team" %}
{% blocktrans trimmed %}
......
......@@ -4,11 +4,11 @@
Dear {{ recipient_name }},
{% endblocktrans %}
{% blocktrans trimmed %}
New changes to {{ course_name }} are ready for your review. {{ page_url }} View this course in Publisher to approve or decline the changes.
{{ sender_team }} from {{ org_name }} has submitted {{ course_name }} for review. {{ page_url }} View this course in Publisher to review the changes or suggest edits.
{% endblocktrans %}
{% trans "Thanks," %}
{{ sender_name }}
{% trans "The edX team" %}
{% blocktrans trimmed %}
Note: This email address is unable to receive replies. For questions or comments, contact {{ contact_us_email }}.
......
......@@ -10,7 +10,7 @@
<p>
<p>
{% blocktrans with link_start='<a href="' link_middle='">' link_end='</a>' trimmed %}
{{ course_team_name }} created the {{ link_start }}{{ dashboard_url }}{{ link_middle }} {{ course_title }} {{ link_end }} course in Publisher on {{ date }} at {{ time }}.
{{ course_team_name }} created the {{ link_start }}{{ dashboard_url }}{{ link_middle }} {{ course_title }}{{ link_end }} course in Publisher on {{ date }} at {{ time }}.
{% endblocktrans %}
</p>
<p>{% trans "Please create a Studio instance for this course." %}</p>
......
......@@ -2,13 +2,14 @@
{% load i18n %}
{% block body %}
<!-- Message Body -->
<p>
{% blocktrans trimmed %}
Dear {{ recipient_name }},
{% endblocktrans %}
<p>
{% blocktrans with link_start='<a href="' link_middle='">' link_end='</a>' trimmed %}
The {{ sender_team }} has reviewed the {{ link_start }}{{ page_url }}{{ link_middle }} {{ run_number }} course run{{ link_end }} of {{ course_name }}. You will receive another email when the course run preview is available for you to review.
The {{ sender_team }} has reviewed the {{ link_start }}{{ page_url }}{{ link_middle }}{{ run_number }} course run{{ link_end }} of {{ link_start }}{{ course_page_url }}{{ link_middle }}{{ course_name }}{{ link_end }}. You can now submit a request for a preview of the course run About page.
{% endblocktrans %}
</p>
......
......@@ -4,7 +4,7 @@
Dear {{ recipient_name }},
{% endblocktrans %}
{% blocktrans trimmed %}
The {{ sender_team }} has reviewed the {{ run_number }} course run of {{ course_name }} {{ page_url }}. You will receive another email when the course run preview is available for you to review.
The {{ sender_team }} has reviewed the {{ run_number }} {{ page_url }} course run of {{ course_name }} {{ course_page_url }}. You can now submit a request for a preview of the course run About page.
{% endblocktrans %}
{% trans "Thanks," %}
......
......@@ -8,7 +8,7 @@
{% endblocktrans %}
<p>
{% blocktrans with link_start='<a href="' link_middle='">' link_end='</a>' trimmed %}
{{ course_team }} has approved the preview of the {{ link_start }}{{ page_url }}{{ link_middle }}{{ run_number }}{{ link_end }} course run of {{ course_name }} from {{ org_name }}. The course run is now ready for publication.
{{ course_team }} has reviewed the preview of the {{ link_start }}{{ page_url }}{{ link_middle }}{{ run_number }}{{ link_end }} course run of {{ link_start }}{{ course_page_url }}{{ link_middle }}{{ course_name }}{{ link_end }} from {{ org_name }}. The course run is now ready for publication.
{% endblocktrans %}
</p>
......
......@@ -4,7 +4,7 @@
Dear {{ publisher_role_name }},
{% endblocktrans %}
{% blocktrans trimmed %}
{{ course_team }} has approved the preview of the {{ run_number }} {{ page_url }} course run of {{ course_name }} from {{ org_name }}. The course run is now ready for publication.
{{ course_team }} has reviewed the preview of the {{ run_number }} {{ page_url }} course run of {{ course_name }} {{ course_page_url }} from {{ org_name }}. The course run is now ready for publication.
{% endblocktrans %}
{% trans "Thanks," %}
......
......@@ -8,7 +8,7 @@
{% endblocktrans %}
<p>
{% blocktrans with link_start='<a href="' link_middle='">' link_end='</a>' trimmed %}
A preview is now available for the {{ link_start }}{{ page_url }}{{ link_middle }} {{ course_run_number }} course run {{ link_end }} of {{ course_name }}. Visit {{ link_start }}{{ preview_link }}{{ link_middle }} link to preview {{ link_end }} to approve or decline the preview for this course run.
A preview is now available for the {{ link_start }}{{ page_url }}{{ link_middle }}{{ course_run_number }}{{ link_end }} course run of {{ link_start }}{{ course_page_url }}{{ link_middle }}{{ course_name }}{{ link_end }}. {{ link_start }}{{ preview_link }}{{ link_middle }} See the preview{{ link_end }} to review or suggest edits to this course run.
{% endblocktrans %}
</p>
......
......@@ -3,8 +3,9 @@
{% blocktrans trimmed %}
Dear {{ recipient_name }},
{% endblocktrans %}
{% blocktrans trimmed %}
A preview is now available for the {{ course_run_number }} course run of {{ course_name }}. Visit {{ page_url }} to approve or decline the preview for this course run.
A preview is now available for the {{ course_run_number }} course run of {{ course_name }} {{ course_page_url }}. See the preview {{ page_url }} to review or suggest edits to this course run.
{% endblocktrans %}
{% trans "Thanks," %}
......
......@@ -8,10 +8,14 @@
{% endblocktrans %}
<p>
{% blocktrans with link_start='<a href="' link_middle='">' link_end='</a>' trimmed %}
The {{ link_start }}{{ page_url }}{{ link_middle }} {{ course_run_number }} course run {{ link_end }} of {{ course_name }} has been published. Visit {{ link_start }}{{ preview_url }}{{ link_middle }}link to live course run page{{ link_end }} to view the course run.
The {{ link_start }}{{ page_url }}{{ link_middle }}{{ course_run_number }} course run{{ link_end }} of {{ link_start }}{{ course_page_url }}{{ link_middle }}{{ course_name }}{{ link_end }} has been published. No further action is necessary for this course run.
{% endblocktrans %}
</p>
<p>
{% blocktrans with link_start='<a href="' link_middle='">' link_end='</a>' trimmed %}
{{ link_start }}{{ preview_url }}{{ link_middle }}View this course run live.{{ link_end }}
{% endblocktrans %}
</p>
{% comment %}Translators: It's closing of mail.{% endcomment %}
{% trans "Thanks," %}<br>
{{ platform_name}} {{ sender_role }}
......
......@@ -4,9 +4,14 @@
Dear {{ recipient_name }},
{% endblocktrans %}
{% blocktrans trimmed %}
The {{ course_run_number }} {{ page_url }} course run of {{ course_name }} has been published. Visit {{ preview_url }} to view the live course run.
The {{ course_run_number }} {{ page_url }} course run of {{ course_name }} {{ course_page_url }} has been published. No further action is necessary for this course run.
{% endblocktrans %}
{% blocktrans trimmed %}
View this course run live. {{ preview_url }}
{% endblocktrans %}
{% trans "Thanks," %}
{{ platform_name}} {{ sender_role }}
......
......@@ -2,13 +2,14 @@
{% load i18n %}
{% block body %}
<!-- Message Body -->
<p>
{% blocktrans trimmed %}
Dear {{ recipient_name }},
{% endblocktrans %}
<p>
{% blocktrans with link_start='<a href="' link_middle='">' link_end='</a>' trimmed %}
The {{ sender_team }} for {{ course_name }} from {{ org_name }} has submitted the {{ link_start }}{{ page_url }}{{ link_middle }}{{ run_number }} course run{{ link_end }} for review. Visit the {{ link_start }}{{ page_url }}{{ link_middle }}course run details page{{ link_end }} to approve or decline this course run.
{{ sender_team }} for {{ link_start }}{{ course_page_url }}{{ link_middle }}{{ course_name }}{{ link_end }} from {{ org_name }} has submitted the {{ link_start }}{{ page_url }}{{ link_middle }}{{ run_number }} course run{{ link_end }} for review. {{ link_start }}{{ page_url }}{{ link_middle }} View this course run in Publisher{{ link_end }} to review the changes or suggest edits.
{% endblocktrans %}
</p>
......
......@@ -4,8 +4,7 @@
Dear {{ recipient_name }},
{% endblocktrans %}
{% blocktrans trimmed %}
New changes to {{ course_name }} are ready for your review. {{ page_url }} View this course in Publisher to approve or decline the changes.
The {{ sender_team }} for {{ course_name }} from {{ org_name }} has submitted the {{ run_number }} course run for review. {{ page_url }} Visit the course run details page to approve or decline this course run.
{{ sender_team }} for {{ course_name }} from {{ org_name }} has submitted the {{ run_number }} course run for review. {{ page_url }} View this course run in Publisher to review the changes or suggest edits.
{% endblocktrans %}
{% trans "Thank you," %}
......
{% extends "publisher/email/email_base.html" %}
{% load i18n %}
{% block body %}
<!-- Message Body -->
<p>
{% blocktrans trimmed with link_start='<a href="' link_middle='">' link_end='</a>' %}
Preview link {{ preview_url }} for the {{ link_start }}{{ page_url }}{{ link_middle }}{{ course_title }}{{ link_end }}
has been declined.
{% endblocktrans %}
</p>
<p>
{{ comment.comment }}
</p>
<p>
{% blocktrans trimmed %}
Dear {{ recipient_name }},
{% endblocktrans %}
</p>
<p>
<a href="{{ page_url }}">{% trans "View comment" %}</a>
</p>
<p>{% trans "The edX team" %}</p>
<p>
{% blocktrans trimmed with link_start='<a href="' link_middle='">' link_end='</a>' %}
The {{ team_name }} has reviewed the preview for {{ link_start }}{{ page_url }}{{ link_middle }}{{ course_name }}{{ link_end }}. View the course run in Publisher for more information.
{% endblocktrans %}
</p>
<p>
{% blocktrans trimmed %}
{{ team_name }} added the following comment to this preview.
{% endblocktrans %}
</p>
<p style="font-style: italic;">
"{{ comment.comment }}"
</p>
<p>
<a href="{{ page_url }}">{% trans "View comment in Publisher" %}</a>
</p>
<p>{% trans "The edX team" %}</p>
<!-- End Message Body -->
{% endblock body %}
{% load i18n %}
{% blocktrans trimmed %}
Preview link {{ preview_url }} for the {{ course_title }}: {{ course_url }} has been declined.
Dear {{ recipient_name }},
{% endblocktrans %}
{% blocktrans trimmed %}
The {{ team_name }} has reviewed the preview for {{ course_name }}. View the course run in Publisher for more information.
{% endblocktrans %}
{{ comment.comment }}
{% trans "View comment: " %}{{ page_url }}
{% trans "View comment in Publisher: " %}{{ page_url }}
{% trans "The edX team" %}
......@@ -4,7 +4,7 @@
{% block body %}
<p>
{% blocktrans trimmed with link_start='<a href="' link_middle='">' link_end='</a>' %}
The {{ role_name }} for the {{ link_start }}{{ course_url }}{{ link_middle }}{{ course_title }}{{ link_end }} has been changed.
The {{ role_name }} for {{ link_start }}{{ course_url }}{{ link_middle }}{{ course_title }}{{ link_end }} has changed.
{% endblocktrans %}
</p>
......
{% load i18n %}
{% blocktrans trimmed %}
The {{ role_name }} for the {{ course_title }}: {{ course_url }} has been changed.
The {{ role_name }} for {{ course_title }}: {{ course_url }} has changed.
{% endblocktrans %}
{% blocktrans trimmed %}
......
......@@ -2,6 +2,9 @@
{% load i18n %}
{% block body %}
<!-- Message Body -->
<!-- Is it still true that we need users to enter this info "both in Publisher and in Studio" (line 21)? -->
<p>
{% comment %}Translators: course_team_name is course team member name.{% endcomment %}
{% blocktrans trimmed %}
......@@ -9,7 +12,7 @@
{% endblocktrans %}
<p>
{% blocktrans with link_start='<a href="' link_middle='">' link_end='</a>' trimmed %}
EdX has {{ updated_text }} a Studio instance for {{ link_start }}{{ course_run_page_url }}{{ link_middle }} {{ course_name }} {{ link_end }}.
EdX has {{ updated_text }} a Studio instance for {{ link_start }}{{ course_run_page_url }}{{ link_middle }} {{ course_name }}{{ link_end }}.
You can now edit this course and configure your course team in Studio.
{% endblocktrans %}
</p>
......
......@@ -2,11 +2,15 @@
{% block body %}
<!-- Message Body -->
<!-- The subject for this message should be: -->
<!-- Studio instance request: <course name> -->
<p>
{% trans "Dear" %} {{ edx_pc_name }},
</p>
<p>
{% trans "Please create a Studio instance for the following course." %}
{% trans "Please create a Studio instance for the following course. After you create the Studio instance, enter the course key for that instance on the course run page in Publisher." %}
</p>
<ul>
......
......@@ -4,7 +4,7 @@
{% trans "Dear" %} {{ edx_pc_name }},
</p>
<p>
{% trans "Please create a Studio instance for the following course." %}
{% trans "Please create a Studio instance for the following course. After you create the Studio instance, enter the course key for that instance on the course run page in Publisher." %}
</p>
<ul>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment