mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00:00 
			
		
		
		
	add permission check for `GenerateRepository` (#15946)
				
					
				
			Signed-off-by: a1012112796 <1012112796@qq.com> Co-authored-by: techknowlogick <techknowlogick@gitea.io> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
		@@ -13,6 +13,12 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// GenerateRepository generates a repository from a template
 | 
					// GenerateRepository generates a repository from a template
 | 
				
			||||||
func GenerateRepository(doer, owner *models.User, templateRepo *models.Repository, opts models.GenerateRepoOptions) (_ *models.Repository, err error) {
 | 
					func GenerateRepository(doer, owner *models.User, templateRepo *models.Repository, opts models.GenerateRepoOptions) (_ *models.Repository, err error) {
 | 
				
			||||||
 | 
						if !doer.IsAdmin && !owner.CanCreateRepo() {
 | 
				
			||||||
 | 
							return nil, models.ErrReachLimitOfRepo{
 | 
				
			||||||
 | 
								Limit: owner.MaxRepoCreation,
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	var generateRepo *models.Repository
 | 
						var generateRepo *models.Repository
 | 
				
			||||||
	if err = models.WithTx(func(ctx models.DBContext) error {
 | 
						if err = models.WithTx(func(ctx models.DBContext) error {
 | 
				
			||||||
		generateRepo, err = repo_module.GenerateRepository(ctx, doer, owner, templateRepo, opts)
 | 
							generateRepo, err = repo_module.GenerateRepository(ctx, doer, owner, templateRepo, opts)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user