Commit 93f10ae8 by cahrens

Only save changed metadata fields.

parent 01ede40b
...@@ -20,6 +20,7 @@ class CMS.Views.ModuleEdit extends Backbone.View ...@@ -20,6 +20,7 @@ class CMS.Views.ModuleEdit extends Backbone.View
loadEdit: -> loadEdit: ->
if not @module if not @module
@module = XModule.loadModule(@$el.find('.xmodule_edit')) @module = XModule.loadModule(@$el.find('.xmodule_edit'))
@originalMetadata = @metadata()
metadata: -> metadata: ->
# cdodge: package up metadata which is separated into a number of input fields # cdodge: package up metadata which is separated into a number of input fields
...@@ -35,7 +36,13 @@ class CMS.Views.ModuleEdit extends Backbone.View ...@@ -35,7 +36,13 @@ class CMS.Views.ModuleEdit extends Backbone.View
return _metadata 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) -> cloneTemplate: (parent, template) ->
$.post("/clone_item", { $.post("/clone_item", {
...@@ -62,7 +69,7 @@ class CMS.Views.ModuleEdit extends Backbone.View ...@@ -62,7 +69,7 @@ class CMS.Views.ModuleEdit extends Backbone.View
course: course_location_analytics course: course_location_analytics
id: _this.model.id id: _this.model.id
data.metadata = _.extend(data.metadata || {}, @metadata()) data.metadata = _.extend(data.metadata || {}, @changedMetadata())
@hideModal() @hideModal()
@model.save(data).done( => @model.save(data).done( =>
# # showToastMessage("Your changes have been saved.", null, 3) # # showToastMessage("Your changes have been saved.", null, 3)
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
% endfor % endfor
</ul> </ul>
% if 'source_code' in editable_metadata_fields: % if 'source_code' in editable_metadata_fields and not editable_metadata_fields['source_code']['is_default']:
<%include file="source-edit.html" /> <%include file="source-edit.html" />
% endif % endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment