mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 00:20:25 +08:00 
			
		
		
		
	Respect DefaultUserIsRestricted system default when creating new user (#19310)
* Apply DefaultUserIsRestricted in CreateUser * Enforce system defaults in CreateUser Allow for overwrites with CreateUserOverwriteOptions * Fix compilation errors * Add "restricted" option to create user command * Add "restricted" option to create user admin api * Respect default setting.Service.RegisterEmailConfirm and setting.Service.RegisterManualConfirm where needed * Revert "Respect default setting.Service.RegisterEmailConfirm and setting.Service.RegisterManualConfirm where needed" This reverts commit ee95d3e8dc9e9fff4fa66a5111e4d3930280e033.
This commit is contained in:
		@@ -22,6 +22,7 @@ import (
 | 
			
		||||
	"code.gitea.io/gitea/modules/password"
 | 
			
		||||
	"code.gitea.io/gitea/modules/setting"
 | 
			
		||||
	api "code.gitea.io/gitea/modules/structs"
 | 
			
		||||
	"code.gitea.io/gitea/modules/util"
 | 
			
		||||
	"code.gitea.io/gitea/modules/web"
 | 
			
		||||
	"code.gitea.io/gitea/routers/api/v1/user"
 | 
			
		||||
	"code.gitea.io/gitea/routers/api/v1/utils"
 | 
			
		||||
@@ -82,7 +83,6 @@ func CreateUser(ctx *context.APIContext) {
 | 
			
		||||
		Email:              form.Email,
 | 
			
		||||
		Passwd:             form.Password,
 | 
			
		||||
		MustChangePassword: true,
 | 
			
		||||
		IsActive:           true,
 | 
			
		||||
		LoginType:          auth.Plain,
 | 
			
		||||
	}
 | 
			
		||||
	if form.MustChangePassword != nil {
 | 
			
		||||
@@ -108,11 +108,17 @@ func CreateUser(ctx *context.APIContext) {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var overwriteDefault *user_model.CreateUserOverwriteOptions
 | 
			
		||||
	overwriteDefault := &user_model.CreateUserOverwriteOptions{
 | 
			
		||||
		IsActive: util.OptionalBoolTrue,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if form.Restricted != nil {
 | 
			
		||||
		overwriteDefault.IsRestricted = util.OptionalBoolOf(*form.Restricted)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if form.Visibility != "" {
 | 
			
		||||
		overwriteDefault = &user_model.CreateUserOverwriteOptions{
 | 
			
		||||
			Visibility: api.VisibilityModes[form.Visibility],
 | 
			
		||||
		}
 | 
			
		||||
		visibility := api.VisibilityModes[form.Visibility]
 | 
			
		||||
		overwriteDefault.Visibility = &visibility
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := user_model.CreateUser(u, overwriteDefault); err != nil {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user