diff --git a/website/server/controllers/api-v3/groups.js b/website/server/controllers/api-v3/groups.js index f5b286ccd4..e66b9711ef 100644 --- a/website/server/controllers/api-v3/groups.js +++ b/website/server/controllers/api-v3/groups.js @@ -1316,13 +1316,13 @@ api.getLookingForParty = { const PAGE = req.query.page || 0; const PAGE_START = USERS_PER_PAGE * PAGE; - const partyLed = await Group - .findOne({ - type: 'party', - leader: user._id, - }) - .select('_id') - .exec(); + let partyLed = false; + if (user.party._id) { + const party = await Group.getGroup({ user, groupId: user.party._id }); + if (party && party.leader === user._id) { + partyLed = true; + } + } if (!partyLed) { throw new BadRequest(apiError('notPartyLeader')); diff --git a/website/server/libs/tasks/index.js b/website/server/libs/tasks/index.js index 94acaede40..45cc82758a 100644 --- a/website/server/libs/tasks/index.js +++ b/website/server/libs/tasks/index.js @@ -233,7 +233,7 @@ async function getTasks (req, res, options = {}) { } else { query.type = type.slice(0, -1); // removing the final "s" } - } else { + } else if (!challenge) { query.$and = [{ $or: [ // Exclude completed todos { type: 'todo', completed: false },