Skip to content

Commit 7f8028e

Browse files
yp05327delvhGiteaBot
authored
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 <[email protected]> Co-authored-by: Giteabot <[email protected]>
1 parent 27e4ac3 commit 7f8028e

File tree

4 files changed

+37
-35
lines changed

4 files changed

+37
-35
lines changed

modules/context/org.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ type Organization struct {
2424
Organization *organization.Organization
2525
OrgLink string
2626
CanCreateOrgRepo bool
27+
PublicMemberOnly bool // Only display public members
2728

2829
Team *organization.Team
2930
Teams []*organization.Team
@@ -172,6 +173,18 @@ func HandleOrgAssignment(ctx *Context, args ...bool) {
172173
ctx.Org.OrgLink = org.AsUser().OrganisationLink()
173174
ctx.Data["OrgLink"] = ctx.Org.OrgLink
174175

176+
// Member
177+
ctx.Org.PublicMemberOnly = ctx.Doer == nil || !ctx.Org.IsMember && !ctx.Doer.IsAdmin
178+
opts := &organization.FindOrgMembersOpts{
179+
OrgID: org.ID,
180+
PublicOnly: ctx.Org.PublicMemberOnly,
181+
}
182+
ctx.Data["NumMembers"], err = organization.CountOrgMembers(opts)
183+
if err != nil {
184+
ctx.ServerError("CountOrgMembers", err)
185+
return
186+
}
187+
175188
// Team.
176189
if ctx.Org.IsMember {
177190
shouldSeeAllTeams := false
@@ -203,6 +216,7 @@ func HandleOrgAssignment(ctx *Context, args ...bool) {
203216
return
204217
}
205218
}
219+
ctx.Data["NumTeams"] = len(ctx.Org.Teams)
206220
}
207221

208222
teamName := ctx.Params(":team")

routers/web/org/home.go

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -120,39 +120,22 @@ func Home(ctx *context.Context) {
120120

121121
opts := &organization.FindOrgMembersOpts{
122122
OrgID: org.ID,
123-
PublicOnly: true,
123+
PublicOnly: ctx.Org.PublicMemberOnly,
124124
ListOptions: db.ListOptions{Page: 1, PageSize: 25},
125125
}
126-
127-
if ctx.Doer != nil {
128-
isMember, err := org.IsOrgMember(ctx.Doer.ID)
129-
if err != nil {
130-
ctx.Error(http.StatusInternalServerError, "IsOrgMember")
131-
return
132-
}
133-
opts.PublicOnly = !isMember && !ctx.Doer.IsAdmin
134-
}
135-
136126
members, _, err := organization.FindOrgMembers(opts)
137127
if err != nil {
138128
ctx.ServerError("FindOrgMembers", err)
139129
return
140130
}
141131

142-
membersCount, err := organization.CountOrgMembers(opts)
143-
if err != nil {
144-
ctx.ServerError("CountOrgMembers", err)
145-
return
146-
}
147-
148132
var isFollowing bool
149133
if ctx.Doer != nil {
150134
isFollowing = user_model.IsFollowing(ctx.Doer.ID, ctx.ContextUser.ID)
151135
}
152136

153137
ctx.Data["Repos"] = repos
154138
ctx.Data["Total"] = count
155-
ctx.Data["MembersTotal"] = membersCount
156139
ctx.Data["Members"] = members
157140
ctx.Data["Teams"] = ctx.Org.Teams
158141
ctx.Data["DisableNewPullMirrors"] = setting.Mirror.DisableNewPull
@@ -171,5 +154,7 @@ func Home(ctx *context.Context) {
171154
ctx.Data["Page"] = pager
172155
ctx.Data["ContextUser"] = ctx.ContextUser
173156

157+
ctx.Data["ShowMemberAndTeamTab"] = ctx.Org.IsMember || len(members) > 0
158+
174159
ctx.HTML(http.StatusOK, tplOrgHome)
175160
}

templates/org/home.tmpl

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,13 @@
3737

3838
<div class="ui container">
3939
<div class="ui mobile reversed stackable grid">
40-
<div class="ui eleven wide column">
40+
<div class="ui {{if .ShowMemberAndTeamTab}}eleven wide{{end}} column">
4141
{{template "explore/repo_search" .}}
4242
{{template "explore/repo_list" .}}
4343
{{template "base/paginate" .}}
4444
</div>
4545

46+
{{if .ShowMemberAndTeamTab}}
4647
<div class="ui five wide column">
4748
{{if .CanCreateOrgRepo}}
4849
<div class="center aligned">
@@ -53,19 +54,20 @@
5354
</div>
5455
<div class="divider"></div>
5556
{{end}}
56-
<h4 class="ui top attached header gt-df">
57-
<strong class="gt-f1">{{.locale.Tr "org.members"}}</strong>
58-
<a class="text grey gt-dif gt-ac" href="{{.OrgLink}}/members"><span>{{.MembersTotal}}</span> {{svg "octicon-chevron-right"}}</a>
59-
</h4>
60-
<div class="ui attached segment members">
61-
{{$isMember := .IsOrganizationMember}}
62-
{{range .Members}}
63-
{{if or $isMember (call $.IsPublicMember .ID)}}
64-
<a href="{{.HomeLink}}" title="{{.Name}}{{if .FullName}} ({{.FullName}}){{end}}">{{ctx.AvatarUtils.Avatar . 48}}</a>
57+
{{if .NumMembers}}
58+
<h4 class="ui top attached header gt-df">
59+
<strong class="gt-f1">{{.locale.Tr "org.members"}}</strong>
60+
<a class="text grey gt-dif gt-ac" href="{{.OrgLink}}/members"><span>{{.NumMembers}}</span> {{svg "octicon-chevron-right"}}</a>
61+
</h4>
62+
<div class="ui attached segment members">
63+
{{$isMember := .IsOrganizationMember}}
64+
{{range .Members}}
65+
{{if or $isMember (call $.IsPublicMember .ID)}}
66+
<a href="{{.HomeLink}}" title="{{.Name}}{{if .FullName}} ({{.FullName}}){{end}}">{{ctx.AvatarUtils.Avatar . 48}}</a>
67+
{{end}}
6568
{{end}}
66-
{{end}}
67-
</div>
68-
69+
</div>
70+
{{end}}
6971
{{if .IsOrganizationMember}}
7072
<div class="ui top attached header gt-df">
7173
<strong class="gt-f1">{{.locale.Tr "org.teams"}}</strong>
@@ -89,6 +91,7 @@
8991
{{end}}
9092
{{end}}
9193
</div>
94+
{{end}}
9295
</div>
9396
</div>
9497
</div>

templates/org/menu.tmpl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@
2121
{{svg "octicon-code"}}&nbsp;{{$.locale.Tr "org.code"}}
2222
</a>
2323
{{end}}
24-
{{if .IsOrganizationMember}}
24+
{{if .NumMembers}}
2525
<a class="{{if $.PageIsOrgMembers}}active {{end}}item" href="{{$.OrgLink}}/members">
2626
{{svg "octicon-person"}}&nbsp;{{$.locale.Tr "org.members"}}
27-
{{if .NumMembers}}
28-
<div class="ui small label">{{.NumMembers}}</div>
29-
{{end}}
27+
<div class="ui small label">{{.NumMembers}}</div>
3028
</a>
29+
{{end}}
30+
{{if .IsOrganizationMember}}
3131
<a class="{{if $.PageIsOrgTeams}}active {{end}}item" href="{{$.OrgLink}}/teams">
3232
{{svg "octicon-people"}}&nbsp;{{$.locale.Tr "org.teams"}}
3333
{{if .NumTeams}}

0 commit comments

Comments
 (0)