diff --git a/common/djangoapps/student/tests/tests.py b/common/djangoapps/student/tests/tests.py index 0566460dd1..a688cc66f4 100644 --- a/common/djangoapps/student/tests/tests.py +++ b/common/djangoapps/student/tests/tests.py @@ -249,11 +249,14 @@ class DashboardTest(ModuleStoreTestCase): Test that the certificate verification status for courses is visible on the dashboard. """ self.client.login(username="jack", password="test") - self._check_verification_status_on('verified', 'You\'re enrolled as a verified student') - self._check_verification_status_on('honor', 'You\'re enrolled as an honor code student') + self._check_verification_status_on('verified', 'You're enrolled as a verified student') + self._check_verification_status_on('honor', 'You're enrolled as an honor code student') self._check_verification_status_off('audit', '') - self._check_verification_status_on('professional', 'You\'re enrolled as a professional education student') - self._check_verification_status_on('no-id-professional', 'You\'re enrolled as a professional education student') + self._check_verification_status_on('professional', 'You're enrolled as a professional education student') + self._check_verification_status_on( + 'no-id-professional', + 'You're enrolled as a professional education student', + ) @unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in lms') def _check_verification_status_off(self, mode, value): diff --git a/lms/templates/dashboard.html b/lms/templates/dashboard.html index 54861f320e..c8c67aac69 100644 --- a/lms/templates/dashboard.html +++ b/lms/templates/dashboard.html @@ -1,12 +1,13 @@ +<%page expression_filter="h"/> <%inherit file="main.html" /> <%namespace name='static' file='static_content.html'/> <%! +from django.core.urlresolvers import reverse from django.utils.translation import ugettext as _ from django.template import RequestContext import third_party_auth from third_party_auth import pipeline -from django.core.urlresolvers import reverse -import json +from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_string %> <% @@ -39,9 +40,9 @@ import json @@ -54,7 +55,7 @@ import json <%static:require_module module_name="js/views/message_banner" class_name="MessageBannerView"> var banner = new MessageBannerView({urgency: 'low', type: 'warning'}); $('#content').prepend(banner.$el); - banner.showMessage(${json.dumps(redirect_message)}) + banner.showMessage(${redirect_message | n, dump_js_escaped_json}) %static:require_module> % endif %block> @@ -117,7 +118,7 @@ import json
- ${_("You can no longer access this course because payment has not yet been received. " + ${Text(_("You can no longer access this course because payment has not yet been received. " "You can {contact_link_start}contact the account holder{contact_link_end} " "to request payment, or you can " "{unenroll_link_start}unenroll{unenroll_link_end} " - "from this course").format( - contact_link_start='', - contact_link_end='', - unenroll_link_start=( + "from this course")).format( + contact_link_start=HTML(''), + contact_link_end=HTML(''), + unenroll_link_start=HTML( ''.format( - course_id=escape(course_overview.id), - course_number=escape(course_overview.number), - course_name=escape(course_overview.display_name_with_default_escaped), - ) + 'href="#unenroll-modal">' + ).format( + course_id=course_overview.id, + course_number=course_overview.number, + course_name=course_overview.display_name_with_default, ), - unenroll_link_end="", + unenroll_link_end=HTML('
'), )} %endif @@ -383,9 +393,9 @@ from student.helpers import ( <% prc_target = reverse('about_course', args=[unicode(course_requirements['courses'][0]['key'])]) %>- ${_("You must successfully complete {link_start}{prc_display}{link_end} before you begin this course.").format( - link_start=''.format(prc_target), - link_end='', + ${Text(_("You must successfully complete {link_start}{prc_display}{link_end} before you begin this course.")).format( + link_start=HTML(''.format(prc_target)), + link_end=HTML(''), prc_display=course_requirements['courses'][0]['display'], )}
diff --git a/lms/templates/dashboard/_dashboard_status_verification.html b/lms/templates/dashboard/_dashboard_status_verification.html index 3b4db661f0..9c611476f4 100644 --- a/lms/templates/dashboard/_dashboard_status_verification.html +++ b/lms/templates/dashboard/_dashboard_status_verification.html @@ -1,3 +1,4 @@ +<%page expression_filter="h"/> <%namespace name='static' file='../static_content.html'/> <%! from django.utils.translation import ugettext as _ diff --git a/themes/edx.org/lms/templates/dashboard.html b/themes/edx.org/lms/templates/dashboard.html index 410c08a35d..4bf5dbe0a4 100644 --- a/themes/edx.org/lms/templates/dashboard.html +++ b/themes/edx.org/lms/templates/dashboard.html @@ -1,3 +1,4 @@ +<%page expression_filter="h"/> <%inherit file="main.html" /> <%namespace name='static' file='static_content.html'/> <%! @@ -8,6 +9,7 @@ from third_party_auth import pipeline from microsite_configuration import microsite from django.core.urlresolvers import reverse import json +from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_string %> <% @@ -40,9 +42,9 @@ import json @@ -55,7 +57,7 @@ import json <%static:require_module module_name="js/views/message_banner" class_name="MessageBannerView"> var banner = new MessageBannerView({urgency: 'low', type: 'warning'}); $('#content').prepend(banner.$el); - banner.showMessage(${json.dumps(redirect_message)}) + banner.showMessage(${redirect_message | n, dump_js_escaped_json}) %static:require_module> % endif %block> @@ -118,7 +120,7 @@ import json