summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Strzelecki <ono@java.pl>2015-11-28 22:31:06 +0100
committerAdam Strzelecki <ono@java.pl>2015-11-30 21:46:01 +0100
commite57b2dffa42e554810d9b3f027bd8c5e12ba7369 (patch)
tree848b72ca4cdd6b3cc4263551400b47619552b3a5
parentca96e04e5fafc179f2b0a5460754e0fb4fe9e2d8 (diff)
downloadgitea-e57b2dffa42e554810d9b3f027bd8c5e12ba7369.tar.gz
gitea-e57b2dffa42e554810d9b3f027bd8c5e12ba7369.zip
Admin should be able to see all organizations
This is follow-up for 56c66ee486b4b8d544201662de62a23f36e6a069 allowing admin to see private repositories, even when not being member of them.
-rw-r--r--modules/middleware/org.go8
-rw-r--r--routers/user/home.go2
-rw-r--r--templates/org/home.tmpl6
3 files changed, 11 insertions, 5 deletions
diff --git a/modules/middleware/org.go b/modules/middleware/org.go
index 29754bb929..37ba4deb1f 100644
--- a/modules/middleware/org.go
+++ b/modules/middleware/org.go
@@ -48,7 +48,12 @@ func HandleOrgAssignment(ctx *Context, args ...bool) {
return
}
- if ctx.IsSigned {
+ // Admin has super access.
+ if ctx.IsSigned && ctx.User.IsAdmin {
+ ctx.Org.IsOwner = true
+ ctx.Org.IsMember = true
+ ctx.Org.IsAdminTeam = true
+ } else if ctx.IsSigned {
ctx.Org.IsOwner = org.IsOwnedBy(ctx.User.Id)
if ctx.Org.IsOwner {
ctx.Org.IsMember = true
@@ -68,6 +73,7 @@ func HandleOrgAssignment(ctx *Context, args ...bool) {
return
}
ctx.Data["IsOrganizationOwner"] = ctx.Org.IsOwner
+ ctx.Data["IsOrganizationMember"] = ctx.Org.IsMember
ctx.Org.OrgLink = setting.AppSubUrl + "/org/" + org.Name
ctx.Data["OrgLink"] = ctx.Org.OrgLink
diff --git a/routers/user/home.go b/routers/user/home.go
index df567eaf2c..8b25d799f1 100644
--- a/routers/user/home.go
+++ b/routers/user/home.go
@@ -316,7 +316,7 @@ func showOrgProfile(ctx *middleware.Context) {
org := ctx.Org.Organization
ctx.Data["Title"] = org.FullName
- repos, err := models.GetRepositories(org.Id, ctx.IsSigned && org.IsOrgMember(ctx.User.Id))
+ repos, err := models.GetRepositories(org.Id, ctx.IsSigned && (ctx.User.IsAdmin || org.IsOrgMember(ctx.User.Id)))
if err != nil {
ctx.Handle(500, "GetRepositories", err)
return
diff --git a/templates/org/home.tmpl b/templates/org/home.tmpl
index f1e19e30dc..fdd494b19b 100644
--- a/templates/org/home.tmpl
+++ b/templates/org/home.tmpl
@@ -24,7 +24,6 @@
<div class="ui container">
<div class="ui grid">
- {{$isMember := .Org.IsOrgMember $.SignedUser.Id}}
<div class="ui eleven wide column">
{{if .IsOrganizationOwner}}
<div class="text right">
@@ -38,13 +37,14 @@
<div class="ui five wide column">
<h4 class="ui top attached header">
<strong>{{.i18n.Tr "org.people"}}</strong>
- {{if $isMember}}
+ {{if .IsOrganizationMember}}
<div class="ui right">
<a class="text grey" href="{{.OrgLink}}/members"><strong>{{.Org.NumMembers}}</strong><span class="octicon octicon-chevron-right"></span></a>
</div>
{{end}}
</h4>
<div class="ui attached segment members">
+ {{$isMember := .IsOrganizationMember}}
{{range .Members}}
{{if or $isMember (.IsPublicMember $.Org.Id)}}
<a href="{{.HomeLink}}" title="{{.Name}}"><img class="ui avatar" src="{{.AvatarLink}}"></a>
@@ -57,7 +57,7 @@
</div>
{{end}}
- {{if $isMember}}
+ {{if .IsOrganizationMember}}
<div class="ui top attached header">
<strong>{{.i18n.Tr "org.teams"}}</strong>
<div class="ui right">