diff --git a/lms/djangoapps/discussion/config/settings.py b/lms/djangoapps/discussion/config/settings.py new file mode 100644 index 0000000000..a4c4e2be17 --- /dev/null +++ b/lms/djangoapps/discussion/config/settings.py @@ -0,0 +1,22 @@ +""" +Discussion settings. +""" +from django.conf import settings + +# .. toggle_name: FEATURES['ENABLE_FORUM_DAILY_DIGEST'] +# .. toggle_implementation: DjangoSetting +# .. toggle_default: True +# .. toggle_description: Set to True to enable forum notification features. +# .. toggle_category: discussion +# .. toggle_use_cases: open_edx +# .. toggle_creation_date: 2020-03-09 +# .. toggle_expiration_date: None +# .. toggle_tickets: None +# .. toggle_status: supported +# .. toggle_warnings: None +ENABLE_FORUM_DAILY_DIGEST = 'enable_forum_daily_digest' + + +def is_forum_daily_digest_enabled(): + """Returns whether forum notification features should be visible""" + return settings.FEATURES.get('ENABLE_FORUM_DAILY_DIGEST') diff --git a/lms/djangoapps/discussion/config/waffle.py b/lms/djangoapps/discussion/config/waffle.py deleted file mode 100644 index 381cbb86b7..0000000000 --- a/lms/djangoapps/discussion/config/waffle.py +++ /dev/null @@ -1,27 +0,0 @@ -""" -Discussion settings and flags. -""" - -from openedx.core.djangoapps.waffle_utils import WaffleFlag, WaffleFlagNamespace - -ENABLE_FORUM_DAILY_DIGEST = 'enable_forum_daily_digest' - - -def waffle_flags(): - """ - Returns the namespaced, cached, audited Waffle flags dictionary for Grades. - """ - namespace = WaffleFlagNamespace(name='edx_discussions') - return { - # By default, enable forum notifications. Can be disabled platform wide. - ENABLE_FORUM_DAILY_DIGEST: WaffleFlag( - namespace, - ENABLE_FORUM_DAILY_DIGEST, - flag_undefined_default=True - ), - } - - -def is_forum_daily_digest_enabled(): - """Returns whether forum notification features should be visible""" - return waffle_flags()[ENABLE_FORUM_DAILY_DIGEST].is_enabled() diff --git a/lms/djangoapps/discussion/views.py b/lms/djangoapps/discussion/views.py index e9f8188838..51870f61b3 100644 --- a/lms/djangoapps/discussion/views.py +++ b/lms/djangoapps/discussion/views.py @@ -30,7 +30,7 @@ import openedx.core.djangoapps.django_comment_common.comment_client as cc from lms.djangoapps.courseware.access import has_access from lms.djangoapps.courseware.courses import get_course_with_access from lms.djangoapps.courseware.views.views import CourseTabView -from lms.djangoapps.discussion.config.waffle import is_forum_daily_digest_enabled +from lms.djangoapps.discussion.config.settings import is_forum_daily_digest_enabled from lms.djangoapps.discussion.django_comment_client.base.views import track_thread_viewed_event from lms.djangoapps.discussion.django_comment_client.constants import TYPE_ENTRY from lms.djangoapps.discussion.django_comment_client.permissions import has_permission diff --git a/lms/urls.py b/lms/urls.py index 33248fafb0..cfe3203a83 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -26,6 +26,7 @@ from lms.djangoapps.courseware.views import views as courseware_views from lms.djangoapps.courseware.views.index import CoursewareIndex from lms.djangoapps.courseware.views.views import CourseTabView, EnrollStaffView, StaticCourseTabView from lms.djangoapps.discussion import views as discussion_views +from lms.djangoapps.discussion.config.settings import is_forum_daily_digest_enabled from lms.djangoapps.discussion.notification_prefs import views as notification_prefs_views from lms.djangoapps.instructor.views import instructor_dashboard as instructor_dashboard_views from lms.djangoapps.instructor_task import views as instructor_task_views @@ -701,7 +702,7 @@ if settings.FEATURES.get('ENABLE_DISCUSSION_SERVICE'): ), ] -if settings.FEATURES.get('ENABLE_FORUM_DAILY_DIGEST'): +if is_forum_daily_digest_enabled(): urlpatterns += notification_prefs_urls urlpatterns += [