diff --git a/cms/djangoapps/contentstore/migrations/0005_add_enable_checklists_quality_waffle_flag.py b/cms/djangoapps/contentstore/migrations/0005_add_enable_checklists_quality_waffle_flag.py index e0ca1c99e62849dd298c997f499e3c9fe8a6e941..325a8ab70a3cc0a1164018f1900302fb8e99b118 100644 --- a/cms/djangoapps/contentstore/migrations/0005_add_enable_checklists_quality_waffle_flag.py +++ b/cms/djangoapps/contentstore/migrations/0005_add_enable_checklists_quality_waffle_flag.py @@ -9,7 +9,7 @@ from cms.djangoapps.contentstore.config.waffle import ENABLE_CHECKLISTS_QUALITY def create_flag(apps, schema_editor): Flag = apps.get_model('waffle', 'Flag') # Replacement for flag_undefined_default=True on flag definition - Flag.objects.get_or_create(name=ENABLE_CHECKLISTS_QUALITY.namespaced_flag_name, defaults={'everyone': True}) + Flag.objects.get_or_create(name=ENABLE_CHECKLISTS_QUALITY.name, defaults={'everyone': True}) class Migration(migrations.Migration): diff --git a/cms/djangoapps/contentstore/views/tests/test_videos.py b/cms/djangoapps/contentstore/views/tests/test_videos.py index 1f2e73b7de2b33497c87f75cd9b2f0458369a1c3..b3148b0451308aff3fbd14c105a9f7a02c7eec3f 100644 --- a/cms/djangoapps/contentstore/views/tests/test_videos.py +++ b/cms/djangoapps/contentstore/views/tests/test_videos.py @@ -548,7 +548,7 @@ class VideosHandlerTestCase(VideoUploadTestMixin, VideoUploadPostTestsMixin, Cou @override_settings(AWS_ACCESS_KEY_ID='test_key_id', AWS_SECRET_ACCESS_KEY='test_secret', AWS_SECURITY_TOKEN='token') @patch('boto.s3.key.Key') @patch('boto.s3.connection.S3Connection') - @override_flag(waffle_flags()[ENABLE_DEVSTACK_VIDEO_UPLOADS].namespaced_flag_name, active=True) + @override_flag(waffle_flags()[ENABLE_DEVSTACK_VIDEO_UPLOADS].name, active=True) def test_devstack_upload_connection(self, mock_conn, mock_key): files = [{'file_name': 'first.mp4', 'content_type': 'video/mp4'}] mock_key_instances = [ @@ -655,7 +655,7 @@ class VideosHandlerTestCase(VideoUploadTestMixin, VideoUploadPostTestsMixin, Cou DEPRECATE_YOUTUBE_FLAG = waffle_flags()[DEPRECATE_YOUTUBE] with patch.object(WaffleFlagCourseOverrideModel, 'override_value', return_value=data['course_override']): - with override_flag(DEPRECATE_YOUTUBE_FLAG.namespaced_flag_name, active=data['global_waffle']): + with override_flag(DEPRECATE_YOUTUBE_FLAG.name, active=data['global_waffle']): response = self.client.post( self.url, json.dumps({'files': [file_data]}), diff --git a/lms/djangoapps/courseware/tests/test_video_mongo.py b/lms/djangoapps/courseware/tests/test_video_mongo.py index 7f6955c6b63550063d6ddf17d4c501dc59cc994e..500b5e7f586638e74245a970cd2784b0523ba879 100644 --- a/lms/djangoapps/courseware/tests/test_video_mongo.py +++ b/lms/djangoapps/courseware/tests/test_video_mongo.py @@ -1200,7 +1200,7 @@ class TestGetHtmlMethod(BaseTestVideoXBlock): ) DEPRECATE_YOUTUBE_FLAG = waffle_flags()[DEPRECATE_YOUTUBE] with patch.object(WaffleFlagCourseOverrideModel, 'override_value', return_value=data['course_override']): - with override_flag(DEPRECATE_YOUTUBE_FLAG.namespaced_flag_name, active=data['waffle_enabled']): + with override_flag(DEPRECATE_YOUTUBE_FLAG.name, active=data['waffle_enabled']): self.initialize_block(data=video_xml, metadata=metadata) context = self.item_descriptor.render(STUDENT_VIEW).content self.assertIn(u'"prioritizeHls": {}'.format(data['result']), context) diff --git a/lms/djangoapps/grades/migrations/0018_add_waffle_flag_defaults.py b/lms/djangoapps/grades/migrations/0018_add_waffle_flag_defaults.py index 7b1876e9df9fbfa0e81900e1c4686611a02b568f..56436fdfc37c8f4478dfd53a32d46117ab6f6fdb 100644 --- a/lms/djangoapps/grades/migrations/0018_add_waffle_flag_defaults.py +++ b/lms/djangoapps/grades/migrations/0018_add_waffle_flag_defaults.py @@ -15,13 +15,13 @@ def create_flag(apps, schema_editor): Flag = apps.get_model('waffle', 'Flag') # Replacement for flag_undefined_default=True on flag definition Flag.objects.get_or_create( - name=waffle_flags()[REJECTED_EXAM_OVERRIDES_GRADE].namespaced_flag_name, defaults={'everyone': True} + name=waffle_flags()[REJECTED_EXAM_OVERRIDES_GRADE].name, defaults={'everyone': True} ) Flag.objects.get_or_create( - name=waffle_flags()[ENFORCE_FREEZE_GRADE_AFTER_COURSE_END].namespaced_flag_name, defaults={'everyone': True} + name=waffle_flags()[ENFORCE_FREEZE_GRADE_AFTER_COURSE_END].name, defaults={'everyone': True} ) Flag.objects.get_or_create( - name=waffle_flags()[WRITABLE_GRADEBOOK].namespaced_flag_name, defaults={'everyone': True} + name=waffle_flags()[WRITABLE_GRADEBOOK].name, defaults={'everyone': True} ) diff --git a/lms/djangoapps/instructor/toggles.py b/lms/djangoapps/instructor/toggles.py index dfc9c784b57a4a6afaf84bb1cabacb4717415c8a..89833170cecdc8ac35c4d3afb640273a4aac4e68 100644 --- a/lms/djangoapps/instructor/toggles.py +++ b/lms/djangoapps/instructor/toggles.py @@ -22,6 +22,7 @@ WAFFLE_FLAG_NAMESPACE = LegacyWaffleFlagNamespace(name=WAFFLE_NAMESPACE) DATA_DOWNLOAD_V2 = CourseWaffleFlag( waffle_namespace=LegacyWaffleFlagNamespace(name=WAFFLE_NAMESPACE, log_prefix='instructor_dashboard: '), flag_name='enable_data_download_v2', + module_name=__name__, ) # Waffle flag to use optimised is_small_course. @@ -39,6 +40,7 @@ DATA_DOWNLOAD_V2 = CourseWaffleFlag( OPTIMISED_IS_SMALL_COURSE = LegacyWaffleFlag( waffle_namespace=WAFFLE_FLAG_NAMESPACE, flag_name='optimised_is_small_course', + module_name=__name__, ) diff --git a/openedx/core/djangoapps/waffle_utils/__init__.py b/openedx/core/djangoapps/waffle_utils/__init__.py index 09150e6ceeaf46eebcf3939fd6f043e0aea98832..2db50f1e851f30891f7f7cfcfc86cf8bf180f73f 100644 --- a/openedx/core/djangoapps/waffle_utils/__init__.py +++ b/openedx/core/djangoapps/waffle_utils/__init__.py @@ -164,12 +164,12 @@ class CourseWaffleFlag(LegacyWaffleFlag): # Import is placed here to avoid model import at project startup. from .models import WaffleFlagCourseOverrideModel - cache_key = "{}.{}".format(self.namespaced_flag_name, str(course_key)) + cache_key = "{}.{}".format(self.name, str(course_key)) course_override = self.cached_flags().get(cache_key) if course_override is None: course_override = WaffleFlagCourseOverrideModel.override_value( - self.namespaced_flag_name, course_key + self.name, course_key ) self.cached_flags()[cache_key] = course_override diff --git a/openedx/features/course_experience/tests/views/test_course_home.py b/openedx/features/course_experience/tests/views/test_course_home.py index b8f7498e1ea2aa4df8a418b3a5a86b4f2625a876..c070e838abc7a87d27efbb8fa6ff4f16ebf3f67c 100644 --- a/openedx/features/course_experience/tests/views/test_course_home.py +++ b/openedx/features/course_experience/tests/views/test_course_home.py @@ -225,7 +225,7 @@ class TestCourseHomePage(CourseHomePageTestCase): self.assertRedirects(response, '/dashboard?notlive=Jan+01%2C+2030') # With the Waffle flag enabled, the course should be visible - with override_flag(COURSE_PRE_START_ACCESS_FLAG.namespaced_flag_name, True): + with override_flag(COURSE_PRE_START_ACCESS_FLAG.name, True): url = course_home_url(future_course) response = self.client.get(url) self.assertEqual(response.status_code, 200)