Skip to content
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
Original file line number Diff line number Diff line change
Expand Up @@ -116,9 +116,12 @@ def get_use_new_video_uploads_page(self, obj):
def get_use_new_course_outline_page(self, obj):
"""
Method to get the use_new_course_outline_page switch

Always true, because the switch is being removed and the new experience
should always be on. This function will be removed in
https://github.com/openedx/edx-platform/issues/37497
"""
course_key = self.get_course_key()
return toggles.use_new_course_outline_page(course_key)
return True
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This API will get cleaned up as a part of #37497

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

here, and generally speaking, can you put the ticket link in the code?


def get_use_new_unit_page(self, obj):
"""
Expand Down
33 changes: 3 additions & 30 deletions cms/djangoapps/contentstore/tests/test_contentstore.py
Original file line number Diff line number Diff line change
Expand Up @@ -1399,33 +1399,6 @@ def test_item_factory(self):
item = BlockFactory.create(parent_location=course.location)
self.assertIsInstance(item, SequenceBlock)

@override_waffle_flag(toggles.LEGACY_STUDIO_COURSE_OUTLINE, True)
def test_course_overview_view_with_course(self):
"""Test viewing the course overview page with an existing course"""
course = CourseFactory.create()
resp = self._show_course_overview(course.id)

# course_handler raise 404 for old mongo course
if course.id.deprecated:
self.assertEqual(resp.status_code, 404)
return

assets_url = reverse_course_url(
'assets_handler',
course.location.course_key
)

self.assertContains(
resp,
'<article class="outline outline-complex outline-course" data-locator="{locator}" data-course-key="{course_key}" data-course-assets="{assets_url}" >'.format( # lint-amnesty, pylint: disable=line-too-long
locator=str(course.location),
course_key=str(course.id),
assets_url=assets_url,
),
status_code=200,
html=True
)

def test_create_block(self):
"""Test creating a new xblock instance."""
course = CourseFactory.create()
Expand Down Expand Up @@ -1499,8 +1472,7 @@ def test_get_html(handler):
)
course_key = course_items[0].id

with override_waffle_flag(toggles.LEGACY_STUDIO_COURSE_OUTLINE, True):
resp = self._show_course_overview(course_key)
resp = self._show_course_overview(course_key)

# course_handler raise 404 for old mongo course
if course_key.deprecated:
Expand Down Expand Up @@ -1744,7 +1716,8 @@ def _show_course_overview(self, course_key):
"""
Show the course overview page.
"""
resp = self.client.get_html(get_url('course_handler', course_key, 'course_key_string'))
resp = self.client.get(get_url('course_handler', course_key, 'course_key_string'),
content_type='application/json')
return resp

def test_wiki_slug(self):
Expand Down
7 changes: 0 additions & 7 deletions cms/djangoapps/contentstore/toggles.py
Original file line number Diff line number Diff line change
Expand Up @@ -364,13 +364,6 @@ def use_new_video_uploads_page(course_key):
LEGACY_STUDIO_COURSE_OUTLINE = CourseWaffleFlag('legacy_studio.course_outline', __name__)


def use_new_course_outline_page(course_key):
"""
Returns a boolean if new studio course outline mfe is enabled
"""
return not LEGACY_STUDIO_COURSE_OUTLINE.is_enabled(course_key)


# .. toggle_name: legacy_studio.unit_editor
# .. toggle_implementation: WaffleFlag
# .. toggle_default: False
Expand Down
14 changes: 6 additions & 8 deletions cms/djangoapps/contentstore/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@
split_library_view_on_dashboard,
use_new_advanced_settings_page,
use_new_certificates_page,
use_new_course_outline_page,
use_new_course_team_page,
use_new_custom_pages,
use_new_export_page,
Expand Down Expand Up @@ -443,13 +442,12 @@ def get_course_outline_url(course_locator, block_to_show=None) -> str:
Gets course authoring microfrontend URL for course oultine page view.
"""
course_outline_url = None
if use_new_course_outline_page(course_locator):
mfe_base_url = get_course_authoring_url(course_locator)
course_mfe_url = f'{mfe_base_url}/course/{course_locator}'
if block_to_show:
course_mfe_url += f'?show={quote_plus(block_to_show)}'
if mfe_base_url:
course_outline_url = course_mfe_url
mfe_base_url = get_course_authoring_url(course_locator)
course_mfe_url = f'{mfe_base_url}/course/{course_locator}'
if block_to_show:
course_mfe_url += f'?show={quote_plus(block_to_show)}'
if mfe_base_url:
course_outline_url = course_mfe_url
return course_outline_url


Expand Down
16 changes: 2 additions & 14 deletions cms/djangoapps/contentstore/views/course.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,6 @@
from ..tasks import rerun_course as rerun_course_task
from ..toggles import (
default_enable_flexible_peer_openassessments,
use_new_course_outline_page,
use_new_updates_page,
use_new_advanced_settings_page,
use_new_grading_page,
Expand All @@ -102,7 +101,6 @@
add_instructor,
get_advanced_settings_url,
get_course_grading,
get_course_index_context,
get_course_outline_url,
get_course_rerun_context,
get_course_settings,
Expand Down Expand Up @@ -740,18 +738,8 @@ def course_index(request, course_key):

org, course, name: Attributes of the Location for the item to edit
"""
if use_new_course_outline_page(course_key):
block_to_show = request.GET.get("show")
return redirect(get_course_outline_url(course_key, block_to_show))
with modulestore().bulk_operations(course_key):
# A depth of None implies the whole course. The course outline needs this in order to compute has_changes.
# A unit may not have a draft version, but one of its components could, and hence the unit itself has changes.
course_block = get_course_and_check_access(course_key, request.user, depth=None)
if not course_block:
raise Http404
# should be under bulk_operations if course_block is passed
course_index_context = get_course_index_context(request, course_key, course_block)
return render_to_response('course_outline.html', course_index_context)
block_to_show = request.GET.get("show")
return redirect(get_course_outline_url(course_key, block_to_show))


@function_trace('get_courses_accessible_to_user')
Expand Down
32 changes: 2 additions & 30 deletions cms/djangoapps/contentstore/views/tests/test_course_index.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,12 @@
import ddt
import pytz
from django.core.exceptions import PermissionDenied
from django.test.utils import override_settings
from django.utils.translation import gettext as _
from edx_toggles.toggles.testutils import override_waffle_flag
from search.api import perform_search

from cms.djangoapps.contentstore import toggles
from cms.djangoapps.contentstore.courseware_index import CoursewareSearchIndexer, SearchIndexingError
from cms.djangoapps.contentstore.tests.utils import CourseTestCase
from cms.djangoapps.contentstore.utils import (
get_proctored_exam_settings_url,
reverse_course_url,
reverse_usage_url
)
Expand All @@ -34,7 +30,6 @@
from cms.djangoapps.contentstore.xblock_storage_handlers.view_handlers import VisibilityState, create_xblock_info


@override_waffle_flag(toggles.LEGACY_STUDIO_COURSE_OUTLINE, True)
@ddt.ddt
class TestCourseOutline(CourseTestCase):
"""
Expand Down Expand Up @@ -226,38 +221,15 @@ def test_verify_warn_only_on_enabled_blocks(self, enabled_block_types, deprecate
expected_block_types
)

@override_settings(FEATURES={'ENABLE_EXAM_SETTINGS_HTML_VIEW': True})
@mock.patch('cms.djangoapps.models.settings.course_metadata.CourseMetadata.validate_proctoring_settings')
def test_proctoring_link_is_visible(self, mock_validate_proctoring_settings):
"""
Test to check proctored exam settings mfe url is rendering properly
"""
mock_validate_proctoring_settings.return_value = [
{
'key': 'proctoring_provider',
'message': 'error message',
'model': {'display_name': 'proctoring_provider'}
},
{
'key': 'proctoring_provider',
'message': 'error message',
'model': {'display_name': 'proctoring_provider'}
}
]
response = self.client.get_html(reverse_course_url('course_handler', self.course.id))
proctored_exam_settings_url = get_proctored_exam_settings_url(self.course.id)
self.assertContains(response, proctored_exam_settings_url, 2)

def test_number_of_calls_to_db(self):
"""
Test to check number of queries made to mysql and mongo
"""
with self.assertNumQueries(39, table_ignorelist=WAFFLE_TABLES):
with self.assertNumQueries(21, table_ignorelist=WAFFLE_TABLES):
with check_mongo_calls(3):
self.client.get_html(reverse_course_url('course_handler', self.course.id))
self.client.get(reverse_course_url('course_handler', self.course.id), content_type="application/json")


@override_waffle_flag(toggles.LEGACY_STUDIO_COURSE_OUTLINE, True)
class TestCourseReIndex(CourseTestCase):
"""
Unit tests for the course outline.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
"ENABLE_PROCTORED_EXAMS": True,
},
)
@override_waffle_flag(toggles.LEGACY_STUDIO_COURSE_OUTLINE, True)
@override_waffle_flag(toggles.LEGACY_STUDIO_CERTIFICATES, True)
@override_waffle_flag(toggles.LEGACY_STUDIO_SCHEDULE_DETAILS, True)
@override_waffle_flag(toggles.LEGACY_STUDIO_CONFIGURATIONS, True)
Expand Down Expand Up @@ -93,7 +92,6 @@ def test_view_with_exam_settings_enabled(self, handler):
)
@ddt.data(
"advanced_settings_handler",
"course_handler",
)
def test_exam_settings_alert_with_exam_settings_enabled(self, page_handler):
"""
Expand Down Expand Up @@ -130,7 +128,6 @@ def test_exam_settings_alert_with_exam_settings_enabled(self, page_handler):
)
@ddt.data(
"advanced_settings_handler",
"course_handler",
)
@override_waffle_flag(toggles.LEGACY_STUDIO_EXAM_SETTINGS, True)
def test_exam_settings_alert_with_exam_settings_disabled(self, page_handler):
Expand Down Expand Up @@ -173,7 +170,6 @@ def test_exam_settings_alert_with_exam_settings_disabled(self, page_handler):
)
@ddt.data(
"advanced_settings_handler",
"course_handler",
)
def test_invalid_provider_alert(self, page_handler):
"""
Expand All @@ -198,7 +194,6 @@ def test_invalid_provider_alert(self, page_handler):

@ddt.data(
"advanced_settings_handler",
"course_handler",
)
def test_exam_settings_alert_not_shown(self, page_handler):
"""
Expand Down
93 changes: 0 additions & 93 deletions cms/djangoapps/contentstore/views/tests/test_header_menu.py

This file was deleted.

Loading
Loading