summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorenahum <nahumhbl@gmail.com>2016-12-19 15:26:52 -0300
committerCorey Hulen <corey@hulen.com>2016-12-19 10:26:52 -0800
commita55e7a97ee4e9397aa0598f86e22652e39088225 (patch)
treecc73f29e6688c851a2f03848dd3e023e79342402
parent629d38e256702e17674321c5cd7c062bea358983 (diff)
downloadchat-a55e7a97ee4e9397aa0598f86e22652e39088225.tar.gz
chat-a55e7a97ee4e9397aa0598f86e22652e39088225.tar.bz2
chat-a55e7a97ee4e9397aa0598f86e22652e39088225.zip
PLT-5044 Fix unread team messages for deleted channels (#4836)
-rw-r--r--store/sql_team_store.go2
-rw-r--r--webapp/routes/route_team.jsx53
2 files changed, 29 insertions, 26 deletions
diff --git a/store/sql_team_store.go b/store/sql_team_store.go
index 13b6baa1a..cc6343169 100644
--- a/store/sql_team_store.go
+++ b/store/sql_team_store.go
@@ -599,7 +599,7 @@ func (s SqlTeamStore) GetTeamsUnreadForUser(teamId, userId string) StoreChannel
Channels,
ChannelMembers
WHERE
- Channels.Id = ChannelMembers.ChannelId AND
+ Channels.Id = ChannelMembers.ChannelId AND Channels.DeleteAt = 0 AND
ChannelMembers.UserId = :UserId AND Channels.TeamId != :TeamId
GROUP BY
Channels.TeamId`, map[string]interface{}{"UserId": userId, "TeamId": teamId})
diff --git a/webapp/routes/route_team.jsx b/webapp/routes/route_team.jsx
index 10bbcc4df..a71ed3149 100644
--- a/webapp/routes/route_team.jsx
+++ b/webapp/routes/route_team.jsx
@@ -70,37 +70,40 @@ function preNeedsTeam(nextState, replace, callback) {
browserHistory.push('/');
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);
- TeamStore.emitChange();
- loadProfilesAndTeamMembersForDMSidebar();
- AsyncClient.getMyTeamsUnread();
- AsyncClient.getMyChannelMembers();
+ const d1 = $.Deferred(); //eslint-disable-line new-cap
- const d1 = $.Deferred(); //eslint-disable-line new-cap
+ Client.getChannels(
+ (data) => {
+ AppDispatcher.handleServerAction({
+ type: ActionTypes.RECEIVED_CHANNELS,
+ channels: data
+ });
- Client.getChannels(
- (data) => {
- AppDispatcher.handleServerAction({
- type: ActionTypes.RECEIVED_CHANNELS,
- channels: data
- });
+ loadStatusesForChannelAndSidebar();
- loadStatusesForChannelAndSidebar();
-
- d1.resolve();
- },
- (err) => {
- AsyncClient.dispatchError(err, 'getChannels');
- d1.resolve();
- }
- );
-
- $.when(d1).done(() => {
+ d1.resolve();
+ },
+ (err) => {
+ AsyncClient.dispatchError(err, 'getChannels');
+ d1.resolve();
+ }
+ );
+
+ $.when(d1).done(() => {
+ callback();
+ });
+ } else {
callback();
- });
+ }
}
function selectLastChannel(nextState, replace, callback) {