Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: [AXIMST-783] change disscussion feature flag name #2537

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions lms/djangoapps/courseware/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,10 @@
from lms.djangoapps.courseware.tests.helpers import MasqueradeMixin, get_expiration_banner_text, set_preview_mode
from lms.djangoapps.courseware.testutils import RenderXBlockTestMixin
from lms.djangoapps.courseware.toggles import (
COURSEWARE_MICROFRONTEND_DISCUSSION_SIDEBAR_OPEN_DISABLED,
COURSEWARE_MICROFRONTEND_SIDEBAR_DISABLED,
COURSEWARE_MICROFRONTEND_SEARCH_ENABLED,
COURSEWARE_OPTIMIZED_RENDER_XBLOCK,
COURSEWARE_SHOW_DEFAULT_RIGHT_SIDEBAR,
)
from lms.djangoapps.courseware.user_state_client import DjangoXBlockUserStateClient
from lms.djangoapps.courseware.views.views import (
Expand Down Expand Up @@ -3826,7 +3826,7 @@ def test_is_mfe_sidebar_enabled(self):

class TestMFEDiscussionSidebarEnabledAPI(SharedModuleStoreTestCase):
"""
Tests the endpoint to fetch the Courseware Discussion Sidebar waffle flag status.
Tests the endpoint to fetch the Courseware Discussion/Notifications Sidebar waffle flag status.
"""

def setUp(self):
Expand All @@ -3835,23 +3835,23 @@ def setUp(self):
self.course = CourseFactory.create()

self.client = APIClient()
self.apiUrl = reverse('discussion_sidebar_enabled_view', kwargs={'course_id': str(self.course.id)})
self.apiUrl = reverse('show_default_right_sidebar_enabled_view', kwargs={'course_id': str(self.course.id)})

@override_waffle_flag(COURSEWARE_MICROFRONTEND_DISCUSSION_SIDEBAR_OPEN_DISABLED, active=True)
def test_is_mfe_discussion_sidebar_opening_disabled(self):
@override_waffle_flag(COURSEWARE_SHOW_DEFAULT_RIGHT_SIDEBAR, active=False)
def test_is_mfe_show_default_right_sidebar_disabled(self):
"""
Getter to check if discussion sidebar shouldn't be opened by default.
Getter to check if right sidebar shouldn't be opened by default.
"""
response = self.client.get(self.apiUrl, content_type='application/json')
body = json.loads(response.content.decode('utf-8'))

self.assertEqual(response.status_code, 200)
self.assertEqual(body, {'enabled': False})

@override_waffle_flag(COURSEWARE_MICROFRONTEND_DISCUSSION_SIDEBAR_OPEN_DISABLED, active=False)
def test_is_mfe_discussion_sidebar_opening_enabled(self):
@override_waffle_flag(COURSEWARE_SHOW_DEFAULT_RIGHT_SIDEBAR, active=True)
def test_is_mfe_show_default_right_sidebar_enabled(self):
"""
Getter to check if discussion sidebar should be opened by default.
Getter to check if right sidebar should be opened by default.
"""
response = self.client.get(self.apiUrl, content_type='application/json')
body = json.loads(response.content.decode('utf-8'))
Expand Down
21 changes: 12 additions & 9 deletions lms/djangoapps/courseware/toggles.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,17 +94,20 @@
f'{WAFFLE_FLAG_NAMESPACE}.disable_navigation_sidebar', __name__
)

