From e5949504b7ed42ad59742d2a0aa001fe6c762873 Mon Sep 17 00:00:00 2001 From: Benjamin Tissoires Date: Wed, 27 Jun 2018 16:44:58 +0200 Subject: models: cards: an empty string in members or label deletes the list There is currently no way to remove all members or all labels attached to a card. If an empty string is provided, we can consider as a hint to remove the list from the card. --- models/cards.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/models/cards.js b/models/cards.js index a9745f92..bcd16ece 100644 --- a/models/cards.js +++ b/models/cards.js @@ -1459,7 +1459,12 @@ if (Meteor.isServer) { if (req.body.hasOwnProperty('labelIds')) { let newlabelIds = req.body.labelIds; if (_.isString(newlabelIds)) { - newlabelIds = [newlabelIds]; + if (newlabelIds === '') { + newlabelIds = null; + } + else { + newlabelIds = [newlabelIds]; + } } Cards.direct.update({ _id: paramCardId, @@ -1520,7 +1525,12 @@ if (Meteor.isServer) { if (req.body.hasOwnProperty('members')) { let newmembers = req.body.members; if (_.isString(newmembers)) { - newmembers = [newmembers]; + if (newmembers === '') { + newmembers = null; + } + else { + newmembers = [newmembers]; + } } Cards.direct.update({_id: paramCardId, listId: paramListId, boardId: paramBoardId, archived: false}, {$set: {members: newmembers}}); -- cgit v1.2.3-1-g7c22