def get(self, request, *args, **kwargs): preferences = preference_info(request.user.username) response = { 'share_with_facebook_friends': preferences.get('share_with_facebook_friends', 'False') } return Response(response)
def language_info(request): """Retrieve information about languages. Gets the user's preferred language and the list of released languages, encoding the information as JSON. Args: request (HttpRequest) Returns: HttpResponse: 200 if successful on GET HttpResponse: 302 if not logged in (redirect to login page) HttpResponse: 405 if using an unsupported HTTP method HttpResponse: 500 if an unexpected error occurs Example: GET /profile/preferences/languages """ user = request.user preferred_language_code = profile_api.preference_info(user.username).get(LANGUAGE_KEY) preferred_language = language_api.preferred_language(preferred_language_code) response_data = {'preferredLanguage': {'code': preferred_language.code, 'name': preferred_language.name}} languages = language_api.released_languages() response_data['languages'] = [{'code': language.code, 'name': language.name} for language in languages] return HttpResponse(json.dumps(response_data), content_type='application/json')
def set_sharing_preferences(self, user, boolean_value): """ Sets self.user's share settings to boolean_value """ update_preferences(user.username, share_with_facebook_friends=boolean_value) self.assertEqual( preference_info(user.username)['share_with_facebook_friends'], unicode(boolean_value))
def test_language_change(self, mock_released_languages): mock_released_languages.return_value = [self.TEST_LANGUAGE] # Set the dummy language as the user's preferred language response = self._change_preferences(language=self.TEST_LANGUAGE.code) self.assertEqual(response.status_code, 204) # Verify that the dummy language is now the user's preferred language preferences = profile_api.preference_info(self.USERNAME) self.assertEqual(preferences[LANGUAGE_KEY], self.TEST_LANGUAGE.code) # Verify that the page reloads in the dummy language response = self.client.get(reverse('profile_index')) self.assertContains(response, u"Stüdént Pröfïlé")
def language_info(request): """Retrieve information about languages. Gets the user's preferred language and the list of released languages, encoding the information as JSON. Args: request (HttpRequest) Returns: HttpResponse: 200 if successful on GET HttpResponse: 302 if not logged in (redirect to login page) HttpResponse: 405 if using an unsupported HTTP method HttpResponse: 500 if an unexpected error occurs Example: GET /profile/preferences/languages """ user = request.user preferred_language_code = profile_api.preference_info( user.username).get(LANGUAGE_KEY) preferred_language = language_api.preferred_language( preferred_language_code) response_data = { 'preferredLanguage': { 'code': preferred_language.code, 'name': preferred_language.name } } languages = language_api.released_languages() response_data['languages'] = [{ 'code': language.code, 'name': language.name } for language in languages] return HttpResponse(json.dumps(response_data), content_type='application/json')
def set_sharing_preferences(self, user, boolean_value): """ Sets self.user's share settings to boolean_value """ update_preferences(user.username, share_with_facebook_friends=boolean_value) self.assertEqual(preference_info(user.username)['share_with_facebook_friends'], unicode(boolean_value))
def share_with_facebook_friends(friend): """ Return true if the user's share_with_facebook_friends preference is set to true. """ share_fb_friends_settings = preference_info(friend['edX_username']) return share_fb_friends_settings.get('share_with_facebook_friends', None) == 'True'