diff --git a/common/lib/xmodule/xmodule/video_module/video_handlers.py b/common/lib/xmodule/xmodule/video_module/video_handlers.py index 8ee66581ae..4c6b3340ce 100644 --- a/common/lib/xmodule/xmodule/video_module/video_handlers.py +++ b/common/lib/xmodule/xmodule/video_module/video_handlers.py @@ -55,7 +55,7 @@ class VideoStudentViewHandlers(object): if dispatch == 'save_user_state': for key in data: - if hasattr(self, key) and key in accepted_keys: + if key in accepted_keys: if key in conversions: value = conversions[key](data[key]) else: diff --git a/lms/djangoapps/courseware/tests/test_video_handlers.py b/lms/djangoapps/courseware/tests/test_video_handlers.py index 8fee82ed05..5c3572417b 100644 --- a/lms/djangoapps/courseware/tests/test_video_handlers.py +++ b/lms/djangoapps/courseware/tests/test_video_handlers.py @@ -131,6 +131,7 @@ class TestVideo(BaseTestXmodule): {'speed': 2.0}, {'saved_video_position': "00:00:10"}, {'transcript_language': 'uk'}, + {'demoo�': 'sample'} ] for sample in data: response = self.clients[self.users[0].username].post( @@ -152,6 +153,10 @@ class TestVideo(BaseTestXmodule): self.item_descriptor.handle_ajax('save_user_state', {'transcript_language': "uk"}) self.assertEqual(self.item_descriptor.transcript_language, 'uk') + response = self.item_descriptor.handle_ajax('save_user_state', {u'demoo�': "sample"}) + self.assertEqual(json.loads(response)['success'], True) + + def tearDown(self): _clear_assets(self.item_descriptor.location)