Browse Source

Delete activity related to checklist item when the item is deleted

Ghassen Rjab 7 năm trước cách đây
mục cha
commit
ee938c0423
1 tập tin đã thay đổi với 17 bổ sung8 xóa
  1. 17 8
      models/checklists.js

+ 17 - 8
models/checklists.js

@@ -164,14 +164,23 @@ if (Meteor.isServer) {
   // The future is now
   Checklists.after.update((userId, doc, fieldNames, modifier) => {
     if (fieldNames.includes('items')) {
-      Activities.insert({
-        userId,
-        activityType: 'addChecklistItem',
-        cardId: doc.cardId,
-        boardId: Cards.findOne(doc.cardId).boardId,
-        checklistId: doc._id,
-        checklistItemId: modifier.$addToSet.items._id,
-      });
+      if (modifier.$addToSet) {
+        Activities.insert({
+          userId,
+          activityType: 'addChecklistItem',
+          cardId: doc.cardId,
+          boardId: Cards.findOne(doc.cardId).boardId,
+          checklistId: doc._id,
+          checklistItemId: modifier.$addToSet.items._id,
+        });
+      } else if (modifier.$pull) {
+        const activity = Activities.findOne({
+          checklistItemId: modifier.$pull.items._id,
+        });
+        if (activity) {
+          Activities.remove(activity._id);
+        }
+      }
     }
   });