def put(self): """Handles PUT requests.""" if user_services.has_fully_registered(self.user_id): site_language_code = self.payload.get('site_language_code') user_services.update_preferred_site_language_code( self.user_id, site_language_code) self.render_json({})
def put(self): """Handles POST requests.""" update_type = self.payload.get('update_type') data = self.payload.get('data') if update_type == 'user_bio': user_services.update_user_bio(self.user_id, data) elif update_type == 'subject_interests': user_services.update_subject_interests(self.user_id, data) elif update_type == 'preferred_language_codes': user_services.update_preferred_language_codes(self.user_id, data) elif update_type == 'preferred_site_language_code': user_services.update_preferred_site_language_code( self.user_id, data) elif update_type == 'profile_picture_data_url': user_services.update_profile_picture_data_url(self.user_id, data) elif update_type == 'email_preferences': user_services.update_email_preferences( self.user_id, data['can_receive_email_updates'], data['can_receive_editor_role_email'], data['can_receive_feedback_message_email']) else: raise self.InvalidInputException('Invalid update type: %s' % update_type) self.render_json({})
def put(self): """Handles POST requests.""" update_type = self.payload.get('update_type') data = self.payload.get('data') if update_type == 'user_bio': user_services.update_user_bio(self.user_id, data) elif update_type == 'subject_interests': user_services.update_subject_interests(self.user_id, data) elif update_type == 'preferred_language_codes': user_services.update_preferred_language_codes(self.user_id, data) elif update_type == 'preferred_site_language_code': user_services.update_preferred_site_language_code( self.user_id, data) elif update_type == 'profile_picture_data_url': user_services.update_profile_picture_data_url(self.user_id, data) elif update_type == 'email_preferences': user_services.update_email_preferences( self.user_id, data['can_receive_email_updates'], data['can_receive_editor_role_email'], data['can_receive_feedback_message_email']) else: raise self.InvalidInputException( 'Invalid update type: %s' % update_type) self.render_json({})
def put(self): """Handles PUT requests.""" update_type = self.payload.get('update_type') data = self.payload.get('data') bulk_email_signup_message_should_be_shown = False if update_type == 'user_bio': if len(data) > feconf.MAX_BIO_LENGTH_IN_CHARS: raise self.InvalidInputException( 'User bio exceeds maximum character limit: %s' % feconf.MAX_BIO_LENGTH_IN_CHARS) user_services.update_user_bio(self.user_id, data) elif update_type == 'subject_interests': user_services.update_subject_interests(self.user_id, data) elif update_type == 'preferred_language_codes': user_services.update_preferred_language_codes(self.user_id, data) elif update_type == 'preferred_site_language_code': user_services.update_preferred_site_language_code( self.user_id, data) elif update_type == 'preferred_audio_language_code': user_services.update_preferred_audio_language_code( self.user_id, data) elif update_type == 'preferred_translation_language_code': user_services.update_preferred_translation_language_code( self.user_id, data) elif update_type == 'profile_picture_data_url': user_services.update_profile_picture_data_url(self.user_id, data) elif update_type == 'default_dashboard': user_services.update_user_default_dashboard(self.user_id, data) elif update_type == 'email_preferences': bulk_email_signup_message_should_be_shown = ( user_services.update_email_preferences( self.user_id, data['can_receive_email_updates'], data['can_receive_editor_role_email'], data['can_receive_feedback_message_email'], data['can_receive_subscription_email'])) else: raise self.InvalidInputException( 'Invalid update type: %s' % update_type) self.render_json({ 'bulk_email_signup_message_should_be_shown': ( bulk_email_signup_message_should_be_shown) })
def test_evaluate_feature_for_en_user_defaults_match_to_en_lang(self): user_services.update_preferred_site_language_code(self.user_id, 'en') self.login(self.OWNER_EMAIL) registry.Registry.update_platform_parameter( self.prod_feature.name, self.user_id, 'edit rules', [{ 'filters': [{ 'type': 'server_mode', 'conditions': [['=', platform_parameter_domain.SERVER_MODES.prod]], }, { 'type': 'user_locale', 'conditions': [['=', 'en']], }], 'value_when_matched': True }]) with self.swap(constants, 'DEV_MODE', False): self.assertTrue( feature_services.is_feature_enabled(self.prod_feature.name))
def test_evaluate_feature_for_fr_user_defaults_does_not_match_to_en_lang( self): user_services.update_preferred_site_language_code(self.user_id, 'fr') self.login(self.OWNER_EMAIL) registry.Registry.update_platform_parameter( self.prod_feature.name, self.user_id, 'edit rules', [ { 'filters': [ { 'type': 'server_mode', 'conditions': [ [ '=', platform_parameter_domain.SERVER_MODES.prod ] ], }, { 'type': 'user_locale', 'conditions': [ [ '=', 'en' ] ], } ], 'value_when_matched': True } ] ) # Since the feature is only enable for users who have French selected as # their preferred site language code, the feature shouldn't be enabled # for the current logged in user. with self.swap(constants, 'DEV_MODE', False): self.assertFalse( feature_services.is_feature_enabled( self.prod_feature.name, self.user_id))
def put(self): """Handles PUT requests.""" site_language_code = self.normalized_payload.get('site_language_code') user_services.update_preferred_site_language_code( self.user_id, site_language_code) self.render_json({})