aboutsummaryrefslogtreecommitdiff
path: root/models/repo_branch.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/repo_branch.go')
-rw-r--r--models/repo_branch.go10
1 files changed, 6 insertions, 4 deletions
diff --git a/models/repo_branch.go b/models/repo_branch.go
index 77e1db7f..89684739 100644
--- a/models/repo_branch.go
+++ b/models/repo_branch.go
@@ -171,9 +171,9 @@ func UpdateOrgProtectBranch(repo *Repository, protectBranch *ProtectBranch, whit
if protectBranch.WhitelistTeamIDs != whitelistTeamIDs {
hasTeamsChanged = true
teamIDs := base.StringsToInt64s(strings.Split(whitelistTeamIDs, ","))
- teams, err := GetTeamsByOrgID(repo.OwnerID)
+ teams, err := GetTeamsHaveAccessToRepo(repo.OwnerID, repo.ID, ACCESS_MODE_WRITE)
if err != nil {
- return fmt.Errorf("GetTeamsByOrgID [org_id: %d]: %v", repo.OwnerID, err)
+ return fmt.Errorf("GetTeamsHaveAccessToRepo [org_id: %d, repo_id: %d]: %v", repo.OwnerID, repo.ID, err)
}
validTeamIDs = make([]int64, 0, len(teams))
for i := range teams {
@@ -190,7 +190,10 @@ func UpdateOrgProtectBranch(repo *Repository, protectBranch *ProtectBranch, whit
if hasUsersChanged || hasTeamsChanged {
mergedUserIDs := make(map[int64]bool)
for _, userID := range validUserIDs {
- mergedUserIDs[userID] = true
+ // Empty whitelist users can cause an ID with 0
+ if userID != 0 {
+ mergedUserIDs[userID] = true
+ }
}
for _, teamID := range validTeamIDs {
@@ -225,7 +228,6 @@ func UpdateOrgProtectBranch(repo *Repository, protectBranch *ProtectBranch, whit
if _, err = sess.Insert(protectBranch); err != nil {
return fmt.Errorf("Insert: %v", err)
}
- return
}
if _, err = sess.Id(protectBranch.ID).AllCols().Update(protectBranch); err != nil {