From 93f10ae8a01906e24643b838625f7a8bd49a4c2b Mon Sep 17 00:00:00 2001 From: cahrens Date: Thu, 2 May 2013 11:41:38 -0400 Subject: [PATCH] Only save changed metadata fields. --- cms/static/coffee/src/views/module_edit.coffee | 11 +++++++++-- cms/templates/widgets/metadata-edit.html | 4 ++-- 2 files changed, 11 insertions(+), 4 deletions(-) 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