Explorar o código

Merge pull request #3451 from jrsupplee/copy-custom-fields

Copy custom fields to new board
Lauri Ojansivu %!s(int64=4) %!d(string=hai) anos
pai
achega
bafda03fd9
Modificáronse 1 ficheiros con 19 adicións e 0 borrados
  1. 19 0
      models/boards.js

+ 19 - 0
models/boards.js

@@ -518,6 +518,25 @@ Boards.helpers({
       swimlane.type = 'swimlane';
       swimlane.type = 'swimlane';
       swimlane.copy(_id);
       swimlane.copy(_id);
     });
     });
+
+    // copy custom field definitions
+    const cfMap = {};
+    CustomFields.find({ boardIds: oldId }).forEach(cf => {
+      const id = cf._id;
+      delete cf._id;
+      cf.boardIds = [_id];
+      cfMap[id] = CustomFields.insert(cf);
+    });
+    Cards.find({ boardId: _id }).forEach(card => {
+      Cards.update(card._id, {
+        $set: {
+          customFields: card.customFields.map(cf => {
+            cf._id = cfMap[cf._id];
+            return cf;
+          }),
+        },
+      });
+    });
   },
   },
   /**
   /**
    * Is supplied user authorized to view this board?
    * Is supplied user authorized to view this board?