diff options
author | Corey Hulen <corey@hulen.com> | 2016-05-06 11:28:22 -0700 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2016-05-06 14:28:22 -0400 |
commit | 6c75662b824491a20a757a5eec59556a866374b5 (patch) | |
tree | 2f531a680aaa45bc915d51764eb846bc1b80fa68 /webapp/components/admin_console/user_item.jsx | |
parent | 4f799b980fd457e5dc97d2427a154576d7a5eded (diff) | |
download | chat-6c75662b824491a20a757a5eec59556a866374b5.tar.gz chat-6c75662b824491a20a757a5eec59556a866374b5.tar.bz2 chat-6c75662b824491a20a757a5eec59556a866374b5.zip |
PLT-2697 Fixing team admins (#2900)
* PLT-2697 Fixing team admins
* Fixing eslint error
* Fixing loc issues
* Fixing func
* Fixing func
Diffstat (limited to 'webapp/components/admin_console/user_item.jsx')
-rw-r--r-- | webapp/components/admin_console/user_item.jsx | 51 |
1 files changed, 28 insertions, 23 deletions
diff --git a/webapp/components/admin_console/user_item.jsx b/webapp/components/admin_console/user_item.jsx index 660f75a41..ef6bd9f45 100644 --- a/webapp/components/admin_console/user_item.jsx +++ b/webapp/components/admin_console/user_item.jsx @@ -42,6 +42,7 @@ export default class UserItem extends React.Component { this.handleDemote(this.props.user, ''); } else { Client.updateRoles( + this.props.team.id, this.props.user.id, '', () => { @@ -85,6 +86,7 @@ export default class UserItem extends React.Component { this.handleDemote(this.props.user, 'admin'); } else { Client.updateRoles( + this.props.team.id, this.props.user.id, 'admin', () => { @@ -101,6 +103,7 @@ export default class UserItem extends React.Component { e.preventDefault(); Client.updateRoles( + this.props.team.id, this.props.user.id, 'system_admin', () => { @@ -150,9 +153,12 @@ export default class UserItem extends React.Component { handleDemoteSubmit() { Client.updateRoles( + this.props.team.id, this.props.user.id, this.state.role, () => { + this.props.refreshProfiles(); + this.setState({ serverError: null, showDemoteModal: false, @@ -185,6 +191,7 @@ export default class UserItem extends React.Component { ); } + const teamMember = this.props.teamMember; const user = this.props.user; let currentRoles = ( <FormattedMessage @@ -192,32 +199,28 @@ export default class UserItem extends React.Component { defaultMessage='Member' /> ); - if (user.roles.length > 0) { - if (Utils.isSystemAdmin(user.roles)) { - currentRoles = ( - <FormattedMessage - id='admin.user_item.sysAdmin' - defaultMessage='System Admin' - /> - ); - } else if (Utils.isAdmin(user.roles)) { - currentRoles = ( - <FormattedMessage - id='admin.user_item.teamAdmin' - defaultMessage='Team Admin' - /> - ); - } else { - currentRoles = user.roles.charAt(0).toUpperCase() + user.roles.slice(1); - } - } - const email = user.email; - let showMakeMember = user.roles === 'admin' || user.roles === 'system_admin'; + if (teamMember.roles.length > 0 && Utils.isAdmin(teamMember.roles)) { + currentRoles = ( + <FormattedMessage + id='team_members_dropdown.teamAdmin' + defaultMessage='Team Admin' + /> + ); + } - //let showMakeAdmin = user.roles === '' || user.roles === 'system_admin'; - let showMakeAdmin = false; + if (user.roles.length > 0 && Utils.isSystemAdmin(user.roles)) { + currentRoles = ( + <FormattedMessage + id='team_members_dropdown.systemAdmin' + defaultMessage='System Admin' + /> + ); + } + const email = user.email; + let showMakeMember = teamMember.roles === 'admin' || user.roles === 'system_admin'; + let showMakeAdmin = teamMember.roles === '' && user.roles !== 'system_admin'; let showMakeSystemAdmin = user.roles === '' || user.roles === 'admin'; let showMakeActive = false; let showMakeNotActive = user.roles !== 'system_admin'; @@ -521,7 +524,9 @@ export default class UserItem extends React.Component { } UserItem.propTypes = { + team: React.PropTypes.object.isRequired, user: React.PropTypes.object.isRequired, + teamMember: React.PropTypes.object.isRequired, refreshProfiles: React.PropTypes.func.isRequired, doPasswordReset: React.PropTypes.func.isRequired }; |