diff --git a/cms/djangoapps/contentstore/tests/test_contentstore.py b/cms/djangoapps/contentstore/tests/test_contentstore.py index 8211836d8f..fb60589b53 100644 --- a/cms/djangoapps/contentstore/tests/test_contentstore.py +++ b/cms/djangoapps/contentstore/tests/test_contentstore.py @@ -679,7 +679,7 @@ class MiscCourseTests(ContentStoreTestCase): self.assertEqual(resp.status_code, 200) for expected in expected_types: - self.assertIn(expected, resp.content) + self.assertIn(expected, resp.content.decode('utf-8')) @ddt.data("", "alert('hi')", "") def test_container_handler_xss_prevent(self, malicious_code): diff --git a/cms/djangoapps/contentstore/views/helpers.py b/cms/djangoapps/contentstore/views/helpers.py index e036553e32..4eb087dfb8 100644 --- a/cms/djangoapps/contentstore/views/helpers.py +++ b/cms/djangoapps/contentstore/views/helpers.py @@ -4,7 +4,6 @@ Helper methods for Studio views. from __future__ import absolute_import -import urllib from uuid import uuid4 import six @@ -112,7 +111,7 @@ def xblock_studio_url(xblock, parent_xblock=None): elif category in ('chapter', 'sequential'): return u'{url}?show={usage_key}'.format( url=reverse_course_url('course_handler', xblock.location.course_key), - usage_key=urllib.quote(unicode(xblock.location)) + usage_key=six.moves.urllib.parse.quote(six.text_type(xblock.location)) ) elif category == 'library': library_key = xblock.location.course_key diff --git a/cms/templates/widgets/header.html b/cms/templates/widgets/header.html index 1b69f2411e..aef8ba49e3 100644 --- a/cms/templates/widgets/header.html +++ b/cms/templates/widgets/header.html @@ -1,6 +1,7 @@ <%page expression_filter="h" args="online_help_token"/> <%namespace name='static' file='../static_content.html'/> <%! + import six from django.conf import settings from django.urls import reverse from django.utils.translation import ugettext as _ @@ -19,22 +20,22 @@ % if context_course: <% course_key = context_course.id - index_url = reverse('course_handler', kwargs={'course_key_string': unicode(course_key)}) - course_team_url = reverse('course_team_handler', kwargs={'course_key_string': unicode(course_key)}) - assets_url = reverse('assets_handler', kwargs={'course_key_string': unicode(course_key)}) - textbooks_url = reverse('textbooks_list_handler', kwargs={'course_key_string': unicode(course_key)}) - videos_url = reverse('videos_handler', kwargs={'course_key_string': unicode(course_key)}) - import_url = reverse('import_handler', kwargs={'course_key_string': unicode(course_key)}) - course_info_url = reverse('course_info_handler', kwargs={'course_key_string': unicode(course_key)}) - export_url = reverse('export_handler', kwargs={'course_key_string': unicode(course_key)}) - settings_url = reverse('settings_handler', kwargs={'course_key_string': unicode(course_key)}) - grading_url = reverse('grading_handler', kwargs={'course_key_string': unicode(course_key)}) - advanced_settings_url = reverse('advanced_settings_handler', kwargs={'course_key_string': unicode(course_key)}) - tabs_url = reverse('tabs_handler', kwargs={'course_key_string': unicode(course_key)}) + index_url = reverse('course_handler', kwargs={'course_key_string': six.text_type(course_key)}) + course_team_url = reverse('course_team_handler', kwargs={'course_key_string': six.text_type(course_key)}) + assets_url = reverse('assets_handler', kwargs={'course_key_string': six.text_type(course_key)}) + textbooks_url = reverse('textbooks_list_handler', kwargs={'course_key_string': six.text_type(course_key)}) + videos_url = reverse('videos_handler', kwargs={'course_key_string': six.text_type(course_key)}) + import_url = reverse('import_handler', kwargs={'course_key_string': six.text_type(course_key)}) + course_info_url = reverse('course_info_handler', kwargs={'course_key_string': six.text_type(course_key)}) + export_url = reverse('export_handler', kwargs={'course_key_string': six.text_type(course_key)}) + settings_url = reverse('settings_handler', kwargs={'course_key_string': six.text_type(course_key)}) + grading_url = reverse('grading_handler', kwargs={'course_key_string': six.text_type(course_key)}) + advanced_settings_url = reverse('advanced_settings_handler', kwargs={'course_key_string': six.text_type(course_key)}) + tabs_url = reverse('tabs_handler', kwargs={'course_key_string': six.text_type(course_key)}) certificates_url = '' if settings.FEATURES.get("CERTIFICATES_HTML_VIEW") and context_course.cert_html_view_enabled: - certificates_url = reverse('certificates_list_handler', kwargs={'course_key_string': unicode(course_key)}) - checklists_url = reverse('checklists_handler', kwargs={'course_key_string': unicode(course_key)}) + certificates_url = reverse('certificates_list_handler', kwargs={'course_key_string': six.text_type(course_key)}) + checklists_url = reverse('checklists_handler', kwargs={'course_key_string': six.text_type(course_key)}) %>

@@ -95,7 +96,7 @@ ${_("Course Team")} % if settings.FEATURES.get('ENABLE_EXPORT_GIT') and context_course.giturl: % endif