From 9b6c9fead9064dc4db4aa7d766f9a06ecaa78b36 Mon Sep 17 00:00:00 2001 From: Ben McMorran Date: Tue, 5 Aug 2014 09:01:31 -0400 Subject: [PATCH] Remove staff lock field when removing staff lock --- cms/static/js/spec/views/pages/container_subviews_spec.js | 4 ++-- cms/static/js/views/pages/container_subviews.js | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/cms/static/js/spec/views/pages/container_subviews_spec.js b/cms/static/js/spec/views/pages/container_subviews_spec.js index 040e0089ea..c57a1102b4 100644 --- a/cms/static/js/spec/views/pages/container_subviews_spec.js +++ b/cms/static/js/spec/views/pages/container_subviews_spec.js @@ -394,13 +394,13 @@ define(["jquery", "underscore", "underscore.string", "js/spec_helpers/create_sin create_sinon.expectJsonRequest(requests, 'POST', '/xblock/locator-container', { publish: 'republish', - metadata: { visible_to_staff_only: isStaffOnly } + metadata: { visible_to_staff_only: isStaffOnly ? true : null } }); create_sinon.respondWithJson(requests, { data: null, id: "locator-container", metadata: { - visible_to_staff_only: isStaffOnly + visible_to_staff_only: isStaffOnly ? true : null } }); create_sinon.expectJsonRequest(requests, 'GET', '/xblock/locator-container'); diff --git a/cms/static/js/views/pages/container_subviews.js b/cms/static/js/views/pages/container_subviews.js index 587952b2c0..4b3f0a18c9 100644 --- a/cms/static/js/views/pages/container_subviews.js +++ b/cms/static/js/views/pages/container_subviews.js @@ -174,9 +174,11 @@ define(["jquery", "underscore", "gettext", "js/views/baseview", "js/views/utils/ }; saveAndPublishStaffLock = function() { + // Setting staff lock to null when disabled will delete the field from this xblock, + // allowing it to use the inherited value instead of using false explicitly. return xblockInfo.save({ publish: 'republish', - metadata: {visible_to_staff_only: enableStaffLock}}, + metadata: {visible_to_staff_only: enableStaffLock ? true : null}}, {patch: true} ).always(function() { xblockInfo.set("publish", null);