aboutsummaryrefslogtreecommitdiffstats
path: root/routers/user
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2019-12-14 14:36:59 +0800
committertechknowlogick <techknowlogick@gitea.io>2019-12-14 01:36:59 -0500
commit484e3dc5a9012a50838bf8d00de3ffd136c0759b (patch)
treeb9b323e1f272ed11dd3d5fabc729e80df7e998dc /routers/user
parentf6ba912cd6e1868e8f66c5a38cbe317f243d7806 (diff)
downloadgitea-484e3dc5a9012a50838bf8d00de3ffd136c0759b.tar.gz
gitea-484e3dc5a9012a50838bf8d00de3ffd136c0759b.zip
site admin could view org's members (#9346)
Diffstat (limited to 'routers/user')
-rw-r--r--routers/user/home.go115
-rw-r--r--routers/user/profile.go3
2 files changed, 2 insertions, 116 deletions
diff --git a/routers/user/home.go b/routers/user/home.go
index 2eff889105..a1060f371f 100644
--- a/routers/user/home.go
+++ b/routers/user/home.go
@@ -29,7 +29,6 @@ const (
tplDashboard base.TplName = "user/dashboard/dashboard"
tplIssues base.TplName = "user/dashboard/issues"
tplProfile base.TplName = "user/profile"
- tplOrgHome base.TplName = "org/home"
)
// getDashboardContextUser finds out dashboard is viewing as which context user.
@@ -463,120 +462,6 @@ func ShowGPGKeys(ctx *context.Context, uid int64) {
ctx.PlainText(200, buf.Bytes())
}
-func showOrgProfile(ctx *context.Context) {
- ctx.SetParams(":org", ctx.Params(":username"))
- context.HandleOrgAssignment(ctx)
- if ctx.Written() {
- return
- }
-
- org := ctx.Org.Organization
-
- if !models.HasOrgVisible(org, ctx.User) {
- ctx.NotFound("HasOrgVisible", nil)
- return
- }
-
- ctx.Data["Title"] = org.DisplayName()
-
- var orderBy models.SearchOrderBy
- ctx.Data["SortType"] = ctx.Query("sort")
- switch ctx.Query("sort") {
- case "newest":
- orderBy = models.SearchOrderByNewest
- case "oldest":
- orderBy = models.SearchOrderByOldest
- case "recentupdate":
- orderBy = models.SearchOrderByRecentUpdated
- case "leastupdate":
- orderBy = models.SearchOrderByLeastUpdated
- case "reversealphabetically":
- orderBy = models.SearchOrderByAlphabeticallyReverse
- case "alphabetically":
- orderBy = models.SearchOrderByAlphabetically
- case "moststars":
- orderBy = models.SearchOrderByStarsReverse
- case "feweststars":
- orderBy = models.SearchOrderByStars
- case "mostforks":
- orderBy = models.SearchOrderByForksReverse
- case "fewestforks":
- orderBy = models.SearchOrderByForks
- default:
- ctx.Data["SortType"] = "recentupdate"
- orderBy = models.SearchOrderByRecentUpdated
- }
-
- keyword := strings.Trim(ctx.Query("q"), " ")
- ctx.Data["Keyword"] = keyword
-
- page := ctx.QueryInt("page")
- if page <= 0 {
- page = 1
- }
-
- var (
- repos []*models.Repository
- count int64
- err error
- )
- repos, count, err = models.SearchRepository(&models.SearchRepoOptions{
- Keyword: keyword,
- OwnerID: org.ID,
- OrderBy: orderBy,
- Private: ctx.IsSigned,
- UserIsAdmin: ctx.IsUserSiteAdmin(),
- UserID: ctx.Data["SignedUserID"].(int64),
- Page: page,
- IsProfile: true,
- PageSize: setting.UI.User.RepoPagingNum,
- IncludeDescription: setting.UI.SearchRepoDescription,
- })
- if err != nil {
- ctx.ServerError("SearchRepository", err)
- return
- }
-
- var opts = models.FindOrgMembersOpts{
- OrgID: org.ID,
- PublicOnly: true,
- Limit: 25,
- }
-
- if ctx.User != nil {
- isMember, err := org.IsOrgMember(ctx.User.ID)
- if err != nil {
- ctx.Error(500, "IsOrgMember")
- return
- }
- opts.PublicOnly = !isMember
- }
-
- members, _, err := models.FindOrgMembers(opts)
- if err != nil {
- ctx.ServerError("FindOrgMembers", err)
- return
- }
-
- membersCount, err := models.CountOrgMembers(opts)
- if err != nil {
- ctx.ServerError("CountOrgMembers", err)
- return
- }
-
- ctx.Data["Repos"] = repos
- ctx.Data["Total"] = count
- ctx.Data["MembersTotal"] = membersCount
- ctx.Data["Members"] = members
- ctx.Data["Teams"] = org.Teams
-
- pager := context.NewPagination(int(count), setting.UI.User.RepoPagingNum, page, 5)
- pager.SetDefaultParams(ctx)
- ctx.Data["Page"] = pager
-
- ctx.HTML(200, tplOrgHome)
-}
-
// Email2User show user page via email
func Email2User(ctx *context.Context) {
u, err := models.GetUserByEmail(ctx.Query("email"))
diff --git a/routers/user/profile.go b/routers/user/profile.go
index 8a62ddeac0..90e832b530 100644
--- a/routers/user/profile.go
+++ b/routers/user/profile.go
@@ -15,6 +15,7 @@ import (
"code.gitea.io/gitea/modules/context"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/util"
+ "code.gitea.io/gitea/routers/org"
"code.gitea.io/gitea/routers/repo"
)
@@ -83,7 +84,7 @@ func Profile(ctx *context.Context) {
}
if ctxUser.IsOrganization() {
- showOrgProfile(ctx)
+ org.Home(ctx)
return
}