diff options
-rw-r--r-- | webapp/stores/team_store.jsx | 14 | ||||
-rw-r--r-- | webapp/utils/utils.jsx | 6 |
2 files changed, 16 insertions, 4 deletions
diff --git a/webapp/stores/team_store.jsx b/webapp/stores/team_store.jsx index bb0926ec5..b2cb3ad26 100644 --- a/webapp/stores/team_store.jsx +++ b/webapp/stores/team_store.jsx @@ -281,6 +281,20 @@ class TeamStoreClass extends EventEmitter { return this.teamListings; } + isTeamAdminForAnyTeam() { + if (!Utils) { + Utils = require('utils/utils.jsx'); //eslint-disable-line global-require + } + + for (const teamMember of this.getMyTeamMembers()) { + if (Utils.isAdmin(teamMember.roles)) { + return true; + } + } + + return false; + } + isTeamAdminForCurrentTeam() { return this.isTeamAdmin(UserStore.getCurrentId(), this.getCurrentId()); } diff --git a/webapp/utils/utils.jsx b/webapp/utils/utils.jsx index a96c791c7..7f9af571f 100644 --- a/webapp/utils/utils.jsx +++ b/webapp/utils/utils.jsx @@ -1203,10 +1203,8 @@ export function canCreateCustomEmoji(user) { return false; } else if (window.mm_config.RestrictCustomEmojiCreation === 'admin') { // check whether the user is an admin on any of their teams - for (const member of TeamStore.getTeamMembers()) { - if (isAdmin(member.roles)) { - return true; - } + if (TeamStore.isTeamAdminForAnyTeam()) { + return true; } return false; |