From d13939a39f1b580b5657b2e021c9cd6aedf4df5e Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 8 Aug 2018 22:58:59 +0800 Subject: [PATCH 1/2] site admin could create repos even MAX_CREATION_LIMIT=0 --- models/repo.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/models/repo.go b/models/repo.go index 3c4908b0d847e..7c962a0fe1d15 100644 --- a/models/repo.go +++ b/models/repo.go @@ -1411,8 +1411,10 @@ func createRepository(e *xorm.Session, doer, u *User, repo *Repository) (err err // CreateRepository creates a repository for the user/organization u. func CreateRepository(doer, u *User, opts CreateRepoOptions) (_ *Repository, err error) { - if !u.CanCreateRepo() { - return nil, ErrReachLimitOfRepo{u.MaxRepoCreation} + if !doer.IsAdmin { + if !u.CanCreateRepo() { + return nil, ErrReachLimitOfRepo{u.MaxRepoCreation} + } } repo := &Repository{ From 0d7122ab9d219a3569475f669e04c1a0708aae5f Mon Sep 17 00:00:00 2001 From: Lauris BH Date: Thu, 9 Aug 2018 00:40:08 +0300 Subject: [PATCH 2/2] Optimize if structure --- models/repo.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/models/repo.go b/models/repo.go index 7c962a0fe1d15..25f70bf1a1493 100644 --- a/models/repo.go +++ b/models/repo.go @@ -1411,10 +1411,8 @@ func createRepository(e *xorm.Session, doer, u *User, repo *Repository) (err err // CreateRepository creates a repository for the user/organization u. func CreateRepository(doer, u *User, opts CreateRepoOptions) (_ *Repository, err error) { - if !doer.IsAdmin { - if !u.CanCreateRepo() { - return nil, ErrReachLimitOfRepo{u.MaxRepoCreation} - } + if !doer.IsAdmin && !u.CanCreateRepo() { + return nil, ErrReachLimitOfRepo{u.MaxRepoCreation} } repo := &Repository{