Fix #6234 : Check organization visibility before everything else (#6235)

* Fix #6234 : Check organization visibility before everything else

* Ensure that Owner is available in the Repo
release/v1.15
Zsombor 2019-03-05 21:15:24 +01:00 committed by techknowlogick
parent b257e0456b
commit f80caa5a8c
1 changed files with 11 additions and 0 deletions

View File

@ -212,6 +212,17 @@ func RedirectToRepo(ctx *Context, redirectRepoID int64) {
func repoAssignment(ctx *Context, repo *models.Repository) {
var err error
if err = repo.GetOwner(); err != nil {
ctx.ServerError("GetOwner", err)
return
}
if repo.Owner.IsOrganization() {
if !models.HasOrgVisible(repo.Owner, ctx.User) {
ctx.NotFound("HasOrgVisible", nil)
return
}
}
ctx.Repo.Permission, err = models.GetUserRepoPermission(repo, ctx.User)
if err != nil {
ctx.ServerError("GetUserRepoPermission", err)