diff options
author | Nico <paetni1@gmail.com> | 2020-04-09 02:00:15 +0200 |
---|---|---|
committer | Nico <paetni1@gmail.com> | 2020-04-09 02:00:15 +0200 |
commit | e661d03e8d7ea8c1d2190de2c7c59eaf0700534b (patch) | |
tree | 34dec8761a22595ec37c1b36d838b5b22b945f9c /models/trelloCreator.js | |
parent | f09219cbfd620e04fd48539bd11eced20c81137b (diff) | |
download | wekan-e661d03e8d7ea8c1d2190de2c7c59eaf0700534b.tar.gz wekan-e661d03e8d7ea8c1d2190de2c7c59eaf0700534b.tar.bz2 wekan-e661d03e8d7ea8c1d2190de2c7c59eaf0700534b.zip |
Add vote import from Trello
Diffstat (limited to 'models/trelloCreator.js')
-rw-r--r-- | models/trelloCreator.js | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/models/trelloCreator.js b/models/trelloCreator.js index cb1a6a67..48dce7eb 100644 --- a/models/trelloCreator.js +++ b/models/trelloCreator.js @@ -1,4 +1,4 @@ -const DateString = Match.Where(function(dateAsString) { +const DateString = Match.Where(function (dateAsString) { check(dateAsString, String); return moment(dateAsString, moment.ISO_8601).isValid(); }); @@ -285,6 +285,29 @@ export class TrelloCreator { cardToCreate.members = wekanMembers; } } + // add vote + if (card.idMembersVoted) { + // Trello only know's positive votes + const positiveVotes = []; + card.idMembersVoted.forEach(trelloId => { + if (this.members[trelloId]) { + const wekanId = this.members[trelloId]; + // we may map multiple Trello members to the same wekan user + // in which case we risk adding the same user multiple times + if (!positiveVotes.find(wId => wId === wekanId)) { + positiveVotes.push(wekanId); + } + } + return true; + }) + if (positiveVotes.length > 0) { + cardToCreate.vote = { + question: cardToCreate.title, + positive: positiveVotes, + } + } + } + // insert card const cardId = Cards.direct.insert(cardToCreate); // keep track of Trello id => Wekan id @@ -345,7 +368,7 @@ export class TrelloCreator { // so we make it server only, and let UI catch up once it is done, forget about latency comp. const self = this; if (Meteor.isServer) { - file.attachData(att.url, function(error) { + file.attachData(att.url, function (error) { file.boardId = boardId; file.cardId = cardId; file.userId = self._user(att.idMemberCreator); |