Browse Source

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 năm trước cách đây
mục cha
commit
81d00a9471
1 tập tin đã thay đổi với 8 bổ sung4 xóa
  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
       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
           });
       });
     }