diff options
Diffstat (limited to 'routers/user')
-rw-r--r-- | routers/user/home.go | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/routers/user/home.go b/routers/user/home.go index 39ceaed2e4..df567eaf2c 100644 --- a/routers/user/home.go +++ b/routers/user/home.go @@ -23,6 +23,7 @@ const ( ISSUES base.TplName = "user/dashboard/issues" STARS base.TplName = "user/stars" PROFILE base.TplName = "user/profile" + ORG_HOME base.TplName = "org/home" ) func getDashboardContextUser(ctx *middleware.Context) *models.User { @@ -305,6 +306,38 @@ func ShowSSHKeys(ctx *middleware.Context, uid int64) { ctx.PlainText(200, buf.Bytes()) } +func showOrgProfile(ctx *middleware.Context) { + ctx.SetParams(":org", ctx.Params(":username")) + middleware.HandleOrgAssignment(ctx) + if ctx.Written() { + return + } + + org := ctx.Org.Organization + ctx.Data["Title"] = org.FullName + + repos, err := models.GetRepositories(org.Id, ctx.IsSigned && org.IsOrgMember(ctx.User.Id)) + if err != nil { + ctx.Handle(500, "GetRepositories", err) + return + } + ctx.Data["Repos"] = repos + + if err = org.GetMembers(); err != nil { + ctx.Handle(500, "GetMembers", err) + return + } + ctx.Data["Members"] = org.Members + + if err = org.GetTeams(); err != nil { + ctx.Handle(500, "GetTeams", err) + return + } + ctx.Data["Teams"] = org.Teams + + ctx.HTML(200, ORG_HOME) +} + func Profile(ctx *middleware.Context) { ctx.Data["Title"] = "Profile" ctx.Data["PageIsUserProfile"] = true @@ -342,7 +375,7 @@ func Profile(ctx *middleware.Context) { } if u.IsOrganization() { - ctx.Redirect(setting.AppSubUrl + "/org/" + u.Name) + showOrgProfile(ctx) return } ctx.Data["Owner"] = u |