From d3dabdd51e0146295002d88c542bb36e8521d414 Mon Sep 17 00:00:00 2001
From: Sebastian <sebastian.mihalache@thinslices.com>
Date: Tue, 27 Mar 2018 15:59:34 +0300
Subject: [PATCH] feat(component-invite): fix bugs

---
 packages/component-invite/src/routes/deleteInvitation.js     | 2 +-
 packages/component-invite/src/routes/postHandleInvitation.js | 5 +++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/packages/component-invite/src/routes/deleteInvitation.js b/packages/component-invite/src/routes/deleteInvitation.js
index 59dd9905e..b85fa6d9e 100644
--- a/packages/component-invite/src/routes/deleteInvitation.js
+++ b/packages/component-invite/src/routes/deleteInvitation.js
@@ -43,7 +43,7 @@ module.exports = models => async (req, res) => {
     }
     await inviteHelper.revokeInvitation(user, collectionId, role)
     await teamHelper.removeTeamMember(team.id, userId, models.Team)
-    user.teams = user.teams.filter(userTeam => team.id !== userTeam.id)
+    user.teams = user.teams.filter(userTeamId => team.id !== userTeamId)
     await user.save()
     await collectionHelper.removeAssignedPeople(collection, user.email)
     try {
diff --git a/packages/component-invite/src/routes/postHandleInvitation.js b/packages/component-invite/src/routes/postHandleInvitation.js
index 5be965086..6d8951e1c 100644
--- a/packages/component-invite/src/routes/postHandleInvitation.js
+++ b/packages/component-invite/src/routes/postHandleInvitation.js
@@ -2,6 +2,7 @@ const logger = require('@pubsweet/logger')
 const helpers = require('../helpers/helpers')
 const teamHelper = require('../helpers/Team')
 const mailService = require('pubsweet-component-mail-service')
+const collectionHelper = require('../helpers/Collection')
 
 module.exports = models => async (req, res) => {
   const { type, accept } = req.body
@@ -63,6 +64,10 @@ module.exports = models => async (req, res) => {
         user.id,
         models.Team,
       )
+      user.teams = user.teams.filter(
+        userTeamId => matchingInvitation.teamId !== userTeamId,
+      )
+      await collectionHelper.removeAssignedPeople(collection, user.email)
       const { reason } = req.body
       if (reason !== undefined) {
         matchingInvitation.reason = reason
-- 
GitLab