diff --git a/models/boards.js b/models/boards.js index 5d5710e37..e1e578724 100644 --- a/models/boards.js +++ b/models/boards.js @@ -773,7 +773,15 @@ Boards.helpers({ }, activities() { - return Activities.find({ boardId: this._id }, { sort: { createdAt: -1 } }); + let linkedBoardId = [this._id]; + Cards.find({ + "type": "cardType-linkedBoard", + "boardId": this._id} + ).forEach(card => { + linkedBoardId.push(card.linkedId); + }); + return Activities.find({ boardId: { $in: linkedBoardId } }, { sort: { createdAt: -1 } }); + //return Activities.find({ boardId: this._id }, { sort: { createdAt: -1 } }); }, activeMembers(){ diff --git a/server/publications/activities.js b/server/publications/activities.js index 90be1a393..018f3f783 100644 --- a/server/publications/activities.js +++ b/server/publications/activities.js @@ -14,9 +14,23 @@ Meteor.publish('activities', (kind, id, limit, hideSystem) => { check(limit, Number); check(hideSystem, Boolean); + // Get linkedBoard + let linkedElmtId = [id]; + if (kind == 'board') { + Cards.find({ + "type": "cardType-linkedBoard", + "boardId": id} + ).forEach(card => { + linkedElmtId.push(card.linkedId); + }); + } + + //const selector = hideSystem + // ? { $and: [{ activityType: 'addComment' }, { [`${kind}Id`]: id }] } + // : { [`${kind}Id`]: id }; const selector = hideSystem - ? { $and: [{ activityType: 'addComment' }, { [`${kind}Id`]: id }] } - : { [`${kind}Id`]: id }; + ? { $and: [{ activityType: 'addComment' }, { [`${kind}Id`]: { $in: linkedElmtId } }] } + : { [`${kind}Id`]: { $in: linkedElmtId } }; return Activities.find(selector, { limit, sort: { createdAt: -1 }, diff --git a/server/publications/boards.js b/server/publications/boards.js index 92d709207..6c17ed7c5 100644 --- a/server/publications/boards.js +++ b/server/publications/boards.js @@ -270,7 +270,7 @@ Meteor.publishRelations('board', function(boardId, isArchived) { checklists.push(cardId); checklistItems.push(cardId); parentCards.push(cardId); - cardCommentReactions.push(cardId) + cardCommentReactions.push(cardId); }, );