def test_default_lang_pref_saved(self, lang):
     with mock.patch("django.conf.settings.LANGUAGE_CODE", lang):
         response = self.client.post(self.url, self.params)
         self.assertEqual(response.status_code, 200)
         user = User.objects.get(username=self.username)
         self.assertEqual(UserPreference.get_preference(user, LANGUAGE_KEY),
                          lang)
 def test_header_lang_pref_saved(self, lang):
     response = self.client.post(self.url,
                                 self.params,
                                 HTTP_ACCEPT_LANGUAGE=lang)
     self.assertEqual(response.status_code, 200)
     user = User.objects.get(username=self.username)
     self.assertEqual(UserPreference.get_preference(user, LANGUAGE_KEY),
                      lang)
Exemple #3
0
    def test_set_preference_missing_lang(self):
        user = UserFactory.create()
        self.client.login(username=user.username, password='******')

        response = self.client.post(reverse('lang_pref_set_language'))

        self.assertEquals(response.status_code, 400)

        self.assertIsNone(UserPreference.get_preference(user, LANGUAGE_KEY))
Exemple #4
0
    def test_set_preference_missing_lang(self):
        user = UserFactory.create()
        self.client.login(username=user.username, password='******')

        response = self.client.post(reverse('lang_pref_set_language'))

        self.assertEquals(response.status_code, 400)

        self.assertIsNone(UserPreference.get_preference(user, LANGUAGE_KEY))
Exemple #5
0
 def process_request(self, request):
     """
     If a user's UserPreference contains a language preference and there is
     no language set on the session (i.e. from dark language overrides), use the user's preference.
     """
     if request.user.is_authenticated() and 'django_language' not in request.session:
         user_pref = UserPreference.get_preference(request.user, LANGUAGE_KEY)
         if user_pref:
             request.session['django_language'] = user_pref
Exemple #6
0
 def test_discussions_email_digest_pref(self, digest_enabled):
     with mock.patch.dict("student.models.settings.FEATURES", {"ENABLE_DISCUSSION_EMAIL_DIGEST": digest_enabled}):
         response = self.client.post(self.url, self.params)
         self.assertEqual(response.status_code, 200)
         user = User.objects.get(username=self.username)
         preference = UserPreference.get_preference(user, NOTIFICATION_PREF_KEY)
         if digest_enabled:
             self.assertIsNotNone(preference)
         else:
             self.assertIsNone(preference)
Exemple #7
0
    def test_set_preference_happy(self):
        user = UserFactory.create()
        self.client.login(username=user.username, password='******')

        lang = 'en'
        response = self.client.post(reverse('lang_pref_set_language'), {'language': lang})

        self.assertEquals(response.status_code, 200)
        user_pref = UserPreference.get_preference(user, LANGUAGE_KEY)
        self.assertEqual(user_pref, lang)
Exemple #8
0
    def test_set_preference_happy(self):
        user = UserFactory.create()
        self.client.login(username=user.username, password='******')

        lang = 'en'
        response = self.client.post(reverse('lang_pref_set_language'),
                                    {'language': lang})

        self.assertEquals(response.status_code, 200)
        user_pref = UserPreference.get_preference(user, LANGUAGE_KEY)
        self.assertEqual(user_pref, lang)
Exemple #9
0
    def claim_locale(self, data):
        """
        Return the locale for the users based on their preferences.
        Does not return a value if the users have not set their locale preferences.

        """

        language = UserPreference.get_preference(data['user'], LANGUAGE_KEY)

        # If the user has no language specified, return the default one.
        if not language:
            language = getattr(settings, 'LANGUAGE_CODE')

        return language
Exemple #10
0
    def claim_locale(self, data):
        """
        Return the locale for the users based on their preferences.
        Does not return a value if the users have not set their locale preferences.

        """

        language = UserPreference.get_preference(data['user'], LANGUAGE_KEY)

        # If the user has no language specified, return the default one.
        if not language:
            language = getattr(settings, 'LANGUAGE_CODE')

        return language
def get_user_email_language(user):
    """
    Return the language most appropriate for writing emails to user. Returns
    None if the preference has not been set, or if the user does not exist.
    """
    return UserPreference.get_preference(user, LANGUAGE_KEY)
Exemple #12
0
def get_user_email_language(user):
    """
    Return the language most appropriate for writing emails to user. Returns
    None if the preference has not been set, or if the user does not exist.
    """
    return UserPreference.get_preference(user, LANGUAGE_KEY)
 def test_header_lang_pref_saved(self, lang):
     response = self.client.post(self.url, self.params, HTTP_ACCEPT_LANGUAGE=lang)
     user = User.objects.get(username=self.username)
     self.assertEqual(response.status_code, 200)
     self.assertEqual(UserPreference.get_preference(user, LANGUAGE_KEY), lang)
 def test_default_lang_pref_saved(self, lang):
     with mock.patch("django.conf.settings.LANGUAGE_CODE", lang):
         response = self.client.post(self.url, self.params)
         self.assertEqual(response.status_code, 200)
         user = User.objects.get(username=self.username)
         self.assertEqual(UserPreference.get_preference(user, LANGUAGE_KEY), lang)