aboutsummaryrefslogtreecommitdiffstats
path: root/modules/context
diff options
context:
space:
mode:
authoryp05327 <576951401@qq.com>2023-08-15 23:00:35 +0900
committerGitHub <noreply@github.com>2023-08-15 16:00:35 +0200
commit7f8028e5a1ee5e99ef491bf037a7171998322bd2 (patch)
tree19e1918400fa051b60c6ebbe3cca8357d5d92485 /modules/context
parent27e4ac3e40265722abf9f99d519cb5985eebd1c7 (diff)
downloadgitea-7f8028e5a1ee5e99ef491bf037a7171998322bd2.tar.gz
gitea-7f8028e5a1ee5e99ef491bf037a7171998322bd2.zip
Fix display problems of members and teams unit (#26363)
Fix: - display member count and team count in the menu bar ![image](https://github.com/go-gitea/gitea/assets/18380374/7f03ced4-67e2-41ce-b19f-a992823726bb) - Also display member unit in the menu bar if there are no hidden members in public org ![image](https://github.com/go-gitea/gitea/assets/18380374/31422ad6-7190-438d-8e99-8a4af9cce908) - hidden member board when there's no seeable members. In this org, we only have hidden members: ![image](https://github.com/go-gitea/gitea/assets/18380374/d749420b-554a-4483-8cd2-221df61b5ca7) We will hidden the member board when doer is not the member of this org ![image](https://github.com/go-gitea/gitea/assets/18380374/93bb782e-7d4d-4ad3-a096-133afbc51f8a) Before: ![image](https://github.com/go-gitea/gitea/assets/18380374/eafc0b3e-6218-42ab-a892-39645d08a5eb) If you click the number in the members board, you will access the members page, which is not expected. ![image](https://github.com/go-gitea/gitea/assets/18380374/73d6dadc-0ef2-4ca9-8485-c5f4211bffb2) --------- Co-authored-by: delvh <dev.lh@web.de> Co-authored-by: Giteabot <teabot@gitea.io>
Diffstat (limited to 'modules/context')
-rw-r--r--modules/context/org.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/modules/context/org.go b/modules/context/org.go
index 835c761372..2d7cf5185c 100644
--- a/modules/context/org.go
+++ b/modules/context/org.go
@@ -24,6 +24,7 @@ type Organization struct {
Organization *organization.Organization
OrgLink string
CanCreateOrgRepo bool
+ PublicMemberOnly bool // Only display public members
Team *organization.Team
Teams []*organization.Team
@@ -172,6 +173,18 @@ func HandleOrgAssignment(ctx *Context, args ...bool) {
ctx.Org.OrgLink = org.AsUser().OrganisationLink()
ctx.Data["OrgLink"] = ctx.Org.OrgLink
+ // Member
+ ctx.Org.PublicMemberOnly = ctx.Doer == nil || !ctx.Org.IsMember && !ctx.Doer.IsAdmin
+ opts := &organization.FindOrgMembersOpts{
+ OrgID: org.ID,
+ PublicOnly: ctx.Org.PublicMemberOnly,
+ }
+ ctx.Data["NumMembers"], err = organization.CountOrgMembers(opts)
+ if err != nil {
+ ctx.ServerError("CountOrgMembers", err)
+ return
+ }
+
// Team.
if ctx.Org.IsMember {
shouldSeeAllTeams := false
@@ -203,6 +216,7 @@ func HandleOrgAssignment(ctx *Context, args ...bool) {
return
}
}
+ ctx.Data["NumTeams"] = len(ctx.Org.Teams)
}
teamName := ctx.Params(":team")