PLT-3593 fixing issue of removing from team DM list (#3857)

This commit is contained in:
Corey Hulen
2016-08-22 16:39:05 -08:00
committed by Joram Wilander
parent 05f8d138f4
commit e1fdc63f28
6 changed files with 37 additions and 11 deletions

View File

@@ -30,8 +30,8 @@ export function switchFromLdapToEmail(email, password, ldapPassword, onSuccess,
}
export function getMoreDmList() {
AsyncClient.getProfilesForDirectMessageList();
AsyncClient.getTeamMembers(TeamStore.getCurrentId());
AsyncClient.getProfilesForDirectMessageList();
}
export function saveTheme(teamId, theme, onSuccess, onError) {

View File

@@ -79,7 +79,10 @@ function handleReconnect() {
if (Client.teamId) {
AsyncClient.getChannels();
AsyncClient.getPosts(ChannelStore.getCurrentId());
AsyncClient.getTeamMembers(TeamStore.getCurrentId());
AsyncClient.getProfiles();
}
getStatuses();
ErrorStore.clearLastError();
ErrorStore.emitChange();
@@ -183,6 +186,7 @@ function handlePostDeleteEvent(msg) {
}
function handleNewUserEvent() {
AsyncClient.getTeamMembers(TeamStore.getCurrentId());
AsyncClient.getProfiles();
AsyncClient.getDirectProfiles();
AsyncClient.getChannelExtraInfo();

View File

@@ -133,7 +133,7 @@ export default class Sidebar extends React.Component {
directChannel.teammate_id = teammateId;
directChannel.status = UserStore.getStatus(teammateId) || 'offline';
if (UserStore.hasTeamProfile(teammateId)) {
if (UserStore.hasTeamProfile(teammateId) && TeamStore.hasActiveMemberForTeam(teammateId)) {
directChannels.push(directChannel);
} else {
directNonTeamChannels.push(directChannel);

View File

@@ -78,6 +78,7 @@ function preNeedsTeam(nextState, replace, callback) {
var d1 = $.Deferred(); //eslint-disable-line new-cap
var d2 = $.Deferred(); //eslint-disable-line new-cap
var d3 = $.Deferred(); //eslint-disable-line new-cap
Client.getChannels(
(data) => {
@@ -110,7 +111,23 @@ function preNeedsTeam(nextState, replace, callback) {
}
);
$.when(d1, d2).done(() => {
Client.getTeamMembers(
TeamStore.getCurrentId(),
(data) => {
AppDispatcher.handleServerAction({
type: ActionTypes.RECEIVED_MEMBERS_FOR_TEAM,
team_members: data
});
d3.resolve();
},
(err) => {
AsyncClient.dispatchError(err, 'getTeamMembers');
d3.resolve();
}
);
$.when(d1, d2, d3).done(() => {
callback();
});
}

View File

@@ -157,6 +157,19 @@ class TeamStoreClass extends EventEmitter {
return this.members_for_team;
}
hasActiveMemberForTeam(userId) {
for (var index in this.members_for_team) {
if (this.members_for_team.hasOwnProperty(index)) {
if (this.members_for_team[index].user_id === userId &&
this.members_for_team[index].team_id === this.currentTeamId) {
return this.members_for_team[index].delete_at === 0;
}
}
}
return false;
}
saveTeamListings(teams) {
this.teamListings = teams;
}

View File

@@ -584,8 +584,6 @@ export function getPostsPage(id, maxPosts) {
checkLatest: true,
post_list: data
});
getProfiles();
},
(err) => {
dispatchError(err, 'getPostsPage');
@@ -632,8 +630,6 @@ export function getPosts(id) {
numRequested: 0,
post_list: data
});
getProfiles();
},
(err) => {
dispatchError(err, 'getPosts');
@@ -668,8 +664,6 @@ export function getPostsBefore(postId, offset, numPost, isPost) {
post_list: data,
isPost
});
getProfiles();
},
(err) => {
dispatchError(err, 'getPostsBefore');
@@ -704,8 +698,6 @@ export function getPostsAfter(postId, offset, numPost, isPost) {
post_list: data,
isPost
});
getProfiles();
},
(err) => {
dispatchError(err, 'getPostsAfter');