Commit a025c2cf by Waheed Ahmed

Course edit page and Institution/Course admin widget.

ECOM-6488
ECOM-6055
parent 7da8b084
...@@ -29,6 +29,18 @@ class PersonModelMultipleChoice(forms.ModelMultipleChoiceField): ...@@ -29,6 +29,18 @@ class PersonModelMultipleChoice(forms.ModelMultipleChoiceField):
return str(render_to_string('publisher/_personFieldLabel.html', context=context)) return str(render_to_string('publisher/_personFieldLabel.html', context=context))
class ClearableImageInput(forms.ClearableFileInput):
"""
ClearableFileInput render the saved image as link.
Render img tag instead of link and add some classes for JS and CSS, also
remove image link and clear checkbox.
"""
clear_checkbox_label = _('Remove Image')
template_with_initial = render_to_string('publisher/_clearableImageInput.html')
template_with_clear = render_to_string('publisher/_clearImageLink.html')
class BaseCourseForm(forms.ModelForm): class BaseCourseForm(forms.ModelForm):
""" Base Course Form. """ """ Base Course Form. """
...@@ -110,6 +122,9 @@ class CustomCourseForm(CourseForm): ...@@ -110,6 +122,9 @@ class CustomCourseForm(CourseForm):
class Meta(CourseForm.Meta): class Meta(CourseForm.Meta):
model = Course model = Course
widgets = {
'image': ClearableImageInput()
}
fields = ( fields = (
'title', 'number', 'short_description', 'full_description', 'title', 'number', 'short_description', 'full_description',
'expected_learnings', 'level_type', 'primary_subject', 'secondary_subject', 'expected_learnings', 'level_type', 'primary_subject', 'secondary_subject',
...@@ -118,11 +133,18 @@ class CustomCourseForm(CourseForm): ...@@ -118,11 +133,18 @@ class CustomCourseForm(CourseForm):
) )
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
user = kwargs.pop('user', None)
organization = kwargs.pop('organization', None) organization = kwargs.pop('organization', None)
if organization: if organization:
org_extension = OrganizationExtension.objects.get(organization=organization) org_extension = OrganizationExtension.objects.get(organization=organization)
self.declared_fields['team_admin'].queryset = User.objects.filter(groups__name=org_extension.group) self.declared_fields['team_admin'].queryset = User.objects.filter(groups__name=org_extension.group)
if user:
self.declared_fields['organization'].queryset = Organization.objects.filter(
organization_extension__organization_id__isnull=False,
organization_extension__group__in=user.groups.all()
)
super(CustomCourseForm, self).__init__(*args, **kwargs) super(CustomCourseForm, self).__init__(*args, **kwargs)
......
...@@ -43,11 +43,11 @@ IMAGE_TOO_LARGE = 'The image you uploaded is too large. The required maximum res ...@@ -43,11 +43,11 @@ IMAGE_TOO_LARGE = 'The image you uploaded is too large. The required maximum res
@ddt.ddt @ddt.ddt
class CreateUpdateCourseViewTests(TestCase): class CreateCourseViewTests(TestCase):
""" Tests for the publisher `CreateCourseView` and `UpdateCourseView`. """ """ Tests for the publisher `CreateCourseView`. """
def setUp(self): def setUp(self):
super(CreateUpdateCourseViewTests, self).setUp() super(CreateCourseViewTests, self).setUp()
self.user = UserFactory() self.user = UserFactory()
self.internal_user_group = Group.objects.get(name=INTERNAL_USER_GROUP_NAME) self.internal_user_group = Group.objects.get(name=INTERNAL_USER_GROUP_NAME)
self.user.groups.add(self.internal_user_group) self.user.groups.add(self.internal_user_group)
...@@ -177,85 +177,6 @@ class CreateUpdateCourseViewTests(TestCase): ...@@ -177,85 +177,6 @@ class CreateUpdateCourseViewTests(TestCase):
self.assertEqual(response.status_code, 400) self.assertEqual(response.status_code, 400)
self._assert_records(1) self._assert_records(1)
def test_update_course_with_admin(self):
""" Verify that publisher admin can update an existing course. """
self.user.groups.add(Group.objects.get(name=ADMIN_GROUP_NAME))
course_dict = model_to_dict(self.course)
course_dict.pop('verification_deadline')
course_dict.pop('image')
updated_course_title = 'Updated {}'.format(self.course.title)
course_dict['title'] = updated_course_title
self.assertNotEqual(self.course.title, updated_course_title)
self.assertNotEqual(self.course.changed_by, self.user)
response = self.client.post(
reverse('publisher:publisher_courses_edit', kwargs={'pk': self.course.id}),
course_dict
)
self.assertRedirects(
response,
expected_url=reverse('publisher:publisher_course_detail', kwargs={'pk': self.course.id}),
status_code=302,
target_status_code=200
)
course = Course.objects.get(id=self.course.id)
# Assert that course is updated.
self.assertEqual(course.title, updated_course_title)
self.assertEqual(course.changed_by, self.user)
# add new and check the comment on edit page.
comment = CommentFactory(content_object=self.course, user=self.user, site=self.site)
response = self.client.get(reverse('publisher:publisher_courses_edit', kwargs={'pk': self.course.id}))
self.assertContains(response, 'Total Comments 1')
self.assertContains(response, 'Add new comment')
self.assertContains(response, comment.comment)
def test_update_course_without_publisher_admin_rights(self):
""" Verify that non-admin users cannot update the course. """
self.client.logout()
user = UserFactory()
self.client.login(username=user.username, password=USER_PASSWORD)
course_dict = model_to_dict(self.course)
course_dict.pop('verification_deadline')
course_dict.pop('image')
updated_course_title = 'Updated {}'.format(self.course.title)
course_dict['title'] = updated_course_title
self.assertNotEqual(self.course.title, updated_course_title)
response = self.client.post(
reverse('publisher:publisher_courses_edit', kwargs={'pk': self.course.id}),
course_dict
)
# verify that non staff user can't update course without permission
self.assertEqual(response.status_code, 403)
user.groups.add(Group.objects.get(name=ADMIN_GROUP_NAME))
response = self.client.post(
reverse('publisher:publisher_courses_edit', kwargs={'pk': self.course.id}),
course_dict
)
self.assertRedirects(
response,
expected_url=reverse('publisher:publisher_course_detail', kwargs={'pk': self.course.id}),
status_code=302,
target_status_code=200
)
course = Course.objects.get(id=self.course.id)
# Assert that course is updated.
self.assertEqual(course.title, updated_course_title)
# add new and check the comment on edit page.
comment = CommentFactory(content_object=self.course, user=user, site=self.site)
response = self.client.get(reverse('publisher:publisher_courses_edit', kwargs={'pk': self.course.id}))
self.assertContains(response, 'Total Comments 1')
self.assertContains(response, 'Add new comment')
self.assertContains(response, comment.comment)
@ddt.data(Seat.VERIFIED, Seat.PROFESSIONAL) @ddt.data(Seat.VERIFIED, Seat.PROFESSIONAL)
def test_create_course_without_price_with_error(self, seat_type): def test_create_course_without_price_with_error(self, seat_type):
""" Verify that if seat type is not honor/audit then price should be given. """ Verify that if seat type is not honor/audit then price should be given.
...@@ -294,7 +215,8 @@ class CreateUpdateCourseViewTests(TestCase): ...@@ -294,7 +215,8 @@ class CreateUpdateCourseViewTests(TestCase):
"""Verify that if there are more than one organization then there will be """Verify that if there are more than one organization then there will be
a drop down of organization choices. a drop down of organization choices.
""" """
factories.OrganizationExtensionFactory() organization_extension = factories.OrganizationExtensionFactory()
self.user.groups.add(organization_extension.group)
response = self.client.get(reverse('publisher:publisher_courses_new')) response = self.client.get(reverse('publisher:publisher_courses_new'))
self.assertContains(response, self.assertContains(response,
'<select class="field-input input-select" id="id_organization" name="organization">') '<select class="field-input input-select" id="id_organization" name="organization">')
...@@ -339,6 +261,7 @@ class CreateUpdateCourseViewTests(TestCase): ...@@ -339,6 +261,7 @@ class CreateUpdateCourseViewTests(TestCase):
course_dict['start'] = self.start_date_time course_dict['start'] = self.start_date_time
course_dict['end'] = self.end_date_time course_dict['end'] = self.end_date_time
course_dict['organization'] = self.organization_extension.organization.id course_dict['organization'] = self.organization_extension.organization.id
course_dict['lms_course_id'] = ''
if seat: if seat:
course_dict.update(**model_to_dict(seat)) course_dict.update(**model_to_dict(seat))
course_dict.pop('verification_deadline') course_dict.pop('verification_deadline')
...@@ -1645,6 +1568,9 @@ class CourseEditViewTests(TestCase): ...@@ -1645,6 +1568,9 @@ class CourseEditViewTests(TestCase):
self.organization_extension = factories.OrganizationExtensionFactory() self.organization_extension = factories.OrganizationExtensionFactory()
self.course.organizations.add(self.organization_extension.organization) self.course.organizations.add(self.organization_extension.organization)
self.course_team_role = factories.CourseUserRoleFactory(course=self.course, role=PublisherUserRole.CourseTeam)
self.organization_extension.group.user_set.add(*(self.user, self.course_team_role.user))
self.edit_page_url = reverse('publisher:publisher_courses_edit', args=[self.course.id]) self.edit_page_url = reverse('publisher:publisher_courses_edit', args=[self.course.id])
def test_edit_page_without_permission(self): def test_edit_page_without_permission(self):
...@@ -1679,6 +1605,109 @@ class CourseEditViewTests(TestCase): ...@@ -1679,6 +1605,109 @@ class CourseEditViewTests(TestCase):
response = self.client.get(self.edit_page_url) response = self.client.get(self.edit_page_url)
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_update_course_with_admin(self):
"""
Verify that publisher admin can update an existing course.
"""
self.user.groups.add(Group.objects.get(name=ADMIN_GROUP_NAME))
post_data = self._post_data(self.organization_extension)
updated_course_title = 'Updated {}'.format(self.course.title)
post_data['title'] = updated_course_title
self.assertNotEqual(self.course.title, updated_course_title)
self.assertNotEqual(self.course.changed_by, self.user)
response = self.client.post(self.edit_page_url, data=post_data)
self.assertRedirects(
response,
expected_url=reverse('publisher:publisher_course_detail', kwargs={'pk': self.course.id}),
status_code=302,
target_status_code=200
)
course = Course.objects.get(id=self.course.id)
# Assert that course is updated.
self.assertEqual(course.title, updated_course_title)
self.assertEqual(course.changed_by, self.user)
def test_update_course_with_non_internal_user(self):
"""
Verify that non-internal user cannot update the course.
"""
self.client.logout()
user = UserFactory()
self.client.login(username=user.username, password=USER_PASSWORD)
user.groups.add(self.organization_extension.group)
post_data = self._post_data(self.organization_extension)
response = self.client.post(self.edit_page_url, data=post_data)
self.assertEqual(response.status_code, 403)
def test_update_course_team_admin(self):
"""
Verify that publisher user can update course team admin.
"""
self._assign_permissions(self.organization_extension)
self.assertEqual(self.course.course_team_admin, self.course_team_role.user)
response = self.client.post(self.edit_page_url, data=self._post_data(self.organization_extension))
self.assertRedirects(
response,
expected_url=reverse('publisher:publisher_course_detail', kwargs={'pk': self.course.id}),
status_code=302,
target_status_code=200
)
self.assertEqual(self.course.course_team_admin, self.user)
def test_update_course_organization(self):
"""
Verify that publisher user can update course organization.
"""
self._assign_permissions(self.organization_extension)
# Create new OrganizationExtension and assign edit/view permissions.
organization_extension = factories.OrganizationExtensionFactory()
organization_extension.group.user_set.add(*(self.user, self.course_team_role.user))
self._assign_permissions(organization_extension)
self.assertEqual(self.course.organizations.first(), self.organization_extension.organization)
response = self.client.post(self.edit_page_url, data=self._post_data(organization_extension))
self.assertRedirects(
response,
expected_url=reverse('publisher:publisher_course_detail', kwargs={'pk': self.course.id}),
status_code=302,
target_status_code=200
)
self.assertEqual(self.course.organizations.first(), organization_extension.organization)
def _assign_permissions(self, organization_extension):
"""
Assign View/Edit permissions to OrganizationExtension object.
"""
assign_perm(OrganizationExtension.VIEW_COURSE, organization_extension.group, organization_extension)
assign_perm(OrganizationExtension.EDIT_COURSE, organization_extension.group, organization_extension)
def _post_data(self, organization_extension):
"""
Generate post data and return.
"""
post_data = model_to_dict(self.course)
post_data.pop('image')
post_data['team_admin'] = self.user.id
post_data['organization'] = organization_extension.organization.id
return post_data
class CourseRunEditViewTests(TestCase): class CourseRunEditViewTests(TestCase):
""" Tests for the course run edit view. """ """ Tests for the course run edit view. """
......
...@@ -20,7 +20,7 @@ from course_discovery.apps.core.models import User ...@@ -20,7 +20,7 @@ from course_discovery.apps.core.models import User
from course_discovery.apps.publisher.choices import PublisherUserRole from course_discovery.apps.publisher.choices import PublisherUserRole
from course_discovery.apps.publisher.emails import send_email_for_course_creation from course_discovery.apps.publisher.emails import send_email_for_course_creation
from course_discovery.apps.publisher.forms import ( from course_discovery.apps.publisher.forms import (
CourseForm, SeatForm, CustomCourseForm, CustomCourseRunForm, CustomSeatForm, UpdateCourseForm SeatForm, CustomCourseForm, CustomCourseRunForm, CustomSeatForm, UpdateCourseForm
) )
from course_discovery.apps.publisher import mixins from course_discovery.apps.publisher import mixins
from course_discovery.apps.publisher.models import ( from course_discovery.apps.publisher.models import (
...@@ -188,7 +188,7 @@ class CreateCourseView(mixins.LoginRequiredMixin, mixins.PublisherUserRequiredMi ...@@ -188,7 +188,7 @@ class CreateCourseView(mixins.LoginRequiredMixin, mixins.PublisherUserRequiredMi
def get_context_data(self): def get_context_data(self):
return { return {
'course_form': self.course_form, 'course_form': self.course_form(user=self.request.user),
'run_form': self.run_form, 'run_form': self.run_form,
'seat_form': self.seat_form, 'seat_form': self.seat_form,
'publisher_hide_features_for_pilot': waffle.switch_is_active('publisher_hide_features_for_pilot'), 'publisher_hide_features_for_pilot': waffle.switch_is_active('publisher_hide_features_for_pilot'),
...@@ -204,7 +204,9 @@ class CreateCourseView(mixins.LoginRequiredMixin, mixins.PublisherUserRequiredMi ...@@ -204,7 +204,9 @@ class CreateCourseView(mixins.LoginRequiredMixin, mixins.PublisherUserRequiredMi
# pass selected organization to CustomCourseForm to populate related # pass selected organization to CustomCourseForm to populate related
# choices into institution admin field # choices into institution admin field
organization = self.request.POST.get('organization') organization = self.request.POST.get('organization')
course_form = self.course_form(request.POST, request.FILES, organization=organization) course_form = self.course_form(
request.POST, request.FILES, user=self.request.user, organization=organization
)
run_form = self.run_form(request.POST) run_form = self.run_form(request.POST)
seat_form = self.seat_form(request.POST) seat_form = self.seat_form(request.POST)
if course_form.is_valid() and run_form.is_valid() and seat_form.is_valid(): if course_form.is_valid() and run_form.is_valid() and seat_form.is_valid():
...@@ -275,21 +277,62 @@ class CreateCourseView(mixins.LoginRequiredMixin, mixins.PublisherUserRequiredMi ...@@ -275,21 +277,62 @@ class CreateCourseView(mixins.LoginRequiredMixin, mixins.PublisherUserRequiredMi
return render(request, self.template_name, ctx, status=400) return render(request, self.template_name, ctx, status=400)
class CourseEditView(mixins.PublisherPermissionMixin, mixins.FormValidMixin, UpdateView): class CourseEditView(mixins.PublisherPermissionMixin, UpdateView):
""" Course Edit View.""" """ Course Edit View."""
model = Course model = Course
form_class = CourseForm form_class = CustomCourseForm
permission = OrganizationExtension.EDIT_COURSE permission = OrganizationExtension.EDIT_COURSE
template_name = 'publisher/course_form.html' template_name = 'publisher/course_edit_form.html'
success_url = 'publisher:publisher_course_detail' success_url = 'publisher:publisher_course_detail'
def get_success_url(self): def get_success_url(self):
return reverse(self.success_url, kwargs={'pk': self.object.id}) return reverse(self.success_url, kwargs={'pk': self.object.id})
def get_context_data(self, **kwargs): def get_form_kwargs(self):
context = super(CourseEditView, self).get_context_data(**kwargs) """
context['comment_object'] = self.object Pass extra kwargs to form, required for team_admin and organization querysets.
return context """
kwargs = super(CourseEditView, self).get_form_kwargs()
request = self.request
if request.POST:
kwargs.update(
{'user': request.user, 'organization': request.POST.get('organization')}
)
else:
organization = self.object.organizations.first()
kwargs.update(
user=request.user,
organization=organization,
initial={
'organization': organization,
'team_admin': self.object.course_team_admin
}
)
return kwargs
def form_valid(self, form):
"""
If the form is valid, update organization and team_admin.
"""
self.object = form.save()
self.object.changed_by = self.request.user
self.object.save()
organization_extension = get_object_or_404(
OrganizationExtension, organization=form.data['organization']
)
self.object.organizations.remove(self.object.organizations.first())
self.object.organizations.add(organization_extension.organization)
course_admin_role = get_object_or_404(
CourseUserRole, course=self.object, role=PublisherUserRole.CourseTeam
)
course_admin_role.user_id = form.data['team_admin']
course_admin_role.save()
return super(CourseEditView, self).form_valid(form)
class CourseDetailView(mixins.LoginRequiredMixin, mixins.PublisherPermissionMixin, DetailView): class CourseDetailView(mixins.LoginRequiredMixin, mixins.PublisherPermissionMixin, DetailView):
......
...@@ -40,22 +40,10 @@ class CommentsTests(TestCase): ...@@ -40,22 +40,10 @@ class CommentsTests(TestCase):
toggle_switch('enable_publisher_email_notifications', True) toggle_switch('enable_publisher_email_notifications', True)
def test_course_edit_page_with_multiple_comments(self):
""" Verify course edit page can load multiple comments"""
self._add_assert_multiple_comments(self.course, self.course_edit_page)
def test_course_run_edit_page_with_multiple_comments(self): def test_course_run_edit_page_with_multiple_comments(self):
""" Verify course-run edit page can load multiple comments""" """ Verify course-run edit page can load multiple comments"""
self._add_assert_multiple_comments(self.course_run, self.course_run_edit_page) self._add_assert_multiple_comments(self.course_run, self.course_run_edit_page)
def test_comment_edit_with_course(self):
""" Verify that only comments attached with specific course appears on edited page. """
comments = self._generate_comments_for_all_content_types()
response = self.client.get(reverse(self.course_edit_page, kwargs={'pk': self.course.id}))
self.assertContains(response, comments.get(self.course).comment)
self.assertNotContains(response, comments.get(self.course_run).comment)
self.assertNotContains(response, comments.get(self.seat).comment)
def test_comment_edit_with_courserun(self): def test_comment_edit_with_courserun(self):
""" Verify that only comments attached with specific course run appears on edited page. """ """ Verify that only comments attached with specific course run appears on edited page. """
comments = self._generate_comments_for_all_content_types() comments = self._generate_comments_for_all_content_types()
......
...@@ -7,14 +7,14 @@ msgid "" ...@@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-01-25 12:05+0500\n" "POT-Creation-Date: 2017-01-26 15:26+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: \n"
#: apps/api/filters.py #: apps/api/filters.py
#, python-brace-format #, python-brace-format
...@@ -461,6 +461,10 @@ msgid "New Studio instance request for {title}" ...@@ -461,6 +461,10 @@ msgid "New Studio instance request for {title}"
msgstr "" msgstr ""
#: apps/publisher/forms.py #: apps/publisher/forms.py
msgid "Remove Image"
msgstr ""
#: apps/publisher/forms.py
msgid "Organization Name" msgid "Organization Name"
msgstr "" msgstr ""
...@@ -797,7 +801,7 @@ msgstr "" ...@@ -797,7 +801,7 @@ msgstr ""
#: templates/metadata/admin/course_run.html #: templates/metadata/admin/course_run.html
#: templates/publisher/_add_instructor_popup.html #: templates/publisher/_add_instructor_popup.html
#: templates/publisher/course_form.html #: templates/publisher/course_edit_form.html
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
...@@ -920,7 +924,7 @@ msgid "Sign Out" ...@@ -920,7 +924,7 @@ msgid "Sign Out"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_detail.html templates/publisher/course_form.html #: templates/publisher/course_detail.html
msgid "Course Form" msgid "Course Form"
msgstr "" msgstr ""
...@@ -929,12 +933,14 @@ msgid "Add Course" ...@@ -929,12 +933,14 @@ msgid "Add Course"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"The information in the Studio Instance section is required before edX can " "The information in the Studio Instance section is required before edX can "
"create a Studio instance for the course run." "create a Studio instance for the course run."
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"The information in the About Page section is not required before edX creates" "The information in the About Page section is not required before edX creates"
" a Studio instance for the course run. You can return to this page and enter" " a Studio instance for the course run. You can return to this page and enter"
...@@ -943,10 +949,12 @@ msgid "" ...@@ -943,10 +949,12 @@ msgid ""
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Studio Instance" msgid "Studio Instance"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"This information is required before edX can create a Studio instance for a " "This information is required before edX can create a Studio instance for a "
"course run." "course run."
...@@ -960,74 +968,90 @@ msgstr "" ...@@ -960,74 +968,90 @@ msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/add_courserun_form.html #: templates/publisher/add_courserun_form.html
#: templates/publisher/course_edit_form.html
msgid "COURSE TITLE" msgid "COURSE TITLE"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/add_courserun_form.html #: templates/publisher/add_courserun_form.html
#: templates/publisher/course_edit_form.html
msgid "Best Practices" msgid "Best Practices"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Examples" msgid "Examples"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Maximum 70 characters. Recommended 50 or fewer characters." msgid "Maximum 70 characters. Recommended 50 or fewer characters."
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "An effective course title:" msgid "An effective course title:"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Clearly indicates the course subject matter." msgid "Clearly indicates the course subject matter."
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Follows search engine optimization (SEO) guidelines." msgid "Follows search engine optimization (SEO) guidelines."
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Targets a global audience." msgid "Targets a global audience."
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"If the course is part of a sequence, include both sequence and course " "If the course is part of a sequence, include both sequence and course "
"information as \\" "information as \\"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Single Courses" msgid "Single Courses"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/add_courserun_form.html #: templates/publisher/add_courserun_form.html
#: templates/publisher/course_edit_form.html
msgid "English Grammar and Essay Writing" msgid "English Grammar and Essay Writing"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Project Management Life Cycle" msgid "Project Management Life Cycle"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/add_courserun_form.html #: templates/publisher/add_courserun_form.html
#: templates/publisher/course_edit_form.html
msgid "Sequence Courses:" msgid "Sequence Courses:"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/add_courserun_form.html #: templates/publisher/add_courserun_form.html
#: templates/publisher/course_edit_form.html
msgid "Introduction to Statistics" msgid "Introduction to Statistics"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/add_courserun_form.html #: templates/publisher/add_courserun_form.html
#: templates/publisher/course_edit_form.html
msgid "Statistics: Inference" msgid "Statistics: Inference"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/add_courserun_form.html #: templates/publisher/add_courserun_form.html
#: templates/publisher/course_edit_form.html
msgid "Statistics: Probability" msgid "Statistics: Probability"
msgstr "" msgstr ""
...@@ -1082,14 +1106,17 @@ msgstr "" ...@@ -1082,14 +1106,17 @@ msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/add_courserun_form.html #: templates/publisher/add_courserun_form.html
#: templates/publisher/course_edit_form.html
msgid "COURSE NUMBER" msgid "COURSE NUMBER"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Maximum 10 characters. Characters can be letters, numbers, or periods." msgid "Maximum 10 characters. Characters can be letters, numbers, or periods."
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"If a course consists of several modules, the course number can have an " "If a course consists of several modules, the course number can have an "
"ending such as .1x or .2x." "ending such as .1x or .2x."
...@@ -1097,6 +1124,7 @@ msgstr "" ...@@ -1097,6 +1124,7 @@ msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/add_courserun_form.html #: templates/publisher/add_courserun_form.html
#: templates/publisher/course_edit_form.html
msgid "About page information" msgid "About page information"
msgstr "" msgstr ""
...@@ -1128,70 +1156,85 @@ msgid "" ...@@ -1128,70 +1156,85 @@ msgid ""
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "BRIEF DESCRIPTION" msgid "BRIEF DESCRIPTION"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"Reads as a tag line - a short, engaging description for students browsing " "Reads as a tag line - a short, engaging description for students browsing "
"course listings" "course listings"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Conveys why someone should take the course" msgid "Conveys why someone should take the course"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "SEO optimized and targeted to a global audience" msgid "SEO optimized and targeted to a global audience"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "140 character limit, including spaces." msgid "140 character limit, including spaces."
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "FULL DESCRIPTION" msgid "FULL DESCRIPTION"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Summarized description of course content" msgid "Summarized description of course content"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Describe why a learner should take this course" msgid "Describe why a learner should take this course"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"Text should be easily scannable, using bullet points to highlight instead of" "Text should be easily scannable, using bullet points to highlight instead of"
" long, dense text paragraphs" " long, dense text paragraphs"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"Note: the first 4-5 lines will be visible to the learner immediately upon " "Note: the first 4-5 lines will be visible to the learner immediately upon "
"clicking the page;" "clicking the page;"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"additional text will be hidden yet available via \"See More\" clickable text" "additional text will be hidden yet available via \"See More\" clickable text"
" under the first 4-5 lines" " under the first 4-5 lines"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "2500 character limit, including spaces." msgid "2500 character limit, including spaces."
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "EXPECTED LEARNINGS" msgid "EXPECTED LEARNINGS"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Answer to the question: \"What will you learn from this course?\"" msgid "Answer to the question: \"What will you learn from this course?\""
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "bulleted items, approximately 4-10 words per bullet" msgid "bulleted items, approximately 4-10 words per bullet"
msgstr "" msgstr ""
...@@ -1218,74 +1261,90 @@ msgid "Instructor" ...@@ -1218,74 +1261,90 @@ msgid "Instructor"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "SUBJECT FIELD" msgid "SUBJECT FIELD"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"Only one primary subject will appear on the About Page; please select one " "Only one primary subject will appear on the About Page; please select one "
"primary subject and a maximum of two additional subject areas for search." "primary subject and a maximum of two additional subject areas for search."
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "COURSE IMAGE" msgid "COURSE IMAGE"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"Select an eye-catching, colorful image that captures the content and essence" "Select an eye-catching, colorful image that captures the content and essence"
" of your course" " of your course"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Do not include text or headlines" msgid "Do not include text or headlines"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Choose an image that you have permission to use." msgid "Choose an image that you have permission to use."
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "This can be a stock photo (try Flickr creative commons, " msgid "This can be a stock photo (try Flickr creative commons, "
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"Stock Vault, Stock XCHNG, iStock Photo) or an image custom designed for your" "Stock Vault, Stock XCHNG, iStock Photo) or an image custom designed for your"
" course" " course"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Sequenced courses should each have a unique image" msgid "Sequenced courses should each have a unique image"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Size: 2120 x 1192 pixels" msgid "Size: 2120 x 1192 pixels"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "PREREQUISITES" msgid "PREREQUISITES"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"List concepts and level (basic, advanced, undergraduate, graduate) students " "List concepts and level (basic, advanced, undergraduate, graduate) students "
"should be familiar with" "should be familiar with"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "If there are no prerequisites, please list \"None.\"" msgid "If there are no prerequisites, please list \"None.\""
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "200 character limit, including spaces" msgid "200 character limit, including spaces"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "200 character limit, including spaces." msgid "200 character limit, including spaces."
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "SYLLABUS" msgid "SYLLABUS"
msgstr "" msgstr ""
...@@ -1340,22 +1399,26 @@ msgid "indicate whether the course should be listed as 8 weeks or 9 weeks." ...@@ -1340,22 +1399,26 @@ msgid "indicate whether the course should be listed as 8 weeks or 9 weeks."
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "LEVEL TYPE" msgid "LEVEL TYPE"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"Introductory - No prerequisites; an individual with some to all of a " "Introductory - No prerequisites; an individual with some to all of a "
"secondary school degree could complete" "secondary school degree could complete"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"Intermediate - Basic prerequisites; a secondary school degree likely " "Intermediate - Basic prerequisites; a secondary school degree likely "
"required to be successful as well as some university" "required to be successful as well as some university"
msgstr "" msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"Advanced - Significant number of prerequisites required; course geared to " "Advanced - Significant number of prerequisites required; course geared to "
"3rd or 4th year university student or a masters degree student" "3rd or 4th year university student or a masters degree student"
...@@ -1542,12 +1605,12 @@ msgstr "" ...@@ -1542,12 +1605,12 @@ msgstr ""
msgid "Not yet created" msgid "Not yet created"
msgstr "" msgstr ""
#: templates/publisher/course_form.html #: templates/publisher/course_edit_form.html
msgid "UPDATE COURSE" msgid "Edit Course"
msgstr "" msgstr ""
#: templates/publisher/course_form.html #: templates/publisher/course_edit_form.html
msgid "Add Course Run" msgid "UPDATE COURSE"
msgstr "" msgstr ""
#: templates/publisher/course_run_detail.html #: templates/publisher/course_run_detail.html
......
...@@ -7,14 +7,14 @@ msgid "" ...@@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-01-25 12:05+0500\n" "POT-Creation-Date: 2017-01-26 15:26+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: \n"
#: static/js/catalogs-change-form.js #: static/js/catalogs-change-form.js
msgid "Preview" msgid "Preview"
......
...@@ -7,14 +7,14 @@ msgid "" ...@@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-01-25 12:05+0500\n" "POT-Creation-Date: 2017-01-26 15:26+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: apps/api/filters.py #: apps/api/filters.py
...@@ -575,6 +575,10 @@ msgstr "" ...@@ -575,6 +575,10 @@ msgstr ""
"¢σηѕє¢тєт#" "¢σηѕє¢тєт#"
#: apps/publisher/forms.py #: apps/publisher/forms.py
msgid "Remove Image"
msgstr "Rémövé Ìmägé Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#"
#: apps/publisher/forms.py
msgid "Organization Name" msgid "Organization Name"
msgstr "Örgänïzätïön Nämé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" msgstr "Örgänïzätïön Nämé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#"
...@@ -946,7 +950,7 @@ msgstr "Sävé Ⱡ'σяєм ι#" ...@@ -946,7 +950,7 @@ msgstr "Sävé Ⱡ'σяєм ι#"
#: templates/metadata/admin/course_run.html #: templates/metadata/admin/course_run.html
#: templates/publisher/_add_instructor_popup.html #: templates/publisher/_add_instructor_popup.html
#: templates/publisher/course_form.html #: templates/publisher/course_edit_form.html
msgid "Cancel" msgid "Cancel"
msgstr "Çänçél Ⱡ'σяєм ιρѕυ#" msgstr "Çänçél Ⱡ'σяєм ιρѕυ#"
...@@ -1072,7 +1076,7 @@ msgid "Sign Out" ...@@ -1072,7 +1076,7 @@ msgid "Sign Out"
msgstr "Sïgn Öüt Ⱡ'σяєм ιρѕυм ∂#" msgstr "Sïgn Öüt Ⱡ'σяєм ιρѕυм ∂#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_detail.html templates/publisher/course_form.html #: templates/publisher/course_detail.html
msgid "Course Form" msgid "Course Form"
msgstr "Çöürsé Förm Ⱡ'σяєм ιρѕυм ∂σłσя #" msgstr "Çöürsé Förm Ⱡ'σяєм ιρѕυм ∂σłσя #"
...@@ -1081,6 +1085,7 @@ msgid "Add Course" ...@@ -1081,6 +1085,7 @@ msgid "Add Course"
msgstr "Àdd Çöürsé Ⱡ'σяєм ιρѕυм ∂σłσ#" msgstr "Àdd Çöürsé Ⱡ'σяєм ιρѕυм ∂σłσ#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"The information in the Studio Instance section is required before edX can " "The information in the Studio Instance section is required before edX can "
"create a Studio instance for the course run." "create a Studio instance for the course run."
...@@ -1089,6 +1094,7 @@ msgstr "" ...@@ -1089,6 +1094,7 @@ msgstr ""
"çréäté ä Stüdïö ïnstänçé för thé çöürsé rün. Ⱡ'σяєм ιρѕυм #" "çréäté ä Stüdïö ïnstänçé för thé çöürsé rün. Ⱡ'σяєм ιρѕυм #"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"The information in the About Page section is not required before edX creates" "The information in the About Page section is not required before edX creates"
" a Studio instance for the course run. You can return to this page and enter" " a Studio instance for the course run. You can return to this page and enter"
...@@ -1105,10 +1111,12 @@ msgstr "" ...@@ -1105,10 +1111,12 @@ msgstr ""
"νєłιт єѕѕє#" "νєłιт єѕѕє#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Studio Instance" msgid "Studio Instance"
msgstr "Stüdïö Ìnstänçé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" msgstr "Stüdïö Ìnstänçé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"This information is required before edX can create a Studio instance for a " "This information is required before edX can create a Studio instance for a "
"course run." "course run."
...@@ -1126,45 +1134,54 @@ msgstr "" ...@@ -1126,45 +1134,54 @@ msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/add_courserun_form.html #: templates/publisher/add_courserun_form.html
#: templates/publisher/course_edit_form.html
msgid "COURSE TITLE" msgid "COURSE TITLE"
msgstr "ÇÖÛRSÉ TÌTLÉ Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" msgstr "ÇÖÛRSÉ TÌTLÉ Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/add_courserun_form.html #: templates/publisher/add_courserun_form.html
#: templates/publisher/course_edit_form.html
msgid "Best Practices" msgid "Best Practices"
msgstr "Bést Präçtïçés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" msgstr "Bést Präçtïçés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Examples" msgid "Examples"
msgstr "Éxämplés Ⱡ'σяєм ιρѕυм ∂#" msgstr "Éxämplés Ⱡ'σяєм ιρѕυм ∂#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Maximum 70 characters. Recommended 50 or fewer characters." msgid "Maximum 70 characters. Recommended 50 or fewer characters."
msgstr "" msgstr ""
"Mäxïmüm 70 çhäräçtérs. Réçömméndéd 50 ör féwér çhäräçtérs. Ⱡ'σяєм ιρѕυм " "Mäxïmüm 70 çhäräçtérs. Réçömméndéd 50 ör féwér çhäräçtérs. Ⱡ'σяєм ιρѕυм "
"∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" "∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "An effective course title:" msgid "An effective course title:"
msgstr "Àn éfféçtïvé çöürsé tïtlé: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" msgstr "Àn éfféçtïvé çöürsé tïtlé: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Clearly indicates the course subject matter." msgid "Clearly indicates the course subject matter."
msgstr "" msgstr ""
"Çléärlý ïndïçätés thé çöürsé süßjéçt mättér. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "Çléärlý ïndïçätés thé çöürsé süßjéçt mättér. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, "
"¢σηѕє¢тєтυя #" "¢σηѕє¢тєтυя #"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Follows search engine optimization (SEO) guidelines." msgid "Follows search engine optimization (SEO) guidelines."
msgstr "" msgstr ""
"Föllöws séärçh éngïné öptïmïzätïön (SÉÖ) güïdélïnés. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " "Föllöws séärçh éngïné öptïmïzätïön (SÉÖ) güïdélïnés. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт "
"αмєт, ¢σηѕє¢тєтυя α#" "αмєт, ¢σηѕє¢тєтυя α#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Targets a global audience." msgid "Targets a global audience."
msgstr "Tärgéts ä glößäl äüdïénçé. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" msgstr "Tärgéts ä glößäl äüdïénçé. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"If the course is part of a sequence, include both sequence and course " "If the course is part of a sequence, include both sequence and course "
"information as \\" "information as \\"
...@@ -1173,36 +1190,43 @@ msgstr "" ...@@ -1173,36 +1190,43 @@ msgstr ""
"ïnförmätïön äs \\ Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#" "ïnförmätïön äs \\ Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Single Courses" msgid "Single Courses"
msgstr "Sïnglé Çöürsés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" msgstr "Sïnglé Çöürsés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/add_courserun_form.html #: templates/publisher/add_courserun_form.html
#: templates/publisher/course_edit_form.html
msgid "English Grammar and Essay Writing" msgid "English Grammar and Essay Writing"
msgstr "" msgstr ""
"Énglïsh Grämmär änd Éssäý Wrïtïng Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тє#" "Énglïsh Grämmär änd Éssäý Wrïtïng Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тє#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Project Management Life Cycle" msgid "Project Management Life Cycle"
msgstr "Pröjéçt Mänägémént Lïfé Çýçlé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#" msgstr "Pröjéçt Mänägémént Lïfé Çýçlé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/add_courserun_form.html #: templates/publisher/add_courserun_form.html
#: templates/publisher/course_edit_form.html
msgid "Sequence Courses:" msgid "Sequence Courses:"
msgstr "Séqüénçé Çöürsés: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" msgstr "Séqüénçé Çöürsés: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/add_courserun_form.html #: templates/publisher/add_courserun_form.html
#: templates/publisher/course_edit_form.html
msgid "Introduction to Statistics" msgid "Introduction to Statistics"
msgstr "Ìntrödüçtïön tö Stätïstïçs Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" msgstr "Ìntrödüçtïön tö Stätïstïçs Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/add_courserun_form.html #: templates/publisher/add_courserun_form.html
#: templates/publisher/course_edit_form.html
msgid "Statistics: Inference" msgid "Statistics: Inference"
msgstr "Stätïstïçs: Ìnférénçé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" msgstr "Stätïstïçs: Ìnférénçé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/add_courserun_form.html #: templates/publisher/add_courserun_form.html
#: templates/publisher/course_edit_form.html
msgid "Statistics: Probability" msgid "Statistics: Probability"
msgstr "Stätïstïçs: Prößäßïlïtý Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#" msgstr "Stätïstïçs: Prößäßïlïtý Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#"
...@@ -1285,16 +1309,19 @@ msgstr "" ...@@ -1285,16 +1309,19 @@ msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/add_courserun_form.html #: templates/publisher/add_courserun_form.html
#: templates/publisher/course_edit_form.html
msgid "COURSE NUMBER" msgid "COURSE NUMBER"
msgstr "ÇÖÛRSÉ NÛMBÉR Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" msgstr "ÇÖÛRSÉ NÛMBÉR Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Maximum 10 characters. Characters can be letters, numbers, or periods." msgid "Maximum 10 characters. Characters can be letters, numbers, or periods."
msgstr "" msgstr ""
"Mäxïmüm 10 çhäräçtérs. Çhäräçtérs çän ßé léttérs, nümßérs, ör pérïöds. " "Mäxïmüm 10 çhäräçtérs. Çhäräçtérs çän ßé léttérs, nümßérs, ör pérïöds. "
"Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" "Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"If a course consists of several modules, the course number can have an " "If a course consists of several modules, the course number can have an "
"ending such as .1x or .2x." "ending such as .1x or .2x."
...@@ -1304,6 +1331,7 @@ msgstr "" ...@@ -1304,6 +1331,7 @@ msgstr ""
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/add_courserun_form.html #: templates/publisher/add_courserun_form.html
#: templates/publisher/course_edit_form.html
msgid "About page information" msgid "About page information"
msgstr "Àßöüt pägé ïnförmätïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢#" msgstr "Àßöüt pägé ïnförmätïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢#"
...@@ -1343,10 +1371,12 @@ msgstr "" ...@@ -1343,10 +1371,12 @@ msgstr ""
"döllärs (mïnïmüm öf $49) Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" "döllärs (mïnïmüm öf $49) Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "BRIEF DESCRIPTION" msgid "BRIEF DESCRIPTION"
msgstr "BRÌÉF DÉSÇRÌPTÌÖN Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" msgstr "BRÌÉF DÉSÇRÌPTÌÖN Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"Reads as a tag line - a short, engaging description for students browsing " "Reads as a tag line - a short, engaging description for students browsing "
"course listings" "course listings"
...@@ -1355,40 +1385,47 @@ msgstr "" ...@@ -1355,40 +1385,47 @@ msgstr ""
"çöürsé lïstïngs Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" "çöürsé lïstïngs Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Conveys why someone should take the course" msgid "Conveys why someone should take the course"
msgstr "" msgstr ""
"Çönvéýs whý söméöné shöüld täké thé çöürsé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "Çönvéýs whý söméöné shöüld täké thé çöürsé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, "
"¢σηѕє¢тєтυя #" "¢σηѕє¢тєтυя #"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "SEO optimized and targeted to a global audience" msgid "SEO optimized and targeted to a global audience"
msgstr "" msgstr ""
"SÉÖ öptïmïzéd änd tärgétéd tö ä glößäl äüdïénçé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт," "SÉÖ öptïmïzéd änd tärgétéd tö ä glößäl äüdïénçé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,"
" ¢σηѕє¢тєтυя α#" " ¢σηѕє¢тєтυя α#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "140 character limit, including spaces." msgid "140 character limit, including spaces."
msgstr "" msgstr ""
"140 çhäräçtér lïmït, ïnçlüdïng späçés. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "140 çhäräçtér lïmït, ïnçlüdïng späçés. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, "
"¢σηѕє¢тєтυя#" "¢σηѕє¢тєтυя#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "FULL DESCRIPTION" msgid "FULL DESCRIPTION"
msgstr "FÛLL DÉSÇRÌPTÌÖN Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" msgstr "FÛLL DÉSÇRÌPTÌÖN Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Summarized description of course content" msgid "Summarized description of course content"
msgstr "" msgstr ""
"Sümmärïzéd désçrïptïön öf çöürsé çöntént Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "Sümmärïzéd désçrïptïön öf çöürsé çöntént Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, "
"¢σηѕє¢тєтυя#" "¢σηѕє¢тєтυя#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Describe why a learner should take this course" msgid "Describe why a learner should take this course"
msgstr "" msgstr ""
"Désçrïßé whý ä léärnér shöüld täké thïs çöürsé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "Désçrïßé whý ä léärnér shöüld täké thïs çöürsé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, "
"¢σηѕє¢тєтυя α#" "¢σηѕє¢тєтυя α#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"Text should be easily scannable, using bullet points to highlight instead of" "Text should be easily scannable, using bullet points to highlight instead of"
" long, dense text paragraphs" " long, dense text paragraphs"
...@@ -1397,6 +1434,7 @@ msgstr "" ...@@ -1397,6 +1434,7 @@ msgstr ""
" löng, dénsé téxt pärägräphs Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" " löng, dénsé téxt pärägräphs Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"Note: the first 4-5 lines will be visible to the learner immediately upon " "Note: the first 4-5 lines will be visible to the learner immediately upon "
"clicking the page;" "clicking the page;"
...@@ -1405,6 +1443,7 @@ msgstr "" ...@@ -1405,6 +1443,7 @@ msgstr ""
"çlïçkïng thé pägé; Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" "çlïçkïng thé pägé; Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"additional text will be hidden yet available via \"See More\" clickable text" "additional text will be hidden yet available via \"See More\" clickable text"
" under the first 4-5 lines" " under the first 4-5 lines"
...@@ -1413,22 +1452,26 @@ msgstr "" ...@@ -1413,22 +1452,26 @@ msgstr ""
" ündér thé fïrst 4-5 lïnés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#" " ündér thé fïrst 4-5 lïnés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "2500 character limit, including spaces." msgid "2500 character limit, including spaces."
msgstr "" msgstr ""
"2500 çhäräçtér lïmït, ïnçlüdïng späçés. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "2500 çhäräçtér lïmït, ïnçlüdïng späçés. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, "
"¢σηѕє¢тєтυя#" "¢σηѕє¢тєтυя#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "EXPECTED LEARNINGS" msgid "EXPECTED LEARNINGS"
msgstr "ÉXPÉÇTÉD LÉÀRNÌNGS Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#" msgstr "ÉXPÉÇTÉD LÉÀRNÌNGS Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Answer to the question: \"What will you learn from this course?\"" msgid "Answer to the question: \"What will you learn from this course?\""
msgstr "" msgstr ""
"Ànswér tö thé qüéstïön: \"Whät wïll ýöü léärn fröm thïs çöürsé?\" Ⱡ'σяєм " "Ànswér tö thé qüéstïön: \"Whät wïll ýöü léärn fröm thïs çöürsé?\" Ⱡ'σяєм "
"ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" "ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "bulleted items, approximately 4-10 words per bullet" msgid "bulleted items, approximately 4-10 words per bullet"
msgstr "" msgstr ""
"ßüllétéd ïtéms, äppröxïmätélý 4-10 wörds pér ßüllét Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " "ßüllétéd ïtéms, äppröxïmätélý 4-10 wörds pér ßüllét Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт "
...@@ -1461,10 +1504,12 @@ msgid "Instructor" ...@@ -1461,10 +1504,12 @@ msgid "Instructor"
msgstr "Ìnstrüçtör Ⱡ'σяєм ιρѕυм ∂σłσ#" msgstr "Ìnstrüçtör Ⱡ'σяєм ιρѕυм ∂σłσ#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "SUBJECT FIELD" msgid "SUBJECT FIELD"
msgstr "SÛBJÉÇT FÌÉLD Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" msgstr "SÛBJÉÇT FÌÉLD Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"Only one primary subject will appear on the About Page; please select one " "Only one primary subject will appear on the About Page; please select one "
"primary subject and a maximum of two additional subject areas for search." "primary subject and a maximum of two additional subject areas for search."
...@@ -1479,10 +1524,12 @@ msgstr "" ...@@ -1479,10 +1524,12 @@ msgstr ""
"ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι σƒƒι¢ια ∂єѕєяυηт мσłłιт αηιм #" "ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι σƒƒι¢ια ∂єѕєяυηт мσłłιт αηιм #"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "COURSE IMAGE" msgid "COURSE IMAGE"
msgstr "ÇÖÛRSÉ ÌMÀGÉ Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" msgstr "ÇÖÛRSÉ ÌMÀGÉ Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"Select an eye-catching, colorful image that captures the content and essence" "Select an eye-catching, colorful image that captures the content and essence"
" of your course" " of your course"
...@@ -1491,23 +1538,27 @@ msgstr "" ...@@ -1491,23 +1538,27 @@ msgstr ""
" öf ýöür çöürsé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" " öf ýöür çöürsé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Do not include text or headlines" msgid "Do not include text or headlines"
msgstr "" msgstr ""
"Dö nöt ïnçlüdé téxt ör héädlïnés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тє#" "Dö nöt ïnçlüdé téxt ör héädlïnés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тє#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Choose an image that you have permission to use." msgid "Choose an image that you have permission to use."
msgstr "" msgstr ""
"Çhöösé än ïmägé thät ýöü hävé pérmïssïön tö üsé. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " "Çhöösé än ïmägé thät ýöü hävé pérmïssïön tö üsé. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт "
"αмєт, ¢σηѕє¢тєтυя α#" "αмєт, ¢σηѕє¢тєтυя α#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "This can be a stock photo (try Flickr creative commons, " msgid "This can be a stock photo (try Flickr creative commons, "
msgstr "" msgstr ""
"Thïs çän ßé ä stöçk phötö (trý Flïçkr çréätïvé çömmöns, Ⱡ'σяєм ιρѕυм ∂σłσя " "Thïs çän ßé ä stöçk phötö (trý Flïçkr çréätïvé çömmöns, Ⱡ'σяєм ιρѕυм ∂σłσя "
"ѕιт αмєт, ¢σηѕє¢тєтυя α#" "ѕιт αмєт, ¢σηѕє¢тєтυя α#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"Stock Vault, Stock XCHNG, iStock Photo) or an image custom designed for your" "Stock Vault, Stock XCHNG, iStock Photo) or an image custom designed for your"
" course" " course"
...@@ -1516,20 +1567,24 @@ msgstr "" ...@@ -1516,20 +1567,24 @@ msgstr ""
" çöürsé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢т#" " çöürsé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢т#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Sequenced courses should each have a unique image" msgid "Sequenced courses should each have a unique image"
msgstr "" msgstr ""
"Séqüénçéd çöürsés shöüld éäçh hävé ä ünïqüé ïmägé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " "Séqüénçéd çöürsés shöüld éäçh hävé ä ünïqüé ïmägé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт "
"αмєт, ¢σηѕє¢тєтυя α#" "αмєт, ¢σηѕє¢тєтυя α#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "Size: 2120 x 1192 pixels" msgid "Size: 2120 x 1192 pixels"
msgstr "Sïzé: 2120 x 1192 pïxéls Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" msgstr "Sïzé: 2120 x 1192 pïxéls Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "PREREQUISITES" msgid "PREREQUISITES"
msgstr "PRÉRÉQÛÌSÌTÉS Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" msgstr "PRÉRÉQÛÌSÌTÉS Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"List concepts and level (basic, advanced, undergraduate, graduate) students " "List concepts and level (basic, advanced, undergraduate, graduate) students "
"should be familiar with" "should be familiar with"
...@@ -1538,24 +1593,28 @@ msgstr "" ...@@ -1538,24 +1593,28 @@ msgstr ""
"shöüld ßé fämïlïär wïth Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#" "shöüld ßé fämïlïär wïth Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "If there are no prerequisites, please list \"None.\"" msgid "If there are no prerequisites, please list \"None.\""
msgstr "" msgstr ""
"Ìf théré äré nö préréqüïsïtés, pléäsé lïst \"Nöné.\" Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " "Ìf théré äré nö préréqüïsïtés, pléäsé lïst \"Nöné.\" Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт "
"αмєт, ¢σηѕє¢тєтυя α#" "αмєт, ¢σηѕє¢тєтυя α#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "200 character limit, including spaces" msgid "200 character limit, including spaces"
msgstr "" msgstr ""
"200 çhäräçtér lïmït, ïnçlüdïng späçés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "200 çhäräçtér lïmït, ïnçlüdïng späçés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, "
"¢σηѕє¢тєтυ#" "¢σηѕє¢тєтυ#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "200 character limit, including spaces." msgid "200 character limit, including spaces."
msgstr "" msgstr ""
"200 çhäräçtér lïmït, ïnçlüdïng späçés. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "200 çhäräçtér lïmït, ïnçlüdïng späçés. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, "
"¢σηѕє¢тєтυя#" "¢σηѕє¢тєтυя#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "SYLLABUS" msgid "SYLLABUS"
msgstr "SÝLLÀBÛS Ⱡ'σяєм ιρѕυм ∂#" msgstr "SÝLLÀBÛS Ⱡ'σяєм ιρѕυм ∂#"
...@@ -1624,10 +1683,12 @@ msgstr "" ...@@ -1624,10 +1683,12 @@ msgstr ""
"ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" "ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "LEVEL TYPE" msgid "LEVEL TYPE"
msgstr "LÉVÉL TÝPÉ Ⱡ'σяєм ιρѕυм ∂σłσ#" msgstr "LÉVÉL TÝPÉ Ⱡ'σяєм ιρѕυм ∂σłσ#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"Introductory - No prerequisites; an individual with some to all of a " "Introductory - No prerequisites; an individual with some to all of a "
"secondary school degree could complete" "secondary school degree could complete"
...@@ -1636,6 +1697,7 @@ msgstr "" ...@@ -1636,6 +1697,7 @@ msgstr ""
"séçöndärý sçhööl dégréé çöüld çömplété Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" "séçöndärý sçhööl dégréé çöüld çömplété Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"Intermediate - Basic prerequisites; a secondary school degree likely " "Intermediate - Basic prerequisites; a secondary school degree likely "
"required to be successful as well as some university" "required to be successful as well as some university"
...@@ -1644,6 +1706,7 @@ msgstr "" ...@@ -1644,6 +1706,7 @@ msgstr ""
"réqüïréd tö ßé süççéssfül äs wéll äs sömé ünïvérsïtý Ⱡ'σяєм ιρѕυ#" "réqüïréd tö ßé süççéssfül äs wéll äs sömé ünïvérsïtý Ⱡ'σяєм ιρѕυ#"
#: templates/publisher/add_course_form.html #: templates/publisher/add_course_form.html
#: templates/publisher/course_edit_form.html
msgid "" msgid ""
"Advanced - Significant number of prerequisites required; course geared to " "Advanced - Significant number of prerequisites required; course geared to "
"3rd or 4th year university student or a masters degree student" "3rd or 4th year university student or a masters degree student"
...@@ -1875,14 +1938,14 @@ msgstr "STÛDÌÖ ÛRL Ⱡ'σяєм ιρѕυм ∂σłσ#" ...@@ -1875,14 +1938,14 @@ msgstr "STÛDÌÖ ÛRL Ⱡ'σяєм ιρѕυм ∂σłσ#"
msgid "Not yet created" msgid "Not yet created"
msgstr "Nöt ýét çréätéd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" msgstr "Nöt ýét çréätéd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#"
#: templates/publisher/course_form.html #: templates/publisher/course_edit_form.html
msgid "Edit Course"
msgstr "Édït Çöürsé Ⱡ'σяєм ιρѕυм ∂σłσя #"
#: templates/publisher/course_edit_form.html
msgid "UPDATE COURSE" msgid "UPDATE COURSE"
msgstr "ÛPDÀTÉ ÇÖÛRSÉ Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" msgstr "ÛPDÀTÉ ÇÖÛRSÉ Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#"
#: templates/publisher/course_form.html
msgid "Add Course Run"
msgstr "Àdd Çöürsé Rün Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#"
#: templates/publisher/course_run_detail.html #: templates/publisher/course_run_detail.html
msgid "Course Run Detail" msgid "Course Run Detail"
msgstr "Çöürsé Rün Détäïl Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" msgstr "Çöürsé Rün Détäïl Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#"
......
...@@ -7,14 +7,14 @@ msgid "" ...@@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-01-25 12:05+0500\n" "POT-Creation-Date: 2017-01-26 15:26+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: static/js/catalogs-change-form.js #: static/js/catalogs-change-form.js
......
...@@ -57,6 +57,25 @@ $(document).ready(function(){ ...@@ -57,6 +57,25 @@ $(document).ready(function(){
renderSelectedInstructor(id, name, image_source); renderSelectedInstructor(id, name, image_source);
}); });
$('.remove-image').click(function (e) {
e.preventDefault();
$('.course-image-input').removeClass('hidden');
$('.course-image-thumbnail').hide();
$('.course-image-field a').hide();
$('input#image-clear_id').prop('checked', true);
});
// If file selected mark checkbox unchecked otherwise checked.
$('input#id_image').change(function (e) {
var clearImageInput = $('input#image-clear_id');
e.preventDefault();
if (this.files && this.files[0]) {
clearImageInput.prop('checked', false);
} else {
clearImageInput.prop('checked', true);
}
});
}); });
$(document).on('change', '#id_organization', function (e) { $(document).on('change', '#id_organization', function (e) {
...@@ -80,7 +99,7 @@ function loadAdminUsers(org_id) { ...@@ -80,7 +99,7 @@ function loadAdminUsers(org_id) {
teamAdminDropDown.append('<option selected="selected">---------</option>'); teamAdminDropDown.append('<option selected="selected">---------</option>');
$.each(data.results, function (i, user) { $.each(data.results, function (i, user) {
teamAdminDropDown.append($('<option> </option>').val(user.id).html(user.full_name)); teamAdminDropDown.append($('<option> </option>').val(user.id).html(user.full_name));
}); });
} }
}); });
......
...@@ -120,3 +120,9 @@ ...@@ -120,3 +120,9 @@
.stopScroll{ .stopScroll{
overflow: hidden; overflow: hidden;
} }
.course-edit-actions {
@include margin-right(10px);
@include text-align(right);
width: 100%;
}
...@@ -535,6 +535,10 @@ select { ...@@ -535,6 +535,10 @@ select {
} }
} }
} }
textarea {
width: 100%;
}
} }
.comments-container { .comments-container {
...@@ -820,7 +824,20 @@ select { ...@@ -820,7 +824,20 @@ select {
.course-image { .course-image {
width: 480px; width: 480px;
height: 200px; height: 250px;
}
.course-image-field {
.clear-image {
text-align: center;
margin-top: 10px;
width: 100%;
}
.course-image-thumbnail {
width: 100%;
height: 200px;
}
} }
.selected-instructor { .selected-instructor {
......
<div class="clear-image">
<a class="remove-image" href="#">%(clear_checkbox_label)s</a>
<div class="hidden">%(clear)s</div>
</div>
<img class="course-image-thumbnail" src="%(initial_url)s">%(clear_template)s
<div class="course-image-input hidden">%(input)s</div>
{% extends 'publisher/base.html' %}
{% load i18n %}
{% load staticfiles %}
{% block title %}
{% trans "Edit Course" %}
{% endblock title %}
{% block page_content %}
<div>
<h1 class="hd-1 emphasized">{% trans "Edit Course" %}</h1>
<div class="alert-messages">
{% if messages %}
{% for message in messages %}
<div class="alert alert-{{ message.tags }}" role="alert" aria-labelledby="alert-title-{{ message.tags }}" tabindex="-1">
<div><p class="alert-copy">{{ message }}</p></div>
</div>
{% endfor %}
{% endif %}
<p>
{% trans "The information in the Studio Instance section is required before edX can create a Studio instance for the course run." %}
</p>
<p class="{% if publisher_hide_features_for_pilot %}hidden{% endif %}">
{% trans "The information in the About Page section is not required before edX creates a Studio instance for the course run. You can return to this page and enter this information later. This information is required before edX announces the course." %}
</p>
<form class="form" method="post" action="" enctype="multipart/form-data">{% csrf_token %}
<div class="layout-full publisher-layout layout">
<h2 class="layout-title">{% trans "Studio Instance" %}</h2>
<div class="card course-form">
<p class="required">
{% trans "This information is required before edX can create a Studio instance for a course run." %}
</p>
<div class="course-information">
<fieldset class="form-group grid-container grid-manual">
<div class="field-title">{% trans "COURSE TITLE" %}</div>
<div class="row">
<div class="col col-6 help-text">
<div class="row">
<ul class="tabs">
<li class="course-tabs active" data-tab="tab-practices">
{% trans "Best Practices" %}
</li>
<li class="course-tabs" data-tab="tab-example">
{% trans "Examples" %}
</li>
</ul>
</div>
<div id="tab-practices" class="content active">
<p>{% trans "Maximum 70 characters. Recommended 50 or fewer characters." %}</p>
<p>{% trans "An effective course title:" %}</p>
<ul>
<li>{% trans "Clearly indicates the course subject matter." %}</li>
<li>{% trans "Follows search engine optimization (SEO) guidelines." %}</li>
<li>{% trans "Targets a global audience." %}</li>
</ul>
<p>{% trans "If the course is part of a sequence, include both sequence and course information as \"Sequence: Course\"." %}</p>
</div>
<div id="tab-example" class="content">
<p></p>
<strong>{% trans "Single Courses" %}</strong>
<p>“{% trans "English Grammar and Essay Writing" %}”</p>
<p>“{% trans "Project Management Life Cycle" %}”</p>
<br />
<strong>{% trans "Sequence Courses:" %}</strong>
<p>“{% trans "Introduction to Statistics" %}”</p>
<p>“{% trans "Statistics: Inference" %}”</p>
<p>“{% trans "Statistics: Probability" %}”</p>
</div>
</div>
<div class="col col-6">
{% if form.organization.field.queryset.all.count > 1 %}
<label class="field-label">{{ form.organization.label_tag }} </label>
{{ form.organization }}
{% else %}
{% with form.organization.field.queryset|first as organization %}
<label id="organization-name" class="field-label"
data-org_id="{{ organization.id }}">{{ form.organization.label_tag }}
</label>
<span class="read-only-field">{{ organization.name }}</span>
<input id="id_organization" name="organization" type="hidden" value="{{ organization.id }}">
{% endwith %}
{% endif %}
<label class="field-label">
{{ form.team_admin.label_tag }}
</label> {{ form.team_admin }}
<label class="field-label ">{{ form.title.label }}</label>
{{ form.title }}
</div>
</div>
<div class="field-title">{% trans "COURSE NUMBER" %}</div>
<div class="row">
<div class="col col-6 help-text">
<p>{% trans "Maximum 10 characters. Characters can be letters, numbers, or periods." %}</p>
<p>{% trans "If a course consists of several modules, the course number can have an ending such as .1x or .2x." %}</p>
</div>
<div class="col col-6">
<label class="field-label ">{{ form.number.label_tag }}</label>
{{ form.number }}
</div>
</div>
</fieldset>
</div>
</div>
</div>
<div class="layout-full publisher-layout layout {% if publisher_hide_features_for_pilot %}hidden{% endif %}">
<h2 class="layout-title">{% trans "About page information" %}</h2>
<div class="card course-form">
<div class="course-information">
<fieldset class="form-group grid-container grid-manual">
<div class="field-title">{% trans "BRIEF DESCRIPTION" %}</div>
<div class="row">
<div class="col col-6 help-text">
<ul>
<li>{% trans "Reads as a tag line - a short, engaging description for students browsing course listings" %}
</li>
<li>{% trans "Conveys why someone should take the course" %}</li>
<li>{% trans "SEO optimized and targeted to a global audience" %}</li>
</ul>
</div>
<div class="col col-6">
<label class="field-label ">{{ form.short_description.label_tag }}</label>
{{ form.short_description }}
<p>{% trans "140 character limit, including spaces." %}</p>
</div>
</div>
<div class="field-title">{% trans "FULL DESCRIPTION" %}</div>
<div class="row">
<div class="col col-6 help-text">
{% trans "Summarized description of course content" %}
<ul>
<li>{% trans "Describe why a learner should take this course" %}</li>
<li>{% trans "SEO optimized and targeted to a global audience" %}</li>
<li>{% trans "Text should be easily scannable, using bullet points to highlight instead of long, dense text paragraphs" %}
</li>
<li>
{% trans "Note: the first 4-5 lines will be visible to the learner immediately upon clicking the page;" %}
{% trans 'additional text will be hidden yet available via "See More" clickable text under the first 4-5 lines' %}
</li>
</ul>
</div>
<div class="col col-6">
<label class="field-label ">{{ form.full_description.label_tag }}</label>
{{ form.full_description }}
<p>{% trans "2500 character limit, including spaces." %}</p>
</div>
</div>
<div class="field-title">{% trans "EXPECTED LEARNINGS" %}</div>
<div class="row">
<div class="col col-6 help-text">
<ul>
<li>{% trans 'Answer to the question: "What will you learn from this course?"' %}</li>
<li>{% trans "bulleted items, approximately 4-10 words per bullet" %}</li>
</ul>
</div>
<div class="col col-6">
<label class="field-label ">{{ form.expected_learnings.label_tag }}</label>
{{ form.expected_learnings }}
</div>
</div>
<div class="field-title">{% trans "SUBJECT FIELD" %}</div>
<div class="row">
<div class="col col-6 help-text">
{% trans "Only one primary subject will appear on the About Page; please select one primary subject and a maximum of two additional subject areas for search." %}
</div>
<div class="col col-6">
<label class="field-label ">{{ form.primary_subject.label_tag }}</label>
{{ form.primary_subject }}
</div>
</div>
<div class="row">
<div class="col col-6 help-text">&nbsp;
</div>
<div class="col col-6">
<label class="field-label ">{{ form.secondary_subject.label_tag }}</label>
{{ form.secondary_subject }}
</div>
</div>
<div class="row">
<div class="col col-6 help-text">&nbsp;
</div>
<div class="col col-6">
<label class="field-label ">{{ form.tertiary_subject.label_tag }}</label>
{{ form.tertiary_subject }}
</div>
</div>
<div class="field-title">{% trans "COURSE IMAGE" %}</div>
<div class="row">
<div class="col col-6 help-text">
{% trans "Select an eye-catching, colorful image that captures the content and essence of your course" %}
<ul>
<li>{% trans "Do not include text or headlines" %}</li>
<li>{% trans "Choose an image that you have permission to use." %}
{% trans "This can be a stock photo (try Flickr creative commons, " %}
{% trans "Stock Vault, Stock XCHNG, iStock Photo) or an image custom designed for your course" %}
</li>
<li>{% trans "Sequenced courses should each have a unique image" %}</li>
<li>{% trans "Size: 2120 x 1192 pixels" %}</li>
</ul>
</div>
<div class="col col-6">
<label class="field-label ">{{ form.image.label_tag }}</label>
<div class="course-image-field">
{{ form.image }}
{{ form.image.errors }}
</div>
</div>
</div>
<div class="field-title">{% trans "PREREQUISITES" %}</div>
<div class="row">
<div class="col col-6 help-text">
<ul>
<li>{% trans "List concepts and level (basic, advanced, undergraduate, graduate) students should be familiar with" %}
</li>
<li>{% trans 'If there are no prerequisites, please list "None."' %}</li>
<li>{% trans "200 character limit, including spaces" %}</li>
</ul>
</div>
<div class="col col-6">
<label class="field-label ">{{ form.prerequisites.label_tag }}</label>
{{ form.prerequisites }}
<p>{% trans "200 character limit, including spaces." %}</p>
</div>
</div>
<div class="field-title">{% trans "SYLLABUS" %}</div>
<div class="row">
<div class="col col-6 help-text">
<ul>
<!-- Help text will go here when we have it.-->
</ul>
</div>
<div class="col col-6">
<label class="field-label ">{{ form.syllabus.label_tag }}</label>
{{ form.syllabus }}
</div>
</div>
<div class="field-title">{% trans "LEVEL TYPE" %}</div>
<div class="row">
<div class="col col-6 help-text">
<ul>
<li>{% trans "Introductory - No prerequisites; an individual with some to all of a secondary school degree could complete" %}
</li>
<li>
{% trans "Intermediate - Basic prerequisites; a secondary school degree likely required to be successful as well as some university" %}
</li>
<li>
{% trans "Advanced - Significant number of prerequisites required; course geared to 3rd or 4th year university student or a masters degree student" %}
</li>
</ul>
</div>
<div class="col col-6 help-text">
<label class="field-label ">{{ form.level_type.label_tag }}</label>
{{ form.level_type }}
</div>
</div>
</fieldset>
</div>
</div>
</div>
<div class="layout-full layout">
<div class="course-edit-actions">
<a class="btn-cancel" href="{% url 'publisher:publisher_course_detail' course.id %}">
{% trans "Cancel" %}
</a>
<button class="btn-brand btn-base btn-save" type="submit">{% trans "UPDATE COURSE" %}</button>
</div>
</div>
</form>
</div>
</div>
{% endblock %}
{% block extra_js %}
<script src="{% static 'js/publisher/publisher.js' %}"></script>
{% endblock %}
{% extends 'publisher/base.html' %}
{% load i18n %}
{% block title %}
{% trans "Course Form" %}
{% endblock title %}
{% block page_content %}
<div class="layout-full layout publisher-layout">
<div class="publisher-container">
<div class="course-information">
<h4 class="hd-4">{% trans "Course Form" %}</h4>
<form class="form" method="post" action="" enctype="multipart/form-data">
{% csrf_token %}
<fieldset class="form-group">
{% for field in form %}
{% include "publisher/form_field.html" %}
{% endfor %}
</fieldset>
<a class="btn-cancel" href="{% url 'publisher:publisher_course_detail' course.id %}">{% trans "Cancel" %}</a>
<button class="btn-brand btn-base btn-save" type="submit">{% trans "UPDATE COURSE" %}</button>
</form>
</div>
<div class="comment-container">
{% if object.id %}
<a href="{% url 'publisher:publisher_course_runs_new' object.id %}" class="btn btn-neutral btn-add">
{% trans "Add Course Run" %}
</a>
{% endif %}
{% include 'comments/comments_list.html' %}
{% include 'comments/add_auth_comments.html' %}
</div>
</div>
</div>
{% endblock %}
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