# .. toggle_name: courseware.disable_default_opening_discussion_sidebar
# .. toggle_name: courseware.show_default_right_sidebar
# .. toggle_implementation: WaffleFlag
# .. toggle_default: False
# .. toggle_description: Disable opening the discussion sidebar by default on Learning MFE.
# .. toggle_description: If waffle flag disabled
# Discussions or Notifications sidebar shouldn't be displayed at all on Learning MFE.
# If waffle flag enabled - Discussions opens always on the pages with discussions,
# if user is in Audit and course has verified mode - show Notifications.
# .. toggle_use_cases: temporary
# .. toggle_creation_date: 2024-03-13
# .. toggle_creation_date: 2024-04-11
# .. toggle_target_removal_date: None
# .. toggle_tickets: AXIMST-629
# .. toggle_tickets: FC-0056
# .. toggle_warning: None.
COURSEWARE_MICROFRONTEND_DISCUSSION_SIDEBAR_OPEN_DISABLED = CourseWaffleFlag(
f'{WAFFLE_FLAG_NAMESPACE}.disable_default_opening_discussion_sidebar', __name__
COURSEWARE_SHOW_DEFAULT_RIGHT_SIDEBAR = CourseWaffleFlag(
f'{WAFFLE_FLAG_NAMESPACE}.show_default_right_sidebar', __name__
)

# .. toggle_name: courseware.mfe_progress_milestones_streak_discount_enabled
Expand Down Expand Up @@ -218,11 +221,11 @@ def courseware_mfe_sidebar_is_disabled(course_key=None):
return COURSEWARE_MICROFRONTEND_SIDEBAR_DISABLED.is_enabled(course_key)


def courseware_mfe_discussion_sidebar_opening_is_disabled(course_key=None):
def courseware_show_default_right_sidebar_is_enabled(course_key=None):
"""
Return whether the courseware.disable_default_opening_discussion_sidebar flag is on.
Return whether the courseware.show_default_right_sidebar flag is on.
"""
return COURSEWARE_MICROFRONTEND_DISCUSSION_SIDEBAR_OPEN_DISABLED.is_enabled(course_key)
return COURSEWARE_SHOW_DEFAULT_RIGHT_SIDEBAR.is_enabled(course_key)


def courseware_mfe_navigation_sidebar_blocks_caching_is_enabled(course_key=None):
Expand Down
11 changes: 7 additions & 4 deletions lms/djangoapps/courseware/views/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,9 @@
from lms.djangoapps.courseware.permissions import MASQUERADE_AS_STUDENT, VIEW_COURSE_HOME, VIEW_COURSEWARE
from lms.djangoapps.courseware.toggles import (
course_is_invitation_only,
courseware_mfe_discussion_sidebar_opening_is_disabled,
courseware_mfe_search_is_enabled,
courseware_mfe_sidebar_is_disabled,
courseware_show_default_right_sidebar_is_enabled,
)
from lms.djangoapps.courseware.user_state_client import DjangoXBlockUserStateClient
from lms.djangoapps.courseware.utils import (
Expand Down Expand Up @@ -2288,12 +2288,15 @@ def courseware_mfe_sidebar_enabled(request, course_id=None):


@api_view(['GET'])
def courseware_mfe_discussion_sidebar_opening_is_enabled(request, course_id=None):
def courseware_mfe_show_default_right_sidebar_is_enabled(request, course_id=None):
"""
Simple GET endpoint to expose whether the course may open discussion sidebar by default.
"""
course_key = CourseKey.from_string(course_id) if course_id else None
try:
course_key = CourseKey.from_string(course_id) if course_id else None
except InvalidKeyError:
return JsonResponse({"error": "Invalid course_id"})

return JsonResponse({
"enabled": not courseware_mfe_discussion_sidebar_opening_is_disabled(course_key)
"enabled": courseware_show_default_right_sidebar_is_enabled(course_key)
})
6 changes: 3 additions & 3 deletions lms/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -755,9 +755,9 @@
name='courseware_sidebar_enabled_view',
),
re_path(
fr'^courses/{settings.COURSE_ID_PATTERN}/discussion-sidebar/enabled/$',
courseware_views.courseware_mfe_discussion_sidebar_opening_is_enabled,
name='discussion_sidebar_enabled_view',
fr'^courses/{settings.COURSE_ID_PATTERN}/show-default-right-sidebar/enabled/$',
courseware_views.courseware_mfe_show_default_right_sidebar_is_enabled,
name='show_default_right_sidebar_enabled_view',
),
]

Expand Down
Loading