From d2b1a837e677b62e10a14c1599c4ff59ee21ff34 Mon Sep 17 00:00:00 2001 From: Ghassen Rjab Date: Mon, 24 Jul 2017 23:56:51 +0100 Subject: Import boards in Sandstorm --- models/import.js | 5 +++-- models/trelloCreator.js | 9 ++++++++- models/wekanCreator.js | 9 ++++++++- 3 files changed, 19 insertions(+), 4 deletions(-) (limited to 'models') diff --git a/models/import.js b/models/import.js index 2e58c90f..09769794 100644 --- a/models/import.js +++ b/models/import.js @@ -2,10 +2,11 @@ import { TrelloCreator } from './trelloCreator'; import { WekanCreator } from './wekanCreator'; Meteor.methods({ - importBoard(board, data, importSource) { + importBoard(board, data, importSource, currentBoard) { check(board, Object); check(data, Object); check(importSource, String); + check(currentBoard, Match.Maybe(String)); let creator; switch (importSource) { case 'trello': @@ -23,6 +24,6 @@ Meteor.methods({ // authorized) nothing to check, everyone can import boards in their account // 3. create all elements - return creator.create(board); + return creator.create(board, currentBoard); }, }); diff --git a/models/trelloCreator.js b/models/trelloCreator.js index fbc4a878..aa86a5c8 100644 --- a/models/trelloCreator.js +++ b/models/trelloCreator.js @@ -488,7 +488,14 @@ export class TrelloCreator { } } - create(board) { + create(board, currentBoardId) { + // TODO : Make isSandstorm variable global + const isSandstorm = Meteor.settings && Meteor.settings.public && + Meteor.settings.public.sandstorm; + if (isSandstorm && currentBoardId) { + const currentBoard = Boards.findOne(currentBoardId); + currentBoard.archive(); + } this.parseActions(board.actions); const boardId = this.createBoardAndLabels(board); this.createLists(board.lists, boardId); diff --git a/models/wekanCreator.js b/models/wekanCreator.js index 6dd56fb1..b5f9b0ff 100644 --- a/models/wekanCreator.js +++ b/models/wekanCreator.js @@ -478,7 +478,14 @@ export class WekanCreator { } } - create(board) { + create(board, currentBoardId) { + // TODO : Make isSandstorm variable global + const isSandstorm = Meteor.settings && Meteor.settings.public && + Meteor.settings.public.sandstorm; + if (isSandstorm && currentBoardId) { + const currentBoard = Boards.findOne(currentBoardId); + currentBoard.archive(); + } this.parseActivities(board); const boardId = this.createBoardAndLabels(board); this.createLists(board.lists, boardId); -- cgit v1.2.3-1-g7c22