diff --git a/website/client/src/components/challenges/challengeModal.vue b/website/client/src/components/challenges/challengeModal.vue index 863cdcb1d8..062d3535fd 100644 --- a/website/client/src/components/challenges/challengeModal.vue +++ b/website/client/src/components/challenges/challengeModal.vue @@ -418,6 +418,9 @@ export default { methods: { async shown () { this.groups = await this.$store.dispatch('guilds:getMyGuilds'); + this.groups = this.groups.filter(group => !( + group.leaderOnly.challenges && group.leader !== this.user._id + )); if (this.user.party && this.user.party._id) { await this.$store.dispatch('party:getParty'); diff --git a/website/server/controllers/api-v3/groups.js b/website/server/controllers/api-v3/groups.js index 1e5afb96aa..986a17750a 100644 --- a/website/server/controllers/api-v3/groups.js +++ b/website/server/controllers/api-v3/groups.js @@ -321,7 +321,7 @@ api.getGroups = { throw new BadRequest(apiError('guildsOnlyPaginate')); } - const groupFields = basicGroupFields.concat(' description memberCount balance'); + const groupFields = basicGroupFields.concat(' description memberCount balance leaderOnly'); const sort = '-memberCount'; const filters = {};