From 212d7efa72d22cdfe07f8376852fe74894cc52ef Mon Sep 17 00:00:00 2001 From: adeelehsan Date: Thu, 14 Feb 2019 18:04:14 +0500 Subject: [PATCH] Get User language if template language is None then use user language instead of getting from setings which is always english LEARNER-6943 --- .../certificates/tests/test_webview_views.py | 21 +++++++++++++++++++ lms/djangoapps/certificates/views/webview.py | 3 ++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/certificates/tests/test_webview_views.py b/lms/djangoapps/certificates/tests/test_webview_views.py index 53b5efc8e7..d41c23961e 100644 --- a/lms/djangoapps/certificates/tests/test_webview_views.py +++ b/lms/djangoapps/certificates/tests/test_webview_views.py @@ -679,6 +679,27 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase) response = self.client.get(test_url) self.assertIn('', response.content) + @override_settings(FEATURES=FEATURES_WITH_CERTS_ENABLED) + def test_html_lang_attribute_is_dynamic_for_certificate_html_view(self): + """ + Tests that Certificate HTML Web View's lang attribute is based on user language. + """ + self._add_course_certificates(count=1, signatory_count=2) + test_url = get_certificate_url( + user_id=self.user.id, + course_id=unicode(self.course.id) + ) + + user_language = 'fr' + self.client.cookies[settings.LANGUAGE_COOKIE] = user_language + response = self.client.get(test_url) + self.assertIn('', response.content) + + user_language = 'ar' + self.client.cookies[settings.LANGUAGE_COOKIE] = user_language + response = self.client.get(test_url) + self.assertIn('', response.content) + @override_settings(FEATURES=FEATURES_WITH_CERTS_ENABLED) def test_html_view_for_non_viewable_certificate_and_for_student_user(self): """ diff --git a/lms/djangoapps/certificates/views/webview.py b/lms/djangoapps/certificates/views/webview.py index 1c9b9659a4..ae078065ac 100644 --- a/lms/djangoapps/certificates/views/webview.py +++ b/lms/djangoapps/certificates/views/webview.py @@ -662,7 +662,8 @@ def _get_custom_template_and_language(course_id, course_mode, course_language): if template and template.language: return (template, closest_released_language) elif template: - return (template, settings.LANGUAGE_CODE) + user_language = translation.get_language() + return (template, user_language) else: return (None, None)