summaryrefslogtreecommitdiffstats
path: root/models
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2018-11-08 22:49:08 +0200
committerLauri Ojansivu <x@xet7.org>2018-11-08 22:49:08 +0200
commit4cf98134491b5870796de795418000c0a7c3a694 (patch)
tree7efdd76a487adec7ddd4277150bfd616baf11b2e /models
parentd44fb6bedd80e2ae85c028c4eb34bc9da90e4418 (diff)
downloadwekan-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.js2
-rw-r--r--models/import.js10
-rw-r--r--models/wekanCreator.js39
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) {