浏览代码

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.
Keven Kurz PC 7 年之前
父节点
当前提交
81d00a9471
共有 1 个文件被更改,包括 8 次插入4 次删除
  1. 8 4
      models/wekanCreator.js

+ 8 - 4
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(!foundWekanMember)
+        if(!boardToCreate.members.some((member) => member.wekanId === wekanMember.wekanId))
           boardToCreate.members.push({
           boardToCreate.members.push({
             ... wekanMember,
             ... wekanMember,
             userId: wekanMember.wekanId,
             userId: wekanMember.wekanId,
-            ...Meteor.userId() === wekanMember.wekanId ? {isAdmin: true} : {}, // make impoter admin
           });
           });
       });
       });
     }
     }