From 8ea95f6e1b71360ed320873bc391f1fdd2382554 Mon Sep 17 00:00:00 2001 From: David Schneiderbauer Date: Thu, 24 May 2018 15:04:15 +0200 Subject: [PATCH] further improvements --- models/access_test.go | 4 ++++ models/user.go | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/models/access_test.go b/models/access_test.go index 6031ef557..46d6f723e 100644 --- a/models/access_test.go +++ b/models/access_test.go @@ -24,8 +24,10 @@ func TestAccessLevel(t *testing.T) { user2 := AssertExistsAndLoadBean(t, &User{ID: 5}).(*User) // A public repository owned by User 2 repo1 := AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) + assert.False(t, repo1.IsPrivate) // A private repository owned by Org 3 repo2 := AssertExistsAndLoadBean(t, &Repository{ID: 3}).(*Repository) + assert.True(t, repo2.IsPrivate) level, err := AccessLevel(user1.ID, repo1) assert.NoError(t, err) @@ -51,8 +53,10 @@ func TestHasAccess(t *testing.T) { user2 := AssertExistsAndLoadBean(t, &User{ID: 5}).(*User) // A public repository owned by User 2 repo1 := AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) + assert.False(t, repo1.IsPrivate) // A private repository owned by Org 3 repo2 := AssertExistsAndLoadBean(t, &Repository{ID: 3}).(*Repository) + assert.True(t, repo2.IsPrivate) for _, accessMode := range accessModes { has, err := HasAccess(user1.ID, repo1, accessMode) diff --git a/models/user.go b/models/user.go index 27a30d4b2..33c0658bc 100644 --- a/models/user.go +++ b/models/user.go @@ -558,7 +558,7 @@ func (u *User) GetOrgRepositoryIDs() ([]int64, error) { return ids, x.Table("repository"). Cols("repository.id"). Join("INNER", "team_user", "repository.owner_id = team_user.org_id"). - Join("INNER", "team_repo", "(team_user.team_id = team_repo.team_id AND repository.id = team_repo.repo_id) OR repository.is_private != ?", true). + Join("INNER", "team_repo", "repository.is_private != ? OR (team_user.team_id = team_repo.team_id AND repository.id = team_repo.repo_id)", true). Where("team_user.uid = ?", u.ID). GroupBy("repository.id").Find(&ids) }