summaryrefslogtreecommitdiffstats
path: root/web/web.go
diff options
context:
space:
mode:
author=Corey Hulen <corey@hulen.com>2016-01-05 14:48:05 -0600
committer=Corey Hulen <corey@hulen.com>2016-01-05 14:48:05 -0600
commitf0e620a4851a61b8164c09bc6f95ee1df5859838 (patch)
treec70143699e10d18a828935fc53e978e60123cd56 /web/web.go
parentee79095fa4d84be3391c16df9a226069598fc0c2 (diff)
downloadchat-f0e620a4851a61b8164c09bc6f95ee1df5859838.tar.gz
chat-f0e620a4851a61b8164c09bc6f95ee1df5859838.tar.bz2
chat-f0e620a4851a61b8164c09bc6f95ee1df5859838.zip
PLT-1485 Adding last view channel sticky
Diffstat (limited to 'web/web.go')
-rw-r--r--web/web.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/web/web.go b/web/web.go
index 6e0e8df32..5bdc04c9b 100644
--- a/web/web.go
+++ b/web/web.go
@@ -238,7 +238,14 @@ func login(c *api.Context, w http.ResponseWriter, r *http.Request) {
_, session := api.FindMultiSessionForTeamId(r, team.Id)
if session != nil {
w.Header().Set(model.HEADER_TOKEN, session.Token)
- http.Redirect(w, r, c.GetSiteURL()+"/"+team.Name+"/channels/town-square", http.StatusTemporaryRedirect)
+ lastViewChannelName := "town-square"
+ if lastViewResult := <-api.Srv.Store.Preference().Get(session.UserId, model.PREFERENCE_CATEGORY_LAST, model.PREFERENCE_NAME_LAST_CHANNEL); lastViewResult.Err == nil {
+ if lastViewChannelResult := <-api.Srv.Store.Channel().Get(lastViewResult.Data.(model.Preference).Value); lastViewChannelResult.Err == nil {
+ lastViewChannelName = lastViewChannelResult.Data.(*model.Channel).Name
+ }
+ }
+
+ http.Redirect(w, r, c.GetSiteURL()+"/"+team.Name+"/channels/"+lastViewChannelName, http.StatusTemporaryRedirect)
return
}