mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Add Visible modes function from Organisation to Users too (#16069)
You can limit or hide organisations. This pull make it also posible for users - new strings to translte - add checkbox to user profile form - add checkbox to admin user.edit form - filter explore page user search - filter api admin and public user searches - allow admins view "hidden" users - add app option DEFAULT_USER_VISIBILITY - rewrite many files to use Visibility field - check for teams intersection - fix context output - right fake 404 if not visible Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							19ac575d57
						
					
				
				
					commit
					22a0636544
				
			@@ -37,7 +37,8 @@ func Users(ctx *context.Context) {
 | 
			
		||||
	ctx.Data["PageIsAdminUsers"] = true
 | 
			
		||||
 | 
			
		||||
	explore.RenderUserSearch(ctx, &models.SearchUserOptions{
 | 
			
		||||
		Type: models.UserTypeIndividual,
 | 
			
		||||
		Actor: ctx.User,
 | 
			
		||||
		Type:  models.UserTypeIndividual,
 | 
			
		||||
		ListOptions: models.ListOptions{
 | 
			
		||||
			PageSize: setting.UI.Admin.UserPagingNum,
 | 
			
		||||
		},
 | 
			
		||||
@@ -50,6 +51,7 @@ func NewUser(ctx *context.Context) {
 | 
			
		||||
	ctx.Data["Title"] = ctx.Tr("admin.users.new_account")
 | 
			
		||||
	ctx.Data["PageIsAdmin"] = true
 | 
			
		||||
	ctx.Data["PageIsAdminUsers"] = true
 | 
			
		||||
	ctx.Data["DefaultUserVisibilityMode"] = setting.Service.DefaultUserVisibilityMode
 | 
			
		||||
 | 
			
		||||
	ctx.Data["login_type"] = "0-0"
 | 
			
		||||
 | 
			
		||||
@@ -70,6 +72,7 @@ func NewUserPost(ctx *context.Context) {
 | 
			
		||||
	ctx.Data["Title"] = ctx.Tr("admin.users.new_account")
 | 
			
		||||
	ctx.Data["PageIsAdmin"] = true
 | 
			
		||||
	ctx.Data["PageIsAdminUsers"] = true
 | 
			
		||||
	ctx.Data["DefaultUserVisibilityMode"] = setting.Service.DefaultUserVisibilityMode
 | 
			
		||||
 | 
			
		||||
	sources, err := models.LoginSources()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
@@ -126,7 +129,8 @@ func NewUserPost(ctx *context.Context) {
 | 
			
		||||
		}
 | 
			
		||||
		u.MustChangePassword = form.MustChangePassword
 | 
			
		||||
	}
 | 
			
		||||
	if err := models.CreateUser(u); err != nil {
 | 
			
		||||
 | 
			
		||||
	if err := models.CreateUser(u, &models.CreateUserOverwriteOptions{Visibility: form.Visibility}); err != nil {
 | 
			
		||||
		switch {
 | 
			
		||||
		case models.IsErrUserAlreadyExist(err):
 | 
			
		||||
			ctx.Data["Err_UserName"] = true
 | 
			
		||||
@@ -312,6 +316,8 @@ func EditUserPost(ctx *context.Context) {
 | 
			
		||||
	u.AllowImportLocal = form.AllowImportLocal
 | 
			
		||||
	u.AllowCreateOrganization = form.AllowCreateOrganization
 | 
			
		||||
 | 
			
		||||
	u.Visibility = form.Visibility
 | 
			
		||||
 | 
			
		||||
	// skip self Prohibit Login
 | 
			
		||||
	if ctx.User.ID == u.ID {
 | 
			
		||||
		u.ProhibitLogin = false
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user