From 2ce1ba37a1d0a09f8b3d2a1db4c8a11d1f98caa0 Mon Sep 17 00:00:00 2001 From: Benjamin Tissoires Date: Tue, 26 Jun 2018 20:59:04 +0200 Subject: [PATCH] models: cards: allow singletons to be assigned to members and labelIds If we need to set only one member or one label, the data provided will not give us an array, but the only element as a string. We need to detect that and convert the parameter into an array. --- models/cards.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/models/cards.js b/models/cards.js index 9bb67f418..a9745f929 100644 --- a/models/cards.js +++ b/models/cards.js @@ -1457,7 +1457,10 @@ if (Meteor.isServer) { }); } if (req.body.hasOwnProperty('labelIds')) { - const newlabelIds = req.body.labelIds; + let newlabelIds = req.body.labelIds; + if (_.isString(newlabelIds)) { + newlabelIds = [newlabelIds]; + } Cards.direct.update({ _id: paramCardId, listId: paramListId, @@ -1515,7 +1518,10 @@ if (Meteor.isServer) { {$set: {customFields: newcustomFields}}); } if (req.body.hasOwnProperty('members')) { - const newmembers = req.body.members; + let newmembers = req.body.members; + if (_.isString(newmembers)) { + newmembers = [newmembers]; + } Cards.direct.update({_id: paramCardId, listId: paramListId, boardId: paramBoardId, archived: false}, {$set: {members: newmembers}}); }