From 80fe6bde5d8b20a9e2be40002c2a71b049a8e22d Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Wed, 5 Oct 2016 15:38:06 -0400 Subject: [PATCH] removed 'No Assignee' option, updated flag saving logic --- src/posts/flags.js | 18 +++++++++++------- src/views/admin/manage/flags.tpl | 1 - 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/posts/flags.js b/src/posts/flags.js index 8acc453399..3f42e9c988 100644 --- a/src/posts/flags.js +++ b/src/posts/flags.js @@ -269,14 +269,9 @@ module.exports = function(Posts) { // Track new additions for(prop in flagObj) { - if (flagObj.hasOwnProperty(prop) && !postData.hasOwnProperty('flag:' + prop)) { + if (flagObj.hasOwnProperty(prop) && !postData.hasOwnProperty('flag:' + prop) && flagObj[prop].length) { changes.push(prop); } - - // Generate changeset for object modification - if (flagObj.hasOwnProperty(prop)) { - changeset['flag:' + prop] = flagObj[prop]; - } } // Track changed items @@ -290,6 +285,11 @@ module.exports = function(Posts) { } } + changeset = changes.reduce(function(memo, prop) { + memo['flag:' + prop] = flagObj[prop]; + return memo; + }, {}); + // Append changes to history string if (changes.length) { try { @@ -323,7 +323,11 @@ module.exports = function(Posts) { } // Save flag data into post hash - Posts.setPostFields(pid, changeset, callback); + if (changes.length) { + Posts.setPostFields(pid, changeset, callback); + } else { + setImmediate(callback); + } }); }; diff --git a/src/views/admin/manage/flags.tpl b/src/views/admin/manage/flags.tpl index 54209a279e..dccc3ae46f 100644 --- a/src/views/admin/manage/flags.tpl +++ b/src/views/admin/manage/flags.tpl @@ -134,7 +134,6 @@