diff options
Diffstat (limited to 'models/branches.go')
-rw-r--r-- | models/branches.go | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/models/branches.go b/models/branches.go index 3de76a5cc1..bbcd342baa 100644 --- a/models/branches.go +++ b/models/branches.go @@ -243,10 +243,16 @@ func updateUserWhitelist(repo *Repository, currentWhitelist, newWhitelist []int6 whitelist = make([]int64, 0, len(newWhitelist)) for _, userID := range newWhitelist { - has, err := hasAccess(x, userID, repo, AccessModeWrite) + user, err := GetUserByID(userID) if err != nil { - return nil, fmt.Errorf("HasAccess [user_id: %d, repo_id: %d]: %v", userID, repo.ID, err) - } else if !has { + return nil, fmt.Errorf("GetUserByID [user_id: %d, repo_id: %d]: %v", userID, repo.ID, err) + } + perm, err := GetUserRepoPermission(repo, user) + if err != nil { + return nil, fmt.Errorf("GetUserRepoPermission [user_id: %d, repo_id: %d]: %v", userID, repo.ID, err) + } + + if !perm.CanWrite(UnitTypeCode) { continue // Drop invalid user ID } |