diff options
author | Joram Wilander <jwawilander@gmail.com> | 2015-10-30 10:57:25 -0400 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2015-10-30 10:57:25 -0400 |
commit | 256be4c14dfd99fc923d497cc6d7dfe3f4e8e3c5 (patch) | |
tree | f85d6a4707eaab904694aa4fc42aca917f03fdc4 /web/web.go | |
parent | c2cd58a33f52c6567e39d8ba563425dc06916d41 (diff) | |
parent | bedf85a122359a70cbb21be1219a5d566466273e (diff) | |
download | chat-256be4c14dfd99fc923d497cc6d7dfe3f4e8e3c5.tar.gz chat-256be4c14dfd99fc923d497cc6d7dfe3f4e8e3c5.tar.bz2 chat-256be4c14dfd99fc923d497cc6d7dfe3f4e8e3c5.zip |
Merge pull request #1211 from mattermost/PLT-340
PLT-340 allow team directory and open invites
Diffstat (limited to 'web/web.go')
-rw-r--r-- | web/web.go | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/web/web.go b/web/web.go index bffe4858e..424adea93 100644 --- a/web/web.go +++ b/web/web.go @@ -152,20 +152,6 @@ func CheckBrowserCompatability(c *api.Context, r *http.Request) bool { } -// func getTeamAndUser(c *api.Context) (*model.Team, *model.User) { -// if tr := <-api.Srv.Store.Team().Get(c.Session.TeamId); tr.Err != nil { -// c.Err = tr.Err -// return nil, nil -// } else { -// if ur := <-api.Srv.Store.User().Get(c.Session.UserId); ur.Err != nil { -// c.Err = ur.Err -// return nil, nil -// } else { -// return tr.Data.(*model.Team), ur.Data.(*model.User) -// } -// } -// } - func root(c *api.Context, w http.ResponseWriter, r *http.Request) { if !CheckBrowserCompatability(c, r) { @@ -174,6 +160,22 @@ func root(c *api.Context, w http.ResponseWriter, r *http.Request) { if len(c.Session.UserId) == 0 { page := NewHtmlTemplatePage("signup_team", "Signup") + + if result := <-api.Srv.Store.Team().GetAllTeamListing(); result.Err != nil { + c.Err = result.Err + return + } else { + teams := result.Data.([]*model.Team) + for _, team := range teams { + page.Props[team.Name] = team.DisplayName + } + + if len(teams) == 1 && *utils.Cfg.TeamSettings.EnableTeamListing { + http.Redirect(w, r, c.GetSiteURL()+"/"+teams[0].Name, http.StatusTemporaryRedirect) + return + } + } + page.Render(c, w) } else { teamChan := api.Srv.Store.Team().Get(c.Session.TeamId) @@ -240,6 +242,11 @@ func login(c *api.Context, w http.ResponseWriter, r *http.Request) { page := NewHtmlTemplatePage("login", "Login") page.Props["TeamDisplayName"] = team.DisplayName page.Props["TeamName"] = team.Name + + if team.AllowOpenInvite { + page.Props["InviteId"] = team.InviteId + } + page.Render(c, w) } @@ -285,7 +292,7 @@ func signupUserComplete(c *api.Context, w http.ResponseWriter, r *http.Request) if len(id) > 0 { props = make(map[string]string) - if result := <-api.Srv.Store.Team().Get(id); result.Err != nil { + if result := <-api.Srv.Store.Team().GetByInviteId(id); result.Err != nil { c.Err = result.Err return } else { |