The current logic for showing discussion providers makes it hard to switch from the legacy to the new provider. This commit changes the conditions in which different providers are shown, and which provider is used as default. Before this commit, the new provider would be hidden if the legacy provider was in use and vice-versa. So both would only be shown if neither legacy nor the new provider were in use (i.e. an LTI provider was in use). Now, all providers are always displayed to global staff. If the waffle flag for the new provider is set (`discussions.enable_new_structure_discussions`), then new provider is always displayed, and the legacy provider is hidden unless it's currently in use. If flag is not set, then the new provider is always hidden unless it is used by a course. Finally, the default provider now depends on the flag above. If it is set globally, then the default provider is the new provider, otherwise the legacy provider remains the default provider.
79 lines
3.5 KiB
Python
79 lines
3.5 KiB
Python
"""
|
|
Discussions feature toggles
|
|
"""
|
|
from openedx.core.djangoapps.discussions.config.waffle import WAFFLE_FLAG_NAMESPACE
|
|
from openedx.core.djangoapps.waffle_utils import CourseWaffleFlag
|
|
|
|
# .. toggle_name: discussions.enable_discussions_mfe
|
|
# .. toggle_implementation: CourseWaffleFlag
|
|
# .. toggle_default: False
|
|
# .. toggle_description: Waffle flag to use the new MFE experience for discussions in the course tab and in-context
|
|
# .. toggle_use_cases: temporary, open_edx
|
|
# .. toggle_creation_date: 2021-11-05
|
|
# .. toggle_target_removal_date: 2022-03-05
|
|
ENABLE_DISCUSSIONS_MFE = CourseWaffleFlag(f'{WAFFLE_FLAG_NAMESPACE}.enable_discussions_mfe', __name__)
|
|
|
|
# .. toggle_name: discussions.enable_discussions_mfe_for_everyone
|
|
# .. toggle_implementation: CourseWaffleFlag
|
|
# .. toggle_default: False
|
|
# .. toggle_description: Waffle flag to use the new MFE experience for discussions in the course tab and in-context
|
|
# .. toggle_use_cases: temporary, open_edx
|
|
# .. toggle_creation_date: 2021-04-21
|
|
# .. toggle_target_removal_date: 2022-03-05
|
|
ENABLE_DISCUSSIONS_MFE_FOR_EVERYONE = CourseWaffleFlag(
|
|
f'{WAFFLE_FLAG_NAMESPACE}.enable_discussions_mfe_for_everyone', __name__
|
|
)
|
|
|
|
# .. toggle_name: discussions.enable_learners_tab_in_discussions_mfe
|
|
# .. toggle_implementation: CourseWaffleFlag
|
|
# .. toggle_default: False
|
|
# .. toggle_description: Waffle flag to enable learners tab in the new MFE experience for discussions
|
|
# .. toggle_use_cases: temporary, open_edx
|
|
# .. toggle_creation_date: 2022-02-21
|
|
# .. toggle_target_removal_date: 2022-05-21
|
|
ENABLE_LEARNERS_TAB_IN_DISCUSSIONS_MFE = CourseWaffleFlag(
|
|
f'{WAFFLE_FLAG_NAMESPACE}.enable_learners_tab_in_discussions_mfe', __name__
|
|
)
|
|
|
|
# .. toggle_name: discussions.enable_moderation_reason_codes
|
|
# .. toggle_implementation: CourseWaffleFlag
|
|
# .. toggle_default: False
|
|
# .. toggle_description: Waffle flag to toggle support for the new edit and post close reason codes
|
|
# .. toggle_use_cases: temporary, open_edx
|
|
# .. toggle_creation_date: 2022-02-22
|
|
# .. toggle_target_removal_date: 2022-09-22
|
|
ENABLE_DISCUSSION_MODERATION_REASON_CODES = CourseWaffleFlag(
|
|
f'{WAFFLE_FLAG_NAMESPACE}.enable_moderation_reason_codes', __name__
|
|
)
|
|
|
|
# .. toggle_name: discussions.enable_reported_content_email_notifications
|
|
# .. toggle_implementation: CourseWaffleFlag
|
|
# .. toggle_default: False
|
|
# .. toggle_description: Waffle flag to toggle email notifications for reported content for moderators
|
|
# .. toggle_use_cases: temporary, open_edx
|
|
# .. toggle_creation_date: 2022-03-08
|
|
# .. toggle_target_removal_date: 2022-12-31
|
|
ENABLE_REPORTED_CONTENT_EMAIL_NOTIFICATIONS = CourseWaffleFlag(
|
|
f'{WAFFLE_FLAG_NAMESPACE}.enable_reported_content_email_notifications', __name__
|
|
)
|
|
|
|
# .. toggle_name: discussions.enable_mfe_banner_for_learners
|
|
# .. toggle_implementation: CourseWaffleFlag
|
|
# .. toggle_default: False
|
|
# .. toggle_description: Waffle flag to enable new MFE banner for learners
|
|
# .. toggle_use_cases: temporary, open_edx
|
|
# .. toggle_creation_date: 2022-06-08
|
|
# .. toggle_target_removal_date: 2022-09-05
|
|
ENABLE_DISCUSSIONS_MFE_BANNER = CourseWaffleFlag(f'{WAFFLE_FLAG_NAMESPACE}.enable_mfe_banner_for_learners', __name__)
|
|
|
|
# .. toggle_name: discussions.enable_view_mfe_in_iframe
|
|
# .. toggle_implementation: CourseWaffleFlag
|
|
# .. toggle_default: False
|
|
# .. toggle_description: Waffle flag to toggle iframe view for new discussions mfe
|
|
# .. toggle_use_cases: temporary, open_edx
|
|
# .. toggle_creation_date: 2022-07-27
|
|
# .. toggle_target_removal_date: 2022-12-31
|
|
ENABLE_VIEW_MFE_IN_IFRAME = CourseWaffleFlag(
|
|
f'{WAFFLE_FLAG_NAMESPACE}.enable_view_mfe_in_iframe', __name__
|
|
)
|