Skip to content

Commit 78c0ad7

Browse files
committed
Merge branch 'refactor-of-32211' into limit-org-member-view-of-restricted-users
2 parents 518da00 + aed72f4 commit 78c0ad7

File tree

2 files changed

+34
-26
lines changed

2 files changed

+34
-26
lines changed

models/organization/org.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ type FindOrgMembersOpts struct {
203203
}
204204

205205
func (opts FindOrgMembersOpts) PublicOnly() bool {
206-
return opts.Doer == nil || !opts.IsMember && !opts.Doer.IsAdmin
206+
return opts.Doer == nil || !(opts.IsMember || opts.Doer.IsAdmin)
207207
}
208208

209209
func (opts FindOrgMembersOpts) addTeamMatesOnlyFilter(ctx context.Context, sess *xorm.Session) error {
@@ -677,11 +677,11 @@ func (org *Organization) getUserTeamIDs(ctx context.Context, userID int64) ([]in
677677
return teamIDs, db.GetEngine(ctx).
678678
Table("team").
679679
Cols("team.id").
680-
Where(builder.In("team.id", userTeamIDbuilder(org.ID, userID))).
680+
Where(builder.In("team.id", getUserTeamIDsQueryBuilder(org.ID, userID))).
681681
Find(&teamIDs)
682682
}
683683

684-
func userTeamIDbuilder(orgID, userID int64) *builder.Builder {
684+
func getUserTeamIDsQueryBuilder(orgID, userID int64) *builder.Builder {
685685
return builder.Select("team.id").From("team").
686686
InnerJoin("team_user", "team_user.team_id = team.id").
687687
Where(builder.Eq{

models/organization/org_test.go

Lines changed: 31 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
package organization_test
55

66
import (
7+
"sort"
78
"testing"
89

910
"code.gitea.io/gitea/models/db"
@@ -210,31 +211,38 @@ func TestFindOrgs(t *testing.T) {
210211
func TestGetOrgUsersByOrgID(t *testing.T) {
211212
assert.NoError(t, unittest.PrepareTestDatabase())
212213

213-
orgUsers, err := organization.GetOrgUsersByOrgID(db.DefaultContext, &organization.FindOrgMembersOpts{
214-
ListOptions: db.ListOptions{},
215-
OrgID: 3,
214+
opts := &organization.FindOrgMembersOpts{
215+
Doer: &user_model.User{IsAdmin: true},
216+
OrgID: 3,
217+
}
218+
assert.False(t, opts.PublicOnly())
219+
orgUsers, err := organization.GetOrgUsersByOrgID(db.DefaultContext, opts)
220+
assert.NoError(t, err)
221+
sort.Slice(orgUsers, func(i, j int) bool {
222+
return orgUsers[i].ID < orgUsers[j].ID
216223
})
224+
assert.EqualValues(t, []*organization.OrgUser{{
225+
ID: 1,
226+
OrgID: 3,
227+
UID: 2,
228+
IsPublic: true,
229+
}, {
230+
ID: 2,
231+
OrgID: 3,
232+
UID: 4,
233+
IsPublic: false,
234+
}, {
235+
ID: 9,
236+
OrgID: 3,
237+
UID: 28,
238+
IsPublic: true,
239+
}}, orgUsers)
240+
241+
opts = &organization.FindOrgMembersOpts{OrgID: 3}
242+
assert.True(t, opts.PublicOnly())
243+
orgUsers, err = organization.GetOrgUsersByOrgID(db.DefaultContext, opts)
217244
assert.NoError(t, err)
218-
if assert.Len(t, orgUsers, 3) {
219-
assert.Equal(t, organization.OrgUser{
220-
ID: orgUsers[0].ID,
221-
OrgID: 3,
222-
UID: 2,
223-
IsPublic: true,
224-
}, *orgUsers[0])
225-
assert.Equal(t, organization.OrgUser{
226-
ID: orgUsers[1].ID,
227-
OrgID: 3,
228-
UID: 4,
229-
IsPublic: false,
230-
}, *orgUsers[1])
231-
assert.Equal(t, organization.OrgUser{
232-
ID: orgUsers[2].ID,
233-
OrgID: 3,
234-
UID: 28,
235-
IsPublic: true,
236-
}, *orgUsers[2])
237-
}
245+
assert.Len(t, orgUsers, 2)
238246

239247
orgUsers, err = organization.GetOrgUsersByOrgID(db.DefaultContext, &organization.FindOrgMembersOpts{
240248
ListOptions: db.ListOptions{},

0 commit comments

Comments
 (0)