diff --git a/packages/component-invite/src/routes/deleteInvitation.js b/packages/component-invite/src/routes/deleteInvitation.js index 59dd9905e99046314d541384a2d9b2a37f29a406..b85fa6d9e0605d4ec7cf606368524908d5f9e465 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 5be9650861cc50aed18fffd6ed959da624936792..6d8951e1cf6f4f6b2589c03e56a005623898aeed 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