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/r2
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
createdAt: this._now(boardToImport.createdAt),
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
modifiedAt: this._now(boardToImport.modifiedAt),
permission: boardToImport.permission,
@ -152,12 +158,10 @@ export class WekanCreator {
if(boardToImport.members) {
boardToImport.members.forEach((wekanMember) => {
// do we already have it in our list?
const foundWekanMember = boardToCreate.members.find((member) => member.wekanId === wekanMember.wekanId);
if(!foundWekanMember)
if(!boardToCreate.members.some((member) => member.wekanId === wekanMember.wekanId))
boardToCreate.members.push({
... wekanMember,
userId: wekanMember.wekanId,
...Meteor.userId() === wekanMember.wekanId ? {isAdmin: true} : {}, // make impoter admin
});
});
}

Loading…
Cancel
Save