Skip to content

Commit e9b984e

Browse files
authored
fix bug when users have serval teams with different units on different repositories (#5307) (#5308)
1 parent 5995b65 commit e9b984e

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

models/org_team.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -525,6 +525,16 @@ func getUserTeams(e Engine, orgID, userID int64) (teams []*Team, err error) {
525525
Find(&teams)
526526
}
527527

528+
func getUserRepoTeams(e Engine, orgID, userID, repoID int64) (teams []*Team, err error) {
529+
return teams, e.
530+
Join("INNER", "team_user", "team_user.team_id = team.id").
531+
Join("INNER", "team_repo", "team_repo.team_id = team.id").
532+
Where("team.org_id = ?", orgID).
533+
And("team_user.uid=?", userID).
534+
And("team_repo.repo_id=?", repoID).
535+
Find(&teams)
536+
}
537+
528538
// GetUserTeams returns all teams that user belongs to in given organization.
529539
func GetUserTeams(orgID, userID int64) ([]*Team, error) {
530540
return getUserTeams(x, orgID, userID)

models/repo.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ func (repo *Repository) getUnitsByUserID(e Engine, userID int64, isAdmin bool) (
364364
return nil
365365
}
366366

367-
teams, err := getUserTeams(e, repo.OwnerID, userID)
367+
teams, err := getUserRepoTeams(e, repo.OwnerID, userID, repo.ID)
368368
if err != nil {
369369
return err
370370
}

0 commit comments

Comments
 (0)