Skip to content

Commit 77f7179

Browse files
committed
Revert "cleanup"
This reverts commit 4bcec1e.
1 parent fb83464 commit 77f7179

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

models/organization/org.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
"code.gitea.io/gitea/modules/util"
2323

2424
"xorm.io/builder"
25+
"xorm.io/xorm"
2526
)
2627

2728
// ________ .__ __ .__
@@ -205,12 +206,27 @@ func (opts FindOrgMembersOpts) PublicOnly() bool {
205206
return opts.Doer == nil || !opts.IsMember && !opts.Doer.IsAdmin
206207
}
207208

209+
func (opts FindOrgMembersOpts) addTeamMatesOnlyFilter(ctx context.Context, sess *xorm.Session) error {
210+
if opts.Doer != nil && opts.IsMember && opts.Doer.IsRestricted {
211+
teamMates := builder.Select("DISTINCT team_user.uid").
212+
From("team_user").
213+
Where(builder.In("team_user.team_id", userTeamIDbuilder(opts.OrgID, opts.Doer.ID))).
214+
And(builder.Eq{"team_user.org_id": opts.OrgID})
215+
216+
sess.In("org_user.uid", teamMates)
217+
}
218+
return nil
219+
}
220+
208221
// CountOrgMembers counts the organization's members
209222
func CountOrgMembers(ctx context.Context, opts *FindOrgMembersOpts) (int64, error) {
210223
sess := db.GetEngine(ctx).Where("org_id=?", opts.OrgID)
211224
if opts.PublicOnly() {
212225
sess.And("is_public = ?", true)
213226
}
227+
if err := opts.addTeamMatesOnlyFilter(ctx, sess); err != nil {
228+
return 0, err
229+
}
214230

215231
return sess.Count(new(OrgUser))
216232
}
@@ -535,6 +551,9 @@ func GetOrgUsersByOrgID(ctx context.Context, opts *FindOrgMembersOpts) ([]*OrgUs
535551
if opts.PublicOnly() {
536552
sess.And("is_public = ?", true)
537553
}
554+
if err := opts.addTeamMatesOnlyFilter(ctx, sess); err != nil {
555+
return nil, err
556+
}
538557

539558
if opts.ListOptions.PageSize > 0 {
540559
sess = db.SetSessionPagination(sess, opts)

0 commit comments

Comments
 (0)