Skip to content

Commit

Permalink
fix bug when update owner team then visit team's repo return 404 (#6119
Browse files Browse the repository at this point in the history
…) (#6166)
  • Loading branch information
lunny authored and techknowlogick committed Feb 23, 2019
1 parent 12d8834 commit 585dd13
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 2 deletions.
9 changes: 9 additions & 0 deletions models/repo_permission.go
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,15 @@ func getUserRepoPermission(e Engine, repo *Repository, user *User) (perm Permiss
return
}

// if user in an owner team
for _, team := range teams {
if team.Authorize >= AccessModeOwner {
perm.AccessMode = AccessModeOwner
perm.UnitsMode = nil
return
}
}

for _, u := range repo.Units {
var found bool
for _, team := range teams {
Expand Down
11 changes: 11 additions & 0 deletions models/repo_permission_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,17 @@ func TestRepoPermissionPrivateOrgRepo(t *testing.T) {
assert.True(t, perm.CanWrite(unit.Type))
}

// update team information and then check permission
team := AssertExistsAndLoadBean(t, &Team{ID: 5}).(*Team)
err = UpdateTeamUnits(team, nil)
assert.NoError(t, err)
perm, err = GetUserRepoPermission(repo, owner)
assert.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.True(t, perm.CanWrite(unit.Type))
}

// org member team tester
tester := AssertExistsAndLoadBean(t, &User{ID: 2}).(*User)
perm, err = GetUserRepoPermission(repo, tester)
Expand Down
2 changes: 0 additions & 2 deletions routers/org/teams.go
Original file line number Diff line number Diff line change
Expand Up @@ -288,8 +288,6 @@ func EditTeamPost(ctx *context.Context, form auth.CreateTeamForm) {
})
}
models.UpdateTeamUnits(t, units)
} else {
models.UpdateTeamUnits(t, nil)
}

if ctx.HasError() {
Expand Down

0 comments on commit 585dd13

Please sign in to comment.