Browse Source

Add swimlaneId in activity. Create default swimlaneId in API

Andrés Manelli 6 years ago
parent
commit
e74fb2f5b0
4 changed files with 17 additions and 4 deletions
  1. 3 0
      models/activities.js
  2. 5 0
      models/boards.js
  3. 8 3
      models/cards.js
  4. 1 1
      server/notifications/outgoing.js

+ 3 - 0
models/activities.js

@@ -117,6 +117,9 @@ if (Meteor.isServer) {
       params.url = card.absoluteUrl();
       params.cardId = activity.cardId;
     }
+    if (activity.swimlaneId) {
+      params.swimlaneId = activity.swimlaneId;
+    }
     if (activity.commentId) {
       const comment = activity.comment();
       params.comment = comment.text;

+ 5 - 0
models/boards.js

@@ -855,10 +855,15 @@ if (Meteor.isServer) {
         permission: 'public',
         color: 'belize',
       });
+      const swimlaneId = Swimlanes.insert({
+        title: TAPi18n.__('default'),
+        boardId: id,
+      });
       JsonRoutes.sendResult(res, {
         code: 200,
         data: {
           _id: id,
+          defaultSwimlaneId: swimlaneId,
         },
       });
     }

+ 8 - 3
models/cards.js

@@ -914,8 +914,9 @@ Cards.mutations({
 
 //FUNCTIONS FOR creation of Activities
 
-function cardMove(userId, doc, fieldNames, oldListId) {
-  if (_.contains(fieldNames, 'listId') && doc.listId !== oldListId) {
+function cardMove(userId, doc, fieldNames, oldListId, oldSwimlaneId) {
+  if ((_.contains(fieldNames, 'listId') && doc.listId !== oldListId) ||
+      (_.contains(fieldNames, 'swimlaneId') && doc.swimlaneId !== oldSwimlaneId)){
     Activities.insert({
       userId,
       oldListId,
@@ -923,6 +924,8 @@ function cardMove(userId, doc, fieldNames, oldListId) {
       listId: doc.listId,
       boardId: doc.boardId,
       cardId: doc._id,
+      swimlaneId: doc.swimlaneId,
+      oldSwimlaneId,
     });
   }
 }
@@ -990,6 +993,7 @@ function cardCreation(userId, doc) {
     boardId: doc.boardId,
     listId: doc.listId,
     cardId: doc._id,
+    swimlaneId: doc.swimlaneId,
   });
 }
 
@@ -1037,7 +1041,8 @@ if (Meteor.isServer) {
   //New activity for card moves
   Cards.after.update(function (userId, doc, fieldNames) {
     const oldListId = this.previous.listId;
-    cardMove(userId, doc, fieldNames, oldListId);
+    const oldSwimlaneId = this.previous.swimlaneId;
+    cardMove(userId, doc, fieldNames, oldListId, oldSwimlaneId);
   });
 
   // Add a new activity if we add or remove a member to the card

+ 1 - 1
server/notifications/outgoing.js

@@ -8,7 +8,7 @@ const postCatchError = Meteor.wrapAsync((url, options, resolve) => {
   });
 });
 
-const webhooksAtbts = ( (process.env.WEBHOOKS_ATTRIBUTES && process.env.WEBHOOKS_ATTRIBUTES.split(',') ) || ['cardId', 'listId', 'oldListId', 'boardId', 'comment', 'user', 'card', 'commentId']);
+const webhooksAtbts = ( (process.env.WEBHOOKS_ATTRIBUTES && process.env.WEBHOOKS_ATTRIBUTES.split(',') ) || ['cardId', 'listId', 'oldListId', 'boardId', 'comment', 'user', 'card', 'commentId', 'swimlaneId']);
 
 Meteor.methods({
   outgoingWebhooks(integrations, description, params) {