diff --git a/cms/djangoapps/contentstore/tests/test_course_settings.py b/cms/djangoapps/contentstore/tests/test_course_settings.py index 99740573cc..7170adff52 100644 --- a/cms/djangoapps/contentstore/tests/test_course_settings.py +++ b/cms/djangoapps/contentstore/tests/test_course_settings.py @@ -299,8 +299,6 @@ class CourseDetailsViewTest(CourseTestCase, MilestonesTestCaseMixin): self.assertContains(response, "Enrollment Start Date") self.assertContains(response, "Enrollment End Date") - self.assertContains(response, "Introducing Your Course") - self.assertContains(response, "Course Card Image") self.assertContains(response, "Course Short Description") self.assertNotContains(response, "Course About Sidebar HTML") self.assertNotContains(response, "Course Title") diff --git a/cms/djangoapps/contentstore/views/course.py b/cms/djangoapps/contentstore/views/course.py index 21924ccc8c..c278cb9704 100644 --- a/cms/djangoapps/contentstore/views/course.py +++ b/cms/djangoapps/contentstore/views/course.py @@ -1305,11 +1305,18 @@ def advanced_settings_handler(request, course_key_string): with modulestore().bulk_operations(course_key): course_module = get_course_and_check_access(course_key, request.user) 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, + 'ENABLE_PUBLISHER', + settings.FEATURES.get('ENABLE_PUBLISHER', False) + ) return render_to_response('settings_advanced.html', { 'context_course': course_module, 'advanced_dict': CourseMetadata.fetch(course_module), - 'advanced_settings_url': reverse_course_url('advanced_settings_handler', course_key) + 'advanced_settings_url': reverse_course_url('advanced_settings_handler', course_key), + 'publisher_enabled': publisher_enabled, + }) elif 'application/json' in request.META.get('HTTP_ACCEPT', ''): if request.method == 'GET': diff --git a/cms/djangoapps/models/settings/course_metadata.py b/cms/djangoapps/models/settings/course_metadata.py index 239817ff47..7f2057c888 100644 --- a/cms/djangoapps/models/settings/course_metadata.py +++ b/cms/djangoapps/models/settings/course_metadata.py @@ -178,7 +178,8 @@ class CourseMetadata(object): 'value': field.read_json(descriptor), 'display_name': _(field.display_name), 'help': field_help, - 'deprecated': field.runtime_options.get('deprecated', False) + 'deprecated': field.runtime_options.get('deprecated', False), + 'hide_on_enabled_publisher': field.runtime_options.get('hide_on_enabled_publisher', False) } return result diff --git a/cms/static/js/factories/settings_advanced.js b/cms/static/js/factories/settings_advanced.js index 16eb86f45e..474e94e33f 100644 --- a/cms/static/js/factories/settings_advanced.js +++ b/cms/static/js/factories/settings_advanced.js @@ -2,7 +2,7 @@ define([ 'jquery', 'gettext', 'js/models/settings/advanced', 'js/views/settings/advanced' ], function($, gettext, AdvancedSettingsModel, AdvancedSettingsView) { 'use strict'; - return function(advancedDict, advancedSettingsUrl) { + return function(advancedDict, advancedSettingsUrl, publisherEnabled) { var advancedModel, editor; $('form :input') @@ -17,6 +17,14 @@ define([ advancedModel = new AdvancedSettingsModel(advancedDict, {parse: true}); advancedModel.url = advancedSettingsUrl; + // set the hidden property to true on relevant fields if publisher is enabled + if (publisherEnabled && advancedModel.attributes) { + Object.keys(advancedModel.attributes).forEach(function(am) { + var field = advancedModel.attributes[am]; + field.hidden = field.hide_on_enabled_publisher; + }); + } + editor = new AdvancedSettingsView({ el: $('.settings-advanced'), model: advancedModel diff --git a/cms/static/js/views/settings/advanced.js b/cms/static/js/views/settings/advanced.js index 3ab7ff1a36..20f94dbfef 100644 --- a/cms/static/js/views/settings/advanced.js +++ b/cms/static/js/views/settings/advanced.js @@ -153,7 +153,7 @@ define(['js/views/validation', var newKeyId = _.uniqueId('policy_key_'), newEle = this.template({key: key, display_name: model.display_name, help: model.help, value: JSON.stringify(model.value, null, 4), deprecated: model.deprecated, - keyUniqueId: newKeyId, valueUniqueId: _.uniqueId('policy_value_')}); + keyUniqueId: newKeyId, valueUniqueId: _.uniqueId('policy_value_'), hidden: model.hidden}); this.fieldToSelectorMap[key] = newKeyId; this.selectorToField[newKeyId] = key; diff --git a/cms/templates/js/advanced_entry.underscore b/cms/templates/js/advanced_entry.underscore index 913ab7594a..b2e4d09e37 100644 --- a/cms/templates/js/advanced_entry.underscore +++ b/cms/templates/js/advanced_entry.underscore @@ -1,14 +1,16 @@ -