PLT-6023: Add Users to Team in WebApp. (#5956)

* PLT-6198: Use added to channel system message on default channels.

Use a different sytem message when a user was added to a default channel
by someone else than when they joined themselves.

* PLT-6023: Add Users to Team in WebApp.

* Fix string text.

* Handle added_to_team websocket message.

* Fix unread flag on new channel.
Этот коммит содержится в:
George Goldberg
2017-04-04 20:17:15 +01:00
коммит произвёл Christopher Speller
родитель 77a76487a8
Коммит 1fa3f2351c
12 изменённых файлов: 770 добавлений и 81 удалений

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

@@ -114,6 +114,31 @@ export function addUserToTeamFromInvite(data, hash, inviteId, success, error) {
);
}
export function addUsersToTeam(teamId, userIds, success, error) {
Client.addUsersToTeam(
teamId,
userIds,
(teamMembers) => {
teamMembers.forEach((member) => {
TeamStore.removeMemberNotInTeam(teamId, member.user_id);
UserStore.removeProfileNotInTeam(teamId, member.user_id);
});
UserStore.emitNotInTeamChange();
if (success) {
success(teamMembers);
}
},
(err) => {
AsyncClient.dispatchError(err, 'addUsersToTeam');
if (error) {
error(err);
}
}
);
}
export function getInviteInfo(inviteId, success, error) {
Client.getInviteInfo(
inviteId,

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

@@ -492,6 +492,28 @@ export function searchUsers(term, teamId = TeamStore.getCurrentId(), options = {
);
}
export function searchUsersNotInTeam(term, teamId = TeamStore.getCurrentId(), options = {}, success, error) {
Client.searchUsersNotInTeam(
term,
teamId,
options,
(data) => {
loadStatusesForProfilesList(data);
if (success) {
success(data);
}
},
(err) => {
AsyncClient.dispatchError(err, 'searchUsersNotInTeam');
if (error) {
error(err);
}
}
);
}
export function autocompleteUsersInChannel(username, channelId, success, error) {
Client.autocompleteUsersInChannel(
username,

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

@@ -153,6 +153,10 @@ function handleEvent(msg) {
handleUpdateTeamEvent(msg);
break;
case SocketEvents.ADDED_TO_TEAM:
handleTeamAddedEvent(msg);
break;
case SocketEvents.USER_ADDED:
handleUserAddedEvent(msg);
break;
@@ -241,6 +245,27 @@ function handlePostDeleteEvent(msg) {
GlobalActions.emitPostDeletedEvent(post);
}
function handleTeamAddedEvent(msg) {
Client.getTeam(msg.data.team_id, (team) => {
AppDispatcher.handleServerAction({
type: ActionTypes.RECEIVED_TEAM,
team
});
Client.getMyTeamMembers((data) => {
AppDispatcher.handleServerAction({
type: ActionTypes.RECEIVED_MY_TEAM_MEMBERS,
team_members: data
});
AsyncClient.getMyTeamsUnread();
}, (err) => {
AsyncClient.dispatchError(err, 'getMyTeamMembers');
});
}, (err) => {
AsyncClient.dispatchError(err, 'getTeam');
});
}
function handleLeaveTeamEvent(msg) {
if (UserStore.getCurrentId() === msg.data.user_id) {
TeamStore.removeMyTeamMember(msg.data.team_id);