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

Этот коммит содержится в:
Corey Hulen
2016-08-22 16:39:05 -08:00
коммит произвёл Joram Wilander
родитель 05f8d138f4
Коммит e1fdc63f28
6 изменённых файлов: 37 добавлений и 11 удалений

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

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

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

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

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

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

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

@@ -78,6 +78,7 @@ function preNeedsTeam(nextState, replace, callback) {
var d1 = $.Deferred(); //eslint-disable-line new-cap var d1 = $.Deferred(); //eslint-disable-line new-cap
var d2 = $.Deferred(); //eslint-disable-line new-cap var d2 = $.Deferred(); //eslint-disable-line new-cap
var d3 = $.Deferred(); //eslint-disable-line new-cap
Client.getChannels( Client.getChannels(
(data) => { (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(); callback();
}); });
} }

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

@@ -157,6 +157,19 @@ class TeamStoreClass extends EventEmitter {
return this.members_for_team; 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) { saveTeamListings(teams) {
this.teamListings = teams; this.teamListings = teams;
} }

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

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