summaryrefslogtreecommitdiffstats
path: root/webapp/components/team_members_dropdown.jsx
diff options
context:
space:
mode:
authorCorey Hulen <corey@hulen.com>2016-07-06 13:40:59 -0800
committerGitHub <noreply@github.com>2016-07-06 13:40:59 -0800
commitd5f243dad694d6746ec2b6560a81212a78d8c975 (patch)
tree7f1de697c906ff909f26b739eebaa77f18edf790 /webapp/components/team_members_dropdown.jsx
parent3eee51f74e893f3182519ad0edb72dd5d8b107fd (diff)
downloadchat-d5f243dad694d6746ec2b6560a81212a78d8c975.tar.gz
chat-d5f243dad694d6746ec2b6560a81212a78d8c975.tar.bz2
chat-d5f243dad694d6746ec2b6560a81212a78d8c975.zip
PLT-2863 adding remove user from team (#3429)
* PLT-2863 adding remove user from team * PLT-2863 adding the client side UI * Fixing trailing space * Fixing reported issues * Adding documentatino * Switching to final javascript driver
Diffstat (limited to 'webapp/components/team_members_dropdown.jsx')
-rw-r--r--webapp/components/team_members_dropdown.jsx36
1 files changed, 35 insertions, 1 deletions
diff --git a/webapp/components/team_members_dropdown.jsx b/webapp/components/team_members_dropdown.jsx
index 2b40da9cf..43449635d 100644
--- a/webapp/components/team_members_dropdown.jsx
+++ b/webapp/components/team_members_dropdown.jsx
@@ -19,6 +19,7 @@ export default class TeamMembersDropdown extends React.Component {
super(props);
this.handleMakeMember = this.handleMakeMember.bind(this);
+ this.handleRemoveFromTeam = this.handleRemoveFromTeam.bind(this);
this.handleMakeActive = this.handleMakeActive.bind(this);
this.handleMakeNotActive = this.handleMakeNotActive.bind(this);
this.handleMakeAdmin = this.handleMakeAdmin.bind(this);
@@ -52,6 +53,19 @@ export default class TeamMembersDropdown extends React.Component {
);
}
}
+ handleRemoveFromTeam() {
+ Client.removeUserFromTeam(
+ '',
+ this.props.user.id,
+ () => {
+ AsyncClient.getTeamMembers(TeamStore.getCurrentId());
+ AsyncClient.getProfiles();
+ },
+ (err) => {
+ this.setState({serverError: err.message});
+ }
+ );
+ }
handleMakeActive() {
Client.updateActive(this.props.user.id, true,
() => {
@@ -171,6 +185,7 @@ export default class TeamMembersDropdown extends React.Component {
);
}
+ const me = UserStore.getCurrentUser();
let showMakeMember = teamMember.roles === 'admin' || user.roles === 'system_admin';
let showMakeAdmin = teamMember.roles === '' && user.roles !== 'system_admin';
let showMakeActive = false;
@@ -225,6 +240,24 @@ export default class TeamMembersDropdown extends React.Component {
);
}
+ let removeFromTeam = null;
+ if (this.props.user.id !== me.id) {
+ removeFromTeam = (
+ <li role='presentation'>
+ <a
+ role='menuitem'
+ href='#'
+ onClick={this.handleRemoveFromTeam}
+ >
+ <FormattedMessage
+ id='team_members_dropdown.leave_team'
+ defaultMessage='Remove From Team'
+ />
+ </a>
+ </li>
+ );
+ }
+
let makeActive = null;
if (showMakeActive) {
// makeActive = (
@@ -260,7 +293,7 @@ export default class TeamMembersDropdown extends React.Component {
// </li>
// );
}
- const me = UserStore.getCurrentUser();
+
let makeDemoteModal = null;
if (this.props.user.id === me.id) {
const title = (
@@ -321,6 +354,7 @@ export default class TeamMembersDropdown extends React.Component {
className='dropdown-menu member-menu'
role='menu'
>
+ {removeFromTeam}
{makeAdmin}
{makeMember}
{makeActive}