summaryrefslogtreecommitdiffstats
path: root/models
diff options
context:
space:
mode:
Diffstat (limited to 'models')
-rw-r--r--models/cards.js5
-rw-r--r--models/lists.js4
-rw-r--r--models/trelloCreator.js20
3 files changed, 24 insertions, 5 deletions
diff --git a/models/cards.js b/models/cards.js
index d175a430..43e7d843 100644
--- a/models/cards.js
+++ b/models/cards.js
@@ -225,10 +225,9 @@ Cards.mutations({
swimlaneId,
listId,
boardId: list.boardId,
+ sort: sortIndex,
};
- if (sortIndex) {
- mutatedFields.sort = sortIndex;
- }
+
return {$set: mutatedFields};
},
diff --git a/models/lists.js b/models/lists.js
index 7ed27361..7333db94 100644
--- a/models/lists.js
+++ b/models/lists.js
@@ -82,8 +82,8 @@ Lists.helpers({
};
if (swimlaneId)
selector.swimlaneId = swimlaneId;
- return Cards.find(Filter.mongoSelector(selector,
- { sort: ['sort'] }));
+ return Cards.find(Filter.mongoSelector(selector),
+ { sort: ['sort'] });
},
allCards() {
diff --git a/models/trelloCreator.js b/models/trelloCreator.js
index 972673e6..2d85ee71 100644
--- a/models/trelloCreator.js
+++ b/models/trelloCreator.js
@@ -23,6 +23,8 @@ export class TrelloCreator {
// Map of labels Trello ID => Wekan ID
this.labels = {};
+ // Default swimlane
+ this.swimlane = null;
// Map of lists Trello ID => Wekan ID
this.lists = {};
// Map of cards Trello ID => Wekan ID
@@ -230,6 +232,7 @@ export class TrelloCreator {
dateLastActivity: this._now(),
description: card.desc,
listId: this.lists[card.idList],
+ swimlaneId: this.swimlane,
sort: card.pos,
title: card.name,
// we attribute the card to its creator if available
@@ -397,6 +400,22 @@ export class TrelloCreator {
});
}
+ createSwimlanes(boardId) {
+ const swimlaneToCreate = {
+ archived: false,
+ boardId,
+ // We are being defensing here by providing a default date (now) if the
+ // creation date wasn't found on the action log. This happen on old
+ // Wekan boards (eg from 2013) that didn't log the 'createList' action
+ // we require.
+ createdAt: this._now(),
+ title: 'Default',
+ };
+ const swimlaneId = Swimlanes.direct.insert(swimlaneToCreate);
+ Swimlanes.direct.update(swimlaneId, {$set: {'updatedAt': this._now()}});
+ this.swimlane = swimlaneId;
+ }
+
createChecklists(trelloChecklists) {
trelloChecklists.forEach((checklist) => {
if (this.cards[checklist.idCard]) {
@@ -607,6 +626,7 @@ export class TrelloCreator {
this.parseActions(board.actions);
const boardId = this.createBoardAndLabels(board);
this.createLists(board.lists, boardId);
+ this.createSwimlanes(boardId);
this.createCards(board.cards, boardId);
this.createChecklists(board.checklists);
this.importActions(board.actions, boardId);