Commit 5a8d0f52 by Sylvia Pearce Committed by Waheed Ahmed

Update email messages for Publisher

parent 8b2944c6
......@@ -288,11 +288,12 @@ class UpdateCourseRunViewTests(TestCase):
# Verify that `lms_course_id` and `changed_by` are not None
self.assert_course_key_and_changed_by(lms_course_id=lms_course_id, changed_by=self.user)
course_key = CourseKey.from_string(lms_course_id)
# Assert email sent
self.assert_email_sent(
reverse('publisher:publisher_course_run_detail', kwargs={'pk': self.course_run.id}),
'Studio instance created',
'EdX has created a Studio instance for '
'Studio URL created: {title} {run}'.format(title=self.course_run.course.title, run=course_key.run),
'has created a Studio URL'
)
def assert_course_key_and_changed_by(self, lms_course_id=None, changed_by=None):
......@@ -756,7 +757,7 @@ class ChangeCourseRunStateViewTests(TestCase):
self.assertEqual([course.course_team_admin.email], mail.outbox[0].to)
course_key = CourseKey.from_string(self.course_run.lms_course_id)
expected_subject = 'Publication complete: {course_name} {run_number}'.format(
expected_subject = 'Publication complete: About page for {course_name} {run_number}'.format(
course_name=course.title,
run_number=course_key.run
)
......
......@@ -14,16 +14,19 @@ from course_discovery.apps.publisher.utils import is_email_notification_enabled
logger = logging.getLogger(__name__)
def send_email_for_studio_instance_created(course_run, updated_text=_('created')):
def send_email_for_studio_instance_created(course_run):
""" Send an email to course team on studio instance creation.
Arguments:
course_run (CourseRun): CourseRun object
updated_text (String): String object
"""
try:
course_key = CourseKey.from_string(course_run.lms_course_id)
object_path = reverse('publisher:publisher_course_run_detail', kwargs={'pk': course_run.id})
subject = _('Studio instance {updated_text}').format(updated_text=updated_text) # pylint: disable=no-member
subject = _('Studio URL created: {title} {run_number}').format( # pylint: disable=no-member
title=course_run.course.title,
run_number=course_key.run
)
to_addresses = [course_run.course.course_team_admin.email]
from_address = settings.PUBLISHER_FROM_EMAIL
......@@ -32,7 +35,6 @@ def send_email_for_studio_instance_created(course_run, updated_text=_('created')
project_coordinator = course_run.course.project_coordinator
context = {
'updated_text': updated_text,
'course_run': course_run,
'course_run_page_url': 'https://{host}{path}'.format(
host=Site.objects.get_current().domain.strip('/'), path=object_path
......@@ -41,7 +43,8 @@ def send_email_for_studio_instance_created(course_run, updated_text=_('created')
'from_address': from_address,
'course_team_name': course_team_admin.get_full_name() or course_team_admin.username,
'project_coordinator_name': project_coordinator.get_full_name() or project_coordinator.username,
'contact_us_email': project_coordinator.email
'contact_us_email': project_coordinator.email,
'studio_url': course_run.studio_url
}
txt_template_path = 'publisher/email/studio_instance_created.txt'
......@@ -70,7 +73,7 @@ def send_email_for_course_creation(course, course_run):
txt_template = 'publisher/email/course_created.txt'
html_template = 'publisher/email/course_created.html'
subject = _('New Studio instance request for {title}').format(title=course.title) # pylint: disable=no-member
subject = _('Studio URL requested: {title}').format(title=course.title) # pylint: disable=no-member
project_coordinator = course.project_coordinator
course_team = course.course_team_admin
......@@ -242,7 +245,8 @@ def send_email_for_send_for_review_course_run(course_run, user):
'sender_team': 'course team' if user_role.role == PublisherUserRole.CourseTeam else 'project coordinators',
'page_url': 'https://{host}{path}'.format(
host=Site.objects.get_current().domain.strip('/'), path=page_path
)
),
'studio_url': course_run.studio_url
}
send_course_workflow_email(course, user, subject, txt_template, html_template, context, recipient_user)
......@@ -469,7 +473,7 @@ def send_course_run_published_email(course_run):
try:
if is_email_notification_enabled(course_team_user):
course_key = CourseKey.from_string(course_run.lms_course_id)
subject = _('Publication complete: {course_name} {run_number}').format( # pylint: disable=no-member
subject = _('Publication complete: About page for {course_name} {run_number}').format( # pylint: disable=no-member
course_name=course_run.course.title,
run_number=course_key.run
)
......
......@@ -26,7 +26,7 @@ class StudioInstanceCreatedEmailTests(TestCase):
def setUp(self):
super(StudioInstanceCreatedEmailTests, self).setUp()
self.user = UserFactory()
self.course_run = factories.CourseRunFactory()
self.course_run = factories.CourseRunFactory(lms_course_id='course-v1:edX+DemoX+Demo_Course')
# add user in course-user-role table
factories.CourseUserRoleFactory(
......@@ -55,10 +55,14 @@ class StudioInstanceCreatedEmailTests(TestCase):
""" Verify that emails sent successfully for studio instance created."""
emails.send_email_for_studio_instance_created(self.course_run)
course_key = CourseKey.from_string(self.course_run.lms_course_id)
self.assert_email_sent(
reverse('publisher:publisher_course_run_detail', kwargs={'pk': self.course_run.id}),
'Studio instance created',
'EdX has created a Studio instance for'
'Studio URL created: {title} {run_number}'.format(
title=self.course_run.course.title,
run_number=course_key.run
),
'created a Studio URL for the'
)
def assert_email_sent(self, object_path, subject, expected_body):
......@@ -71,7 +75,7 @@ class StudioInstanceCreatedEmailTests(TestCase):
self.assertIn(expected_body, body)
page_url = 'https://{host}{path}'.format(host=Site.objects.get_current().domain.strip('/'), path=object_path)
self.assertIn(page_url, body)
self.assertIn('You can now edit this course in Studio.', body)
self.assertIn('Enter course run content in Studio.', body)
self.assertIn('Thanks', body)
self.assertIn('This email address is unable to receive replies. For questions or comments', body)
self.assertIn(self.course_team.full_name, body)
......@@ -124,7 +128,7 @@ class CourseCreatedEmailTests(TestCase):
""" Verify that studio instance request email sent successfully."""
emails.send_email_for_course_creation(self.course_run.course, self.course_run)
subject = 'New Studio instance request for {title}'.format(title=self.course_run.course.title)
subject = 'Studio URL requested: {title}'.format(title=self.course_run.course.title)
self.assert_email_sent(subject)
def assert_email_sent(self, subject):
......@@ -136,7 +140,7 @@ class CourseCreatedEmailTests(TestCase):
body = mail.outbox[0].body.strip()
self.assertIn('{name} created the'.format(name=self.course_team.full_name), body)
self.assertIn('{dashboard_url}'.format(dashboard_url=reverse('publisher:publisher_dashboard')), body)
self.assertIn('Please create a Studio instance for this course', body)
self.assertIn('Please create a Studio URL for this course.', body)
self.assertIn('Thanks', body)
def test_email_not_sent_with_notification_disabled(self):
......@@ -370,7 +374,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 can now submit a request for a preview of the course run About page.', body)
self.assertIn('The review for this course run is complete.', body)
class CourseRunPreviewEmailTests(TestCase):
......@@ -421,7 +425,7 @@ class CourseRunPreviewEmailTests(TestCase):
page_path = reverse('publisher:publisher_course_run_detail', kwargs={'pk': self.run_state.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('The course run is now ready for publication.', body)
self.assertIn('You can now publish this About page.', body)
def test_preview_accepted_email_with_error(self):
""" Verify that email failure log error message."""
......@@ -523,7 +527,7 @@ class CourseRunPublishedEmailTests(TestCase):
emails.send_course_run_published_email(self.course_run)
course_key = CourseKey.from_string(self.course_run.lms_course_id)
subject = 'Publication complete: {course_name} {run_number}'.format(
subject = 'Publication complete: About page for {course_name} {run_number}'.format(
course_name=self.course_run.course.title,
run_number=course_key.run
)
......@@ -531,9 +535,7 @@ class CourseRunPublishedEmailTests(TestCase):
self.assertEqual([self.course.course_team_admin.email], mail.outbox[0].to)
self.assertEqual(str(mail.outbox[0].subject), subject)
body = mail.outbox[0].body.strip()
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(self.course_run.preview_url, body)
self.assertIn(self.course_run.preview_url, body)
self.assertIn('has been published', body)
......
......@@ -14,6 +14,7 @@ from django.forms import model_to_dict
from django.test import TestCase
from guardian.shortcuts import assign_perm
from mock import patch
from opaque_keys.edx.keys import CourseKey
from pytz import timezone
from testfixtures import LogCapture
......@@ -409,7 +410,7 @@ class CreateCourseRunViewTests(TestCase):
# Verify that and email is sent for studio instance request to project coordinator.
self.assertEqual(len(mail.outbox), 1)
self.assertEqual([self.course.project_coordinator.email], mail.outbox[0].to)
expected_subject = 'New Studio instance request for {title}'.format(title=self.course.title)
expected_subject = 'Studio URL requested: {title}'.format(title=self.course.title)
self.assertEqual(str(mail.outbox[0].subject), expected_subject)
def test_seat_without_price(self):
......@@ -2534,10 +2535,11 @@ class CourseRunEditViewTests(TestCase):
self.new_course_run = CourseRun.objects.get(id=self.new_course_run.id)
self.assertEqual(self.new_course_run.lms_course_id, self.updated_dict['lms_course_id'])
course_key = CourseKey.from_string(self.new_course_run.lms_course_id)
self.assert_email_sent(
reverse('publisher:publisher_course_run_detail', kwargs={'pk': self.new_course_run.id}),
'Studio instance updated',
'EdX has updated a Studio instance for '
'Studio URL created: {title} {run}'.format(title=self.new_course.title, run=course_key.run),
'has created a Studio URL'
)
def test_effort_on_edit_page(self):
......@@ -2885,5 +2887,5 @@ class CreateRunFromDashboardViewTests(TestCase):
# Verify that and email is sent for studio instance request to project coordinator.
self.assertEqual(len(mail.outbox), 1)
self.assertEqual([self.course.project_coordinator.email], mail.outbox[0].to)
expected_subject = 'New Studio instance request for {title}'.format(title=self.course.title)
expected_subject = 'Studio URL requested: {title}'.format(title=self.course.title)
self.assertEqual(str(mail.outbox[0].subject), expected_subject)
......@@ -685,7 +685,7 @@ class CourseRunEditView(mixins.LoginRequiredMixin, mixins.PublisherPermissionMix
course_run.course_run_state.change_state(state=CourseStateChoices.Draft, user=user)
if course_run.lms_course_id and lms_course_id != course_run.lms_course_id:
emails.send_email_for_studio_instance_created(course_run, updated_text=_('updated'))
emails.send_email_for_studio_instance_created(course_run)
# pylint: disable=no-member
messages.success(request, _('Course run updated successfully.'))
......
......@@ -112,7 +112,7 @@ def send_email_decline_preview(comment, course_run, preview_url):
# Translators: subject_desc will be Preview Decline for course run,
# 'title' will be the value of course title.
subject = _('Preview reviewed: {course_name}').format( # pylint: disable=no-member
subject = _('Preview declined: {course_name}').format( # pylint: disable=no-member
course_name=course_name
)
......
......@@ -218,11 +218,10 @@ class CommentsEmailTests(TestCase):
course_key = CourseKey.from_string(self.course_run.lms_course_id)
comment = self._create_decline_comment()
subject = 'Preview reviewed: {title} {run}'.format(title=self.course.title, run=course_key.run)
subject = 'Preview declined: {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 = 'has reviewed the preview for'.format(
url=self.url,
body = 'has declined the preview of the About page for the course run of {title}'.format(
title=self.course.title
)
self.assertIn(body, str(mail.outbox[0].body.strip()))
......
......@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-12 12:13+0500\n"
"POT-Creation-Date: 2017-05-15 12:57+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"
......
......@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-12 12:13+0500\n"
"POT-Creation-Date: 2017-05-15 12:57+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"
......
......@@ -9,13 +9,13 @@
{% endblocktrans %}
<p>
{% blocktrans with link_start='<a href="' link_middle='">' link_end='</a>' trimmed %}
{{ 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.
{{ sender_team }} from {{ org_name }} has submitted {{ course_name }} for review. {{ link_start }}{{ page_url }}{{ link_middle }} View this course in Publisher{{ link_end }} to mark the course as reviewed or suggest edits.
{% endblocktrans %}
</p>
{% comment %}Translators: It's closing of mail.{% endcomment %}
{% trans "Thanks," %}<br>
{% trans "The edX team" %}
{{ sender_name }}
{% blocktrans trimmed %}
......
......@@ -4,7 +4,7 @@
Dear {{ recipient_name }},
{% endblocktrans %}
{% blocktrans trimmed %}
{{ 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.
{{ sender_team }} from {{ org_name }} has submitted {{ course_name }} for review. {{ page_url }} View this course in Publisher to mark the course as reviewed or suggest edits.
{% endblocktrans %}
{% trans "Thanks," %}
......
......@@ -10,13 +10,15 @@
<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 }}{{ page_url }}{{ link_middle }}{{ run_number }} course run{{ link_end }} of {{ course_title }} in Publisher on {{ date }} at {{ time }}.
{% endblocktrans %}
</p>
<p>{% trans "Please create a Studio instance for this course." %}</p>
<p>{% trans "Please create a Studio URL for this course." %}</p>
{# Translators: It's closing of mail. #}
<p>{% trans "Thanks," %}</p>
<p>{% trans "The edX team" %}</p>
<!-- End Message Body -->
{% endblock body %}
......@@ -3,10 +3,10 @@
{% trans "Dear" %} {{ project_coordinator_name }},
{% blocktrans trimmed %}
{{ course_team_name }} created the {{ course_title }} : {{ dashboard_url }} course in Publisher on {{ date }} at {{ time }}.
{{ course_team_name }} created the {{ course_run }} : {{ dashboard_url }} course run of {{ course_title }} in Publisher on {{ date }} at {{ time }}.
{% endblocktrans %}
{% trans "Please create a Studio instance for this course." %}
{% trans "Please create a Studio URL for this course." %}
{% trans "Thanks," %}
{% trans "The edX team" %}
......@@ -2,16 +2,23 @@
{% 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 {{ 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.
{{ sender_team }} has reviewed the {{ link_start }}{{ page_url }}{{ link_middle }}{{ run_number }} course run{{ link_end }} of {{ course_name }} and has not added comments or suggested edits. The review for this course run is complete.
{% endblocktrans %}
</p>
<p>
{% trans "Please create a preview of the About page for this course run and enter the preview URL in Publisher." %}
</p>
<p>
<b>
{% trans "Additionally, please check the comments in Publisher for information about OFAC blocking." %}
</b>
</p>
{% comment %}Translators: It's closing of mail.{% endcomment %}
{% trans "Thanks," %}<br>
......
......@@ -4,8 +4,10 @@
Dear {{ recipient_name }},
{% endblocktrans %}
{% blocktrans trimmed %}
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.
The {{ sender_team }} has reviewed the {{ run_number }} {{ page_url }} course run of {{ course_name }} and has not added comments or suggested edits. The review for this course run is complete.
{% endblocktrans %}
{% trans "Please create a preview of the About page for this course run and enter the preview URL in Publisher." %}
{% trans "Additionally, please check the comments in Publisher for information about OFAC blocking." %}
{% trans "Thanks," %}
{{ sender_name }}
......
......@@ -8,12 +8,12 @@
{% endblocktrans %}
<p>
{% blocktrans with link_start='<a href="' link_middle='">' link_end='</a>' trimmed %}
{{ 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.
{{ course_team }} has reviewed the preview of the About page for the {{ link_start }}{{ page_url }}{{ link_middle }}{{ run_number }}{{ link_end }} course run of {{ course_name }} from {{ org_name }}. You can now publish this About page.
{% endblocktrans %}
</p>
{% comment %}Translators: It's closing of mail.{% endcomment %}
{% trans "Thank you," %}<br>
{% trans "Thanks," %}<br>
{{ course_team }}
......
......@@ -4,7 +4,7 @@
Dear {{ publisher_role_name }},
{% endblocktrans %}
{% blocktrans trimmed %}
{{ 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.
{{ course_team }} has reviewed the preview of the About page for the {{ run_number }} {{ page_url }} course run of {{ course_name }} from {{ org_name }}. You can now publish this About page.
{% 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 }}{{ 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.
A preview is now available for the {{ course_run_number }} course run of {{ course_name }}. {{ link_start }}{{ preview_link }}{{ link_middle }} View the course run in Publisher{{ link_end }} to access the preview for this About page and accept or decline the preview.
{% endblocktrans %}
</p>
......
......@@ -5,7 +5,7 @@
{% endblocktrans %}
{% blocktrans trimmed %}
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.
A preview is now available for the {{ course_run_number }} course run of {{ course_name }}. View the course run in Publisher {{ page_url }} to access the preview for this About page and accept or decline the preview.
{% endblocktrans %}
{% trans "Thanks," %}
......
......@@ -7,13 +7,13 @@
Dear {{ recipient_name }},
{% 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 {{ link_start }}{{ course_page_url }}{{ link_middle }}{{ course_name }}{{ link_end }} has been published. No further action is necessary for this course run.
{% blocktrans trimmed %}
The About page for the {{ course_run_number }} course run of {{ course_name }} has been published. No further action is necessary.
{% 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 }}
{{ link_start }}{{ preview_url }}{{ link_middle }}View this About page on edx.org.{{ link_end }}
{% endblocktrans %}
</p>
{% comment %}Translators: It's closing of mail.{% endcomment %}
......
......@@ -4,11 +4,11 @@
Dear {{ recipient_name }},
{% endblocktrans %}
{% blocktrans trimmed %}
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.
The About page for the {{ course_run_number }} course run of {{ course_name }} has been published. No further action is necessary.
{% endblocktrans %}
{% blocktrans trimmed %}
View this course run live. {{ preview_url }}
View this About page on edx.org. {{ preview_url }}
{% endblocktrans %}
......
......@@ -9,10 +9,15 @@
{% endblocktrans %}
<p>
{% blocktrans with link_start='<a href="' link_middle='">' link_end='</a>' trimmed %}
{{ 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.
{{ sender_team }} for course_name from {{ org_name }} has submitted the {{ run_number }} course run 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>
<!-- The link in this new sentence should go to the course run in Studio.-->
<p>
{% blocktrans with link_start='<a href="' link_middle='">' link_end='</a>' trimmed %}
This is a good time to {{ link_start }}{{ studio_url }}{{ link_middle }} review this course run in Studio{{ link_end }}.
{% endblocktrans %}
</p>
{% comment %}Translators: It's closing of mail.{% endcomment %}
{% trans "Thank you," %}<br>
{{ sender_name }}
......
......@@ -6,6 +6,9 @@
{% blocktrans trimmed %}
{{ 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 %}
{% blocktrans trimmed %}
This is a good time to {{ studio_url }} review this course run in Studio.
{% endblocktrans %}
{% trans "Thank you," %}
{{ sender_name }}
......
......@@ -9,22 +9,21 @@
<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.
{{ team_name }} has declined the preview of the About page for the {{ run_number }} course run of {{course_name}}. {{ link_start }}{{ page_url }}{{ link_middle }}View the course run in Publisher.{{ link_end }}
{% endblocktrans %}
</p>
<p>
{% blocktrans trimmed %}
{{ team_name }} added the following comment to this preview.
{{ team_name }} added the following comment.
{% 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>
{% comment %}Translators: It's closing of mail.{% endcomment %}
{% trans "Thanks," %}<br>
{% trans "The edX team" %}
<!-- End Message Body -->
{% endblock body %}
......@@ -5,11 +5,12 @@
{% endblocktrans %}
{% blocktrans trimmed %}
The {{ team_name }} has reviewed the preview for {{ course_name }}. View the course run in Publisher for more information.
{{ team_name }} has declined the preview of the About page for the {{ run_number }} course run of {{ course_name }}. View the course run in Publisher.
{% endblocktrans %}
{{ comment.comment }}
{% trans "{{ team_name }} added the following comment." %}{{ page_url }}
{% trans "View comment in Publisher: " %}{{ page_url }}
{{ comment.comment }}
{% trans "Thanks," %}
{% trans "The edX team" %}
......@@ -3,42 +3,51 @@
{% 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 %}
Dear {{ course_team_name }},
{% 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 }}.
You can now edit this course and configure your course team in Studio.
{% blocktrans trimmed %}
{{ project_coordinator_name }} has created a Studio URL for the {{ course_run }} course run of {{ course_name }}. You can now take either of the following actions.
{% endblocktrans %}
</p>
<ul>
<li>
<a href="{{ studio_url }}">
{% trans "Enter course run content in Studio." %}
</a>
</li>
<li>
<a href="{{ course_run_page_url }}">
{% trans "Continue adding About page information for this course run in Publisher." %}
</a>
</li>
</ul>
<p>
{% blocktrans with link_start='<a href="https://www.edx.org/">' link_end='</a>' start_tag='<b>' end_tag='</b>' trimmed %}
Before edX can announce your course on {{ link_start }}edx.org{{ link_end }}, you need to add the following items {{ start_tag }}both in Publisher and in Studio{{ end_tag }}.
{% endblocktrans %}
<b>
{% trans "Important Notes" %}
</b>
</p>
<ul>
<li>
{% trans "Before edX can publish the About page for this course run, you must also add the following items for this course run in Studio." %}
</li>
<ul>
<li>{% trans "Course start date" %}</li>
<li>{% trans "Course end date" %}</li>
<li>{% trans "Course image" %}</li>
<li>{% trans "Certificate assets (including signatory names, titles, and signature images)" %}</li>
</ul>
<p>
{% trans "In addition, keep the following items in mind as you build your course." %}
</p>
<ul>
<li>
{% blocktrans with link_start='<a href="http://edx.readthedocs.io/projects/edx-partner-course-staff/en/latest/video/video_prereqs.html#video-getting-started">' link_end='</a>' trimmed %}
If this course is not a re-run, your video administrator must work with edX partner support to enable the {{ link_start }}video upload tool{{ link_end }} before you can add videos to your course.
{% blocktrans with link_start='<a href="https://docs.google.com/spreadsheets/d/1phjmDNoARq4YjJoiFZc0ELumj3r04r36LEncCjN9PVk/">' link_end='</a>' trimmed %}
EdX expects your completed {{ link_start }}MOOC Development Checklist{{ link_end }} before the course run starts.
{% endblocktrans %}
</li>
<li>
{% blocktrans with link_start='<a href="https://docs.google.com/spreadsheets/d/1phjmDNoARq4YjJoiFZc0ELumj3r04r36LEncCjN9PVk/">' link_end='</a>' trimmed %}
We expect your completed {{ link_start }}MOOC Development Checklist{{ link_end }} before your course starts. This checklist includes valuable best practices that help you to stay on track as you design and build your course. We recommend that you use the list early!
{% blocktrans with link_start='<a href="http://edx.readthedocs.io/projects/edx-partner-course-staff/en/latest/set_up_course/setting_up_student_view.html#add-a-course-about-video-to-edx-org">' link_end='</a>' trimmed %}
If this is the first run of a course, you should upload the course About video before you submit the course for review in Publisher. For more information, see {{ link_start }}Add a Course About Video to edx.org{{ link_end }}.
{% endblocktrans %}
</li>
</ul>
......
......@@ -4,10 +4,28 @@
Dear {{ course_team_name }},
{% endblocktrans %}
{% blocktrans trimmed %}
EdX has {{ updated_text }} a Studio instance for {{ course_name }}: {{ course_run_page_url }}.
You can now edit this course in Studio.
{{ project_coordinator_name }} has created a Studio URL for the {{ course_run}} course run of {{ course_name }}. You can now take either of the following actions.
{% endblocktrans %}
{% trans "Enter course run content in Studio." %} {{ studio_url }}
{% trans "Continue adding About page information for this course run in Publisher." %} {{ course_run_page_url }}
{% trans "Important Notes" %}
{% trans "Before edX can publish the About page for this course run, you must also add the following items for this course run in Studio." %}
{% trans "Course start date" %}
{% trans "Course end date" %}
{% trans "Course image" %}
{% trans "Certificate assets (including signatory names, titles, and signature images)" %}
{% trans "EdX expects your completed MOOC Development Checklist before the course run starts." %} https://docs.google.com/spreadsheets/d/1phjmDNoARq4YjJoiFZc0ELumj3r04r36LEncCjN9PVk/
{% trans "If this is the first run of a course, you should upload the course About video before you submit the course for review in Publisher. For more information, see Add a Course About Video to edx.org." %}
http://edx.readthedocs.io/projects/edx-partner-course-staff/en/latest/set_up_course/setting_up_student_view.html#add-a-course-about-video-to-edx-org
{% trans "Thanks," %}
{{ project_coordinator_name }}
......
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