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
Этот коммит содержится в:
Corey Hulen
2016-07-06 13:40:59 -08:00
коммит произвёл GitHub
родитель 3eee51f74e
Коммит d5f243dad6
24 изменённых файлов: 572 добавлений и 19 удалений

Просмотреть файл

@@ -186,6 +186,10 @@ export default class UserList extends React.Component {
var memberList = this.state.users.map((user) => {
var teamMember = this.getTeamMemberForUser(user.id);
if (teamMember.delete_at > 0) {
return null;
}
return (
<UserItem
team={this.state.team}

Просмотреть файл

@@ -18,6 +18,7 @@ export default class UserItem 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);
@@ -56,6 +57,19 @@ export default class UserItem extends React.Component {
}
}
handleRemoveFromTeam() {
Client.removeUserFromTeam(
this.props.team.id,
this.props.user.id,
() => {
this.props.refreshProfiles();
},
(err) => {
this.setState({serverError: err.message});
}
);
}
handleMakeActive(e) {
e.preventDefault();
Client.updateActive(this.props.user.id, true,
@@ -222,6 +236,7 @@ export default class UserItem extends React.Component {
);
}
const me = UserStore.getCurrentUser();
const email = user.email;
let showMakeMember = teamMember.roles === 'admin' || user.roles === 'system_admin';
let showMakeAdmin = teamMember.roles === '' && user.roles !== 'system_admin';
@@ -299,6 +314,24 @@ export default class UserItem 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 = (
@@ -428,7 +461,6 @@ export default class UserItem extends React.Component {
passwordReset = null;
}
const me = UserStore.getCurrentUser();
let makeDemoteModal = null;
if (this.props.user.id === me.id) {
const title = (
@@ -511,6 +543,7 @@ export default class UserItem extends React.Component {
className='dropdown-menu member-menu'
role='menu'
>
{removeFromTeam}
{makeAdmin}
{makeMember}
{makeActive}