From 2a89ad8288317c66a9d818233d9f9c8f8a3a9824 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Thu, 27 Jan 2022 16:00:01 -0500 Subject: [PATCH] fix: use escaped group names in invite modal --- src/controllers/write/users.js | 4 ++-- src/groups/user.js | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/controllers/write/users.js b/src/controllers/write/users.js index 5edad764fe..3ab37025ca 100644 --- a/src/controllers/write/users.js +++ b/src/controllers/write/users.js @@ -200,7 +200,7 @@ Users.invite = async (req, res) => { return helpers.formatApiResponse(403, res, new Error('[[error:no-privileges]]')); } - const inviteGroups = await groups.getUserInviteGroups(req.uid); + const inviteGroups = (await groups.getUserInviteGroups(req.uid)).map(group => group.name); const cannotInvite = groupsToJoin.some(group => !inviteGroups.includes(group)); if (groupsToJoin.length > 0 && cannotInvite) { return helpers.formatApiResponse(403, res, new Error('[[error:no-privileges]]')); @@ -231,7 +231,7 @@ Users.getInviteGroups = async function (req, res) { } const userInviteGroups = await groups.getUserInviteGroups(req.params.uid); - return helpers.formatApiResponse(200, res, userInviteGroups); + return helpers.formatApiResponse(200, res, userInviteGroups.map(group => group.displayName)); }; Users.listEmails = async (req, res) => { diff --git a/src/groups/user.js b/src/groups/user.js index 5255adff1a..4238296a37 100644 --- a/src/groups/user.js +++ b/src/groups/user.js @@ -37,7 +37,10 @@ module.exports = function (Groups) { allGroups = allGroups.filter(group => !Groups.ephemeralGroups.includes(group.name)); const publicGroups = allGroups.filter(group => group.hidden === 0 && group.system === 0 && group.private === 0); - const adminModGroups = [{ name: 'administrators' }, { name: 'Global Moderators' }]; + const adminModGroups = [ + { name: 'administrators', displayName: 'administrators' }, + { name: 'Global Moderators', displayName: 'Global Moderators' }, + ]; // Private (but not hidden) const privateGroups = allGroups.filter(group => group.hidden === 0 && group.system === 0 && group.private === 1); @@ -58,7 +61,6 @@ module.exports = function (Groups) { } return inviteGroups - .concat(publicGroups) - .map(group => group.name); + .concat(publicGroups); }; };