summaryrefslogtreecommitdiffstats
path: root/web/web.go
diff options
context:
space:
mode:
Diffstat (limited to 'web/web.go')
-rw-r--r--web/web.go37
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 {