Using Feature flag to disable Mobile Course Available UI
This patch would disable Mobile Course Available UI field in studio's advanced settings based on DISABLE_MOBILE_COURSE_AVAILABLE flag.. PROD-1243
This commit is contained in:
@@ -91,6 +91,33 @@ class CourseSettingsEncoderTest(CourseTestCase):
|
||||
self.assertEqual(jsondetails['string'], 'string')
|
||||
|
||||
|
||||
class CourseAdvanceSettingViewTest(CourseTestCase, MilestonesTestCaseMixin):
|
||||
"""
|
||||
Tests for AdvanceSettings View.
|
||||
"""
|
||||
|
||||
def setUp(self):
|
||||
super(CourseAdvanceSettingViewTest, self).setUp()
|
||||
self.fullcourse = CourseFactory.create()
|
||||
self.course_setting_url = get_url(self.course.id, 'advanced_settings_handler')
|
||||
|
||||
@override_settings(FEATURES={'DISABLE_MOBILE_COURSE_AVAILABLE': True})
|
||||
def test_mobile_field_available(self):
|
||||
|
||||
"""
|
||||
Test to check `Mobile Course Available` field is not viewable in Studio
|
||||
when DISABLE_MOBILE_COURSE_AVAILABLE is true.
|
||||
"""
|
||||
|
||||
response = self.client.get_html(self.course_setting_url)
|
||||
start = response.content.decode('utf-8').find("mobile_available")
|
||||
end = response.content.decode('utf-8').find("}", start)
|
||||
settings_fields = json.loads(response.content.decode('utf-8')[start + len("mobile_available: "):end + 1])
|
||||
|
||||
self.assertEqual(settings_fields["display_name"], "Mobile Course Available")
|
||||
self.assertEqual(settings_fields["deprecated"], True)
|
||||
|
||||
|
||||
@ddt.ddt
|
||||
class CourseDetailsViewTest(CourseTestCase, MilestonesTestCaseMixin):
|
||||
"""
|
||||
|
||||
@@ -103,6 +103,7 @@ from .library import LIBRARIES_ENABLED, get_library_creator_status
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
__all__ = ['course_info_handler', 'course_handler', 'course_listing',
|
||||
'course_info_update_handler', 'course_search_index_handler',
|
||||
'course_rerun_handler',
|
||||
@@ -1312,6 +1313,11 @@ def advanced_settings_handler(request, course_key_string):
|
||||
course_key = CourseKey.from_string(course_key_string)
|
||||
with modulestore().bulk_operations(course_key):
|
||||
course_module = get_course_and_check_access(course_key, request.user)
|
||||
|
||||
advanced_dict = CourseMetadata.fetch(course_module)
|
||||
if settings.FEATURES.get('DISABLE_MOBILE_COURSE_AVAILABLE', False):
|
||||
advanced_dict.get('mobile_available')['deprecated'] = True
|
||||
|
||||
if 'text/html' in request.META.get('HTTP_ACCEPT', '') and request.method == 'GET':
|
||||
publisher_enabled = configuration_helpers.get_value_for_org(
|
||||
course_module.location.org,
|
||||
@@ -1321,7 +1327,7 @@ def advanced_settings_handler(request, course_key_string):
|
||||
|
||||
return render_to_response('settings_advanced.html', {
|
||||
'context_course': course_module,
|
||||
'advanced_dict': CourseMetadata.fetch(course_module),
|
||||
'advanced_dict': advanced_dict,
|
||||
'advanced_settings_url': reverse_course_url('advanced_settings_handler', course_key),
|
||||
'publisher_enabled': publisher_enabled,
|
||||
|
||||
|
||||
@@ -328,6 +328,7 @@ FEATURES = {
|
||||
'ENABLE_READING_FROM_MULTIPLE_HISTORY_TABLES': True,
|
||||
'SHOW_FOOTER_LANGUAGE_SELECTOR': False,
|
||||
'ENABLE_ENROLLMENT_RESET': False,
|
||||
'DISABLE_MOBILE_COURSE_AVAILABLE': False,
|
||||
}
|
||||
|
||||
ENABLE_JASMINE = False
|
||||
|
||||
@@ -407,6 +407,7 @@ FEATURES = {
|
||||
|
||||
# Enable feature to remove enrollments and users. Used to reset state of master's integration environments
|
||||
'ENABLE_ENROLLMENT_RESET': False,
|
||||
'DISABLE_MOBILE_COURSE_AVAILABLE': False,
|
||||
}
|
||||
|
||||
# Settings for the course reviews tool template and identification key, set either to None to disable course reviews
|
||||
|
||||
Reference in New Issue
Block a user