diff options
author | Lauri Ojansivu <x@xet7.org> | 2018-11-08 22:49:08 +0200 |
---|---|---|
committer | Lauri Ojansivu <x@xet7.org> | 2018-11-08 22:49:08 +0200 |
commit | 4cf98134491b5870796de795418000c0a7c3a694 (patch) | |
tree | 7efdd76a487adec7ddd4277150bfd616baf11b2e /models | |
parent | d44fb6bedd80e2ae85c028c4eb34bc9da90e4418 (diff) | |
download | wekan-4cf98134491b5870796de795418000c0a7c3a694.tar.gz wekan-4cf98134491b5870796de795418000c0a7c3a694.tar.bz2 wekan-4cf98134491b5870796de795418000c0a7c3a694.zip |
- Some fixes to Wekan import:
- isCommentOnly and isNoComments are now optional
- Turn off import error checking, so something is imported anyway, and import does not stop at error.
- Now most of Sandstorm export do import to Standalone Wekan, but some of imported cards, dates etc are missing.
- Sandstorm Import Wekan board warning messages are now translateable.
Thanks to xet7 !
Closes #1945,
closes #1616,
closes #1903
Diffstat (limited to 'models')
-rw-r--r-- | models/boards.js | 2 | ||||
-rw-r--r-- | models/import.js | 10 | ||||
-rw-r--r-- | models/wekanCreator.js | 39 |
3 files changed, 28 insertions, 23 deletions
diff --git a/models/boards.js b/models/boards.js index cae6cf9f..57f3a1f1 100644 --- a/models/boards.js +++ b/models/boards.js @@ -127,9 +127,11 @@ Boards.attachSchema(new SimpleSchema({ }, 'members.$.isNoComments': { type: Boolean, + optional: true, }, 'members.$.isCommentOnly': { type: Boolean, + optional: true, }, permission: { type: String, diff --git a/models/import.js b/models/import.js index 09769794..5cdf8dc1 100644 --- a/models/import.js +++ b/models/import.js @@ -3,10 +3,10 @@ import { WekanCreator } from './wekanCreator'; Meteor.methods({ importBoard(board, data, importSource, currentBoard) { - check(board, Object); - check(data, Object); - check(importSource, String); - check(currentBoard, Match.Maybe(String)); + //check(board, Object); + //check(data, Object); + //check(importSource, String); + //check(currentBoard, Match.Maybe(String)); let creator; switch (importSource) { case 'trello': @@ -18,7 +18,7 @@ Meteor.methods({ } // 1. check all parameters are ok from a syntax point of view - creator.check(board); + //creator.check(board); // 2. check parameters are ok from a business point of view (exist & // authorized) nothing to check, everyone can import boards in their account diff --git a/models/wekanCreator.js b/models/wekanCreator.js index 59d0cfd5..b179cfae 100644 --- a/models/wekanCreator.js +++ b/models/wekanCreator.js @@ -40,6 +40,8 @@ export class WekanCreator { this.checklistItems = {}; // The comments, indexed by Wekan card id (to map when importing cards) this.comments = {}; + // Map of rules Wekan ID => Wekan ID + this.rules = {}; // the members, indexed by Wekan member id => Wekan user ID this.members = data.membersMapping ? data.membersMapping : {}; // Map of triggers Wekan ID => Wekan ID @@ -748,24 +750,25 @@ export class WekanCreator { } check(board) { - try { - // check(data, { - // membersMapping: Match.Optional(Object), - // }); - this.checkActivities(board.activities); - this.checkBoard(board); - this.checkLabels(board.labels); - this.checkLists(board.lists); - this.checkSwimlanes(board.swimlanes); - this.checkCards(board.cards); - this.checkChecklists(board.checklists); - this.checkRules(board.rules); - this.checkActions(board.actions); - this.checkTriggers(board.triggers); - this.checkChecklistItems(board.checklistItems); - } catch (e) { - throw new Meteor.Error('error-json-schema'); - } + //try { + // check(data, { + // membersMapping: Match.Optional(Object), + // }); + + // this.checkActivities(board.activities); + // this.checkBoard(board); + // this.checkLabels(board.labels); + // this.checkLists(board.lists); + // this.checkSwimlanes(board.swimlanes); + // this.checkCards(board.cards); + //this.checkChecklists(board.checklists); + // this.checkRules(board.rules); + // this.checkActions(board.actions); + //this.checkTriggers(board.triggers); + //this.checkChecklistItems(board.checklistItems); + //} catch (e) { + // throw new Meteor.Error('error-json-schema'); + // } } create(board, currentBoardId) { |