feat: [FC-0044] add waffle flag support (#34338)

* feat: [FC-0044] add waffle flag support

* fix: resolve discussions
This commit is contained in:
ruzniaievdm
2024-03-19 16:16:16 +02:00
committed by GitHub
parent 9600a90c1e
commit 7189bd6484
2 changed files with 102 additions and 0 deletions

View File

@@ -497,6 +497,66 @@ def use_new_course_team_page(course_key):
return ENABLE_NEW_STUDIO_COURSE_TEAM_PAGE.is_enabled(course_key)
# .. toggle_name: contentstore.new_studio_mfe.use_new_certificates_page
# .. toggle_implementation: CourseWaffleFlag
# .. toggle_default: False
# .. toggle_description: This flag enables the use of the new studio course certificates page mfe
# .. toggle_use_cases: temporary
# .. toggle_creation_date: 2024-1-18
# .. toggle_target_removal_date: 2023-4-31
# .. toggle_tickets: https://github.com/openedx/platform-roadmap/issues/317
# .. toggle_warning:
ENABLE_NEW_STUDIO_CERTIFICATES_PAGE = CourseWaffleFlag(
f'{CONTENTSTORE_NAMESPACE}.new_studio_mfe.use_new_certificates_page', __name__)
def use_new_certificates_page(course_key):
"""
Returns a boolean if new studio certificates mfe is enabled
"""
return ENABLE_NEW_STUDIO_CERTIFICATES_PAGE.is_enabled(course_key)
# .. toggle_name: contentstore.new_studio_mfe.use_new_textbooks_page
# .. toggle_implementation: CourseWaffleFlag
# .. toggle_default: False
# .. toggle_description: This flag enables the use of the new studio course textbooks page mfe
# .. toggle_use_cases: temporary
# .. toggle_creation_date: 2024-1-18
# .. toggle_target_removal_date: 2023-4-31
# .. toggle_tickets: https://github.com/openedx/platform-roadmap/issues/319
# .. toggle_warning:
ENABLE_NEW_STUDIO_TEXTBOOKS_PAGE = CourseWaffleFlag(
f'{CONTENTSTORE_NAMESPACE}.new_studio_mfe.use_new_textbooks_page', __name__)
def use_new_textbooks_page(course_key):
"""
Returns a boolean if new studio textbooks mfe is enabled
"""
return ENABLE_NEW_STUDIO_TEXTBOOKS_PAGE.is_enabled(course_key)
# .. toggle_name: contentstore.new_studio_mfe.use_new_group_configurations_page
# .. toggle_implementation: CourseWaffleFlag
# .. toggle_default: False
# .. toggle_description: This flag enables the use of the new studio course group configurations page mfe
# .. toggle_use_cases: temporary
# .. toggle_creation_date: 2024-1-18
# .. toggle_target_removal_date: 2023-4-31
# .. toggle_tickets: https://github.com/openedx/platform-roadmap/issues/318
# .. toggle_warning:
ENABLE_NEW_STUDIO_GROUP_CONFIGURATIONS_PAGE = CourseWaffleFlag(
f'{CONTENTSTORE_NAMESPACE}.new_studio_mfe.use_new_group_configurations_page', __name__)
def use_new_group_configurations_page(course_key):
"""
Returns a boolean if new studio group configurations mfe is enabled
"""
return ENABLE_NEW_STUDIO_GROUP_CONFIGURATIONS_PAGE.is_enabled(course_key)
# .. toggle_name: contentstore.mock_video_uploads
# .. toggle_implementation: WaffleFlag
# .. toggle_default: False

View File

@@ -74,14 +74,17 @@ from cms.djangoapps.contentstore.toggles import (
split_library_view_on_dashboard,
use_new_advanced_settings_page,
use_new_course_outline_page,
use_new_certificates_page,
use_new_export_page,
use_new_files_uploads_page,
use_new_grading_page,
use_new_group_configurations_page,
use_new_course_team_page,
use_new_home_page,
use_new_import_page,
use_new_schedule_details_page,
use_new_text_editor,
use_new_textbooks_page,
use_new_unit_page,
use_new_updates_page,
use_new_video_editor,
@@ -433,6 +436,45 @@ def get_unit_url(course_locator, unit_locator) -> str:
return unit_url
def get_certificates_url(course_locator) -> str:
"""
Gets course authoring microfrontend URL for certificates page view.
"""
certificates_url = None
if use_new_certificates_page(course_locator):
mfe_base_url = get_course_authoring_url(course_locator)
course_mfe_url = f'{mfe_base_url}/course/{course_locator}/certificates'
if mfe_base_url:
certificates_url = course_mfe_url
return certificates_url
def get_textbooks_url(course_locator) -> str:
"""
Gets course authoring microfrontend URL for textbooks page view.
"""
textbooks_url = None
if use_new_textbooks_page(course_locator):
mfe_base_url = get_course_authoring_url(course_locator)
course_mfe_url = f'{mfe_base_url}/course/{course_locator}/pages-and-resources/textbooks'
if mfe_base_url:
textbooks_url = course_mfe_url
return textbooks_url
def get_group_configurations_url(course_locator) -> str:
"""
Gets course authoring microfrontend URL for group configurations page view.
"""
group_configurations_url = None
if use_new_group_configurations_page(course_locator):
mfe_base_url = get_course_authoring_url(course_locator)
course_mfe_url = f'{mfe_base_url}/course/{course_locator}/group_configurations'
if mfe_base_url:
group_configurations_url = course_mfe_url
return group_configurations_url
def get_custom_pages_url(course_locator) -> str:
"""
Gets course authoring microfrontend URL for custom pages view.