PLT-5044 Fix unread team messages for deleted channels (#4836)

Этот коммит содержится в:
enahum
2016-12-19 15:26:52 -03:00
коммит произвёл Corey Hulen
родитель 629d38e256
Коммит a55e7a97ee
2 изменённых файлов: 28 добавлений и 25 удалений

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

@@ -599,7 +599,7 @@ func (s SqlTeamStore) GetTeamsUnreadForUser(teamId, userId string) StoreChannel
Channels, Channels,
ChannelMembers ChannelMembers
WHERE WHERE
Channels.Id = ChannelMembers.ChannelId AND Channels.Id = ChannelMembers.ChannelId AND Channels.DeleteAt = 0 AND
ChannelMembers.UserId = :UserId AND Channels.TeamId != :TeamId ChannelMembers.UserId = :UserId AND Channels.TeamId != :TeamId
GROUP BY GROUP BY
Channels.TeamId`, map[string]interface{}{"UserId": userId, "TeamId": teamId}) Channels.TeamId`, map[string]interface{}{"UserId": userId, "TeamId": teamId})

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

@@ -70,37 +70,40 @@ function preNeedsTeam(nextState, replace, callback) {
browserHistory.push('/'); browserHistory.push('/');
return; return;
} }
if (nextState.location.pathname.indexOf('/channels/') > -1) {
GlobalActions.emitCloseRightHandSide();
GlobalActions.emitCloseRightHandSide(); TeamStore.saveMyTeam(team);
TeamStore.emitChange();
loadProfilesAndTeamMembersForDMSidebar();
AsyncClient.getMyTeamsUnread();
AsyncClient.getMyChannelMembers();
TeamStore.saveMyTeam(team); const d1 = $.Deferred(); //eslint-disable-line new-cap
TeamStore.emitChange();
loadProfilesAndTeamMembersForDMSidebar();
AsyncClient.getMyTeamsUnread();
AsyncClient.getMyChannelMembers();
const d1 = $.Deferred(); //eslint-disable-line new-cap Client.getChannels(
(data) => {
AppDispatcher.handleServerAction({
type: ActionTypes.RECEIVED_CHANNELS,
channels: data
});
Client.getChannels( loadStatusesForChannelAndSidebar();
(data) => {
AppDispatcher.handleServerAction({
type: ActionTypes.RECEIVED_CHANNELS,
channels: data
});
loadStatusesForChannelAndSidebar(); d1.resolve();
},
(err) => {
AsyncClient.dispatchError(err, 'getChannels');
d1.resolve();
}
);
d1.resolve(); $.when(d1).done(() => {
}, callback();
(err) => { });
AsyncClient.dispatchError(err, 'getChannels'); } else {
d1.resolve();
}
);
$.when(d1).done(() => {
callback(); callback();
}); }
} }
function selectLastChannel(nextState, replace, callback) { function selectLastChannel(nextState, replace, callback) {