Covered case of no admin and no self mapping.

Now importer is always admin of the imported board so that no
undeletable boards can be created.
reviewable/pr1316/r1
Keven Kurz PC 8 years ago
parent e8cfed1f7b
commit 81d00a9471
  1. 12
      models/wekanCreator.js

@ -140,7 +140,13 @@ export class WekanCreator {
// very old boards won't have a creation activity so no creation date // very old boards won't have a creation activity so no creation date
createdAt: this._now(boardToImport.createdAt), createdAt: this._now(boardToImport.createdAt),
labels: [], labels: [],
members: [], members: [{
userId: Meteor.userId(),
wekanId: Meteor.userId(),
isActive: true,
isAdmin: true,
isCommentOnly: false,
}],
// Standalone Export has modifiedAt missing, adding modifiedAt to fix it // Standalone Export has modifiedAt missing, adding modifiedAt to fix it
modifiedAt: this._now(boardToImport.modifiedAt), modifiedAt: this._now(boardToImport.modifiedAt),
permission: boardToImport.permission, permission: boardToImport.permission,
@ -152,12 +158,10 @@ export class WekanCreator {
if(boardToImport.members) { if(boardToImport.members) {
boardToImport.members.forEach((wekanMember) => { boardToImport.members.forEach((wekanMember) => {
// do we already have it in our list? // do we already have it in our list?
const foundWekanMember = boardToCreate.members.find((member) => member.wekanId === wekanMember.wekanId); if(!boardToCreate.members.some((member) => member.wekanId === wekanMember.wekanId))
if(!foundWekanMember)
boardToCreate.members.push({ boardToCreate.members.push({
... wekanMember, ... wekanMember,
userId: wekanMember.wekanId, userId: wekanMember.wekanId,
...Meteor.userId() === wekanMember.wekanId ? {isAdmin: true} : {}, // make impoter admin
}); });
}); });
} }

Loading…
Cancel
Save