From a609e074c7e4d8a87536c731cc1436724cee3e77 Mon Sep 17 00:00:00 2001 From: Peter Fogg Date: Tue, 8 Dec 2015 16:35:38 -0500 Subject: [PATCH] Fix Unicode errors in financial assistance. --- common/djangoapps/util/views.py | 4 ++-- lms/djangoapps/courseware/tests/test_views.py | 6 +++--- lms/djangoapps/courseware/views.py | 10 +++++----- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/common/djangoapps/util/views.py b/common/djangoapps/util/views.py index aac618862d..50db52864e 100644 --- a/common/djangoapps/util/views.py +++ b/common/djangoapps/util/views.py @@ -205,8 +205,8 @@ def _record_feedback_in_zendesk( zendesk_api = _ZendeskApi() additional_info_string = ( - "Additional information:\n\n" + - "\n".join("%s: %s" % (key, value) for (key, value) in additional_info.items() if value is not None) + u"Additional information:\n\n" + + u"\n".join(u"%s: %s" % (key, value) for (key, value) in additional_info.items() if value is not None) ) # Tag all issues with LMS to distinguish channel in Zendesk; requested by student support team diff --git a/lms/djangoapps/courseware/tests/test_views.py b/lms/djangoapps/courseware/tests/test_views.py index ef87ea0844..3abc9711f4 100644 --- a/lms/djangoapps/courseware/tests/test_views.py +++ b/lms/djangoapps/courseware/tests/test_views.py @@ -184,7 +184,7 @@ class ViewsTestCase(ModuleStoreTestCase): """ def setUp(self): super(ViewsTestCase, self).setUp() - self.course = CourseFactory.create() + self.course = CourseFactory.create(display_name=u'teꜱᴛ course') self.chapter = ItemFactory.create(category='chapter', parent_location=self.course.location) self.section = ItemFactory.create(category='sequential', parent_location=self.chapter.location, due=datetime(2013, 9, 18, 11, 30, 00)) self.vertical = ItemFactory.create(category='vertical', parent_location=self.section.location) @@ -434,7 +434,7 @@ class ViewsTestCase(ModuleStoreTestCase): 'location': unicode(usage_key), }) response = self.client.get(url) - response_content = HTMLParser().unescape(response.content) + response_content = HTMLParser().unescape(response.content.decode('utf-8')) # We have update the state 4 times: twice to change content, and twice # to set the scores. We'll check that the identifying content from each is @@ -547,7 +547,7 @@ class ViewsTestCase(ModuleStoreTestCase): self.assertEqual( ticket_subject, - 'Financial assistance request for learner {username} in course {course}'.format( + u'Financial assistance request for learner {username} in course {course}'.format( username=username, course=self.course.display_name ) diff --git a/lms/djangoapps/courseware/views.py b/lms/djangoapps/courseware/views.py index b86b0f3b91..85de0d5591 100644 --- a/lms/djangoapps/courseware/views.py +++ b/lms/djangoapps/courseware/views.py @@ -1477,22 +1477,22 @@ def financial_assistance_request(request): ip_address = get_ip(request) except ValueError: # Thrown if JSON parsing fails - return HttpResponseBadRequest('Could not parse request JSON.') + return HttpResponseBadRequest(u'Could not parse request JSON.') except InvalidKeyError: # Thrown if course key parsing fails - return HttpResponseBadRequest('Could not parse request course key.') + return HttpResponseBadRequest(u'Could not parse request course key.') except KeyError as err: # Thrown if fields are missing - return HttpResponseBadRequest('The field {} is required.'.format(err.message)) + return HttpResponseBadRequest(u'The field {} is required.'.format(err.message)) zendesk_submitted = _record_feedback_in_zendesk( legal_name, email, - 'Financial assistance request for learner {username} in course {course_name}'.format( + u'Financial assistance request for learner {username} in course {course_name}'.format( username=username, course_name=course.display_name ), - 'Financial Assistance Request', + u'Financial Assistance Request', {'course_id': course_id}, # Send the application as additional info on the ticket so # that it is not shown when support replies. This uses