diff --git a/cms/static/coffee/src/views/module_edit.coffee b/cms/static/coffee/src/views/module_edit.coffee index 1b849d1f55..bf56807f66 100644 --- a/cms/static/coffee/src/views/module_edit.coffee +++ b/cms/static/coffee/src/views/module_edit.coffee @@ -20,6 +20,7 @@ class CMS.Views.ModuleEdit extends Backbone.View loadEdit: -> if not @module @module = XModule.loadModule(@$el.find('.xmodule_edit')) + @originalMetadata = @metadata() metadata: -> # cdodge: package up metadata which is separated into a number of input fields @@ -35,7 +36,13 @@ class CMS.Views.ModuleEdit extends Backbone.View return _metadata - getMetadata: -> + changedMetadata: -> + currentMetadata = @metadata() + changedMetadata = {} + for key of currentMetadata + if currentMetadata[key] != @originalMetadata[key] + changedMetadata[key] = currentMetadata[key] + return changedMetadata cloneTemplate: (parent, template) -> $.post("/clone_item", { @@ -62,7 +69,7 @@ class CMS.Views.ModuleEdit extends Backbone.View course: course_location_analytics id: _this.model.id - data.metadata = _.extend(data.metadata || {}, @metadata()) + data.metadata = _.extend(data.metadata || {}, @changedMetadata()) @hideModal() @model.save(data).done( => # # showToastMessage("Your changes have been saved.", null, 3) diff --git a/cms/templates/widgets/metadata-edit.html b/cms/templates/widgets/metadata-edit.html index 4eb43da896..d4373c37fd 100644 --- a/cms/templates/widgets/metadata-edit.html +++ b/cms/templates/widgets/metadata-edit.html @@ -40,8 +40,8 @@ % endfor - % if 'source_code' in editable_metadata_fields: - <%include file="source-edit.html" /> + % if 'source_code' in editable_metadata_fields and not editable_metadata_fields['source_code']['is_default']: + <%include file="source-edit.html" /> % endif