From 962725cdbbe954e15b480b2ea1f418a981a7ffe3 Mon Sep 17 00:00:00 2001 From: Gusted Date: Sat, 26 Feb 2022 20:12:01 +0000 Subject: [PATCH] Allow adminstrator teams members to see other teams (#18918) * Allow adminstrator teams to see other teams - Allow team members with adminstrator access, to view other teams. - Resolves #18885 --- modules/context/org.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/modules/context/org.go b/modules/context/org.go index 585a5fd762c6..824f22b2f330 100644 --- a/modules/context/org.go +++ b/modules/context/org.go @@ -129,7 +129,23 @@ func HandleOrgAssignment(ctx *Context, args ...bool) { // Team. if ctx.Org.IsMember { + shouldSeeAllTeams := false if ctx.Org.IsOwner { + shouldSeeAllTeams = true + } else { + teams, err := org.GetUserTeams(ctx.User.ID) + if err != nil { + ctx.ServerError("GetUserTeams", err) + return + } + for _, team := range teams { + if team.IncludesAllRepositories && team.AccessMode >= perm.AccessModeAdmin { + shouldSeeAllTeams = true + break + } + } + } + if shouldSeeAllTeams { ctx.Org.Teams, err = org.LoadTeams() if err != nil { ctx.ServerError("LoadTeams", err)