summaryrefslogtreecommitdiffstats
path: root/models/trelloCreator.js
diff options
context:
space:
mode:
authorNico <paetni1@gmail.com>2020-04-09 02:00:15 +0200
committerNico <paetni1@gmail.com>2020-04-09 02:00:15 +0200
commite661d03e8d7ea8c1d2190de2c7c59eaf0700534b (patch)
tree34dec8761a22595ec37c1b36d838b5b22b945f9c /models/trelloCreator.js
parentf09219cbfd620e04fd48539bd11eced20c81137b (diff)
downloadwekan-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.js27
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);