Get User language

if template language is None
then use user language instead
of getting from setings which is
always english

LEARNER-6943
This commit is contained in:
adeelehsan
2019-02-14 18:04:14 +05:00
parent 9a5b2108b8
commit 212d7efa72
2 changed files with 23 additions and 1 deletions

View File

@@ -679,6 +679,27 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
response = self.client.get(test_url)
self.assertIn('<html class="no-js" lang="ar">', 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('<html class="no-js" lang="fr">', response.content)
user_language = 'ar'
self.client.cookies[settings.LANGUAGE_COOKIE] = user_language
response = self.client.get(test_url)
self.assertIn('<html class="no-js" lang="ar">', response.content)
@override_settings(FEATURES=FEATURES_WITH_CERTS_ENABLED)
def test_html_view_for_non_viewable_certificate_and_for_student_user(self):
"""

View File

@@ -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)