consolidate ENABLE_FORUM_DAILY_DIGEST config (#24423)

The ENABLE_FORUM_DAILY_DIGEST config was using both
a Django Setting and a waffle flag. This consolidates
this to simply use the single Django Setting:
FEATURES['ENABLE_FORUM_DAILY_DIGEST'].

ARCHBOM-132
This commit is contained in:
Robert Raposa
2020-07-08 13:08:06 -04:00
committed by GitHub
parent 371f89838b
commit e7e1a409b2
4 changed files with 25 additions and 29 deletions

View File

@@ -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')

View File

@@ -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()

View File

@@ -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

View File

@@ -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 += [