diff options
author | enahum <nahumhbl@gmail.com> | 2016-12-19 15:26:52 -0300 |
---|---|---|
committer | Corey Hulen <corey@hulen.com> | 2016-12-19 10:26:52 -0800 |
commit | a55e7a97ee4e9397aa0598f86e22652e39088225 (patch) | |
tree | cc73f29e6688c851a2f03848dd3e023e79342402 | |
parent | 629d38e256702e17674321c5cd7c062bea358983 (diff) | |
download | chat-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.go | 2 | ||||
-rw-r--r-- | webapp/routes/route_team.jsx | 53 |
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) { |