mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-26 12:27:06 +00:00 
			
		
		
		
	Display all user types and org types on admin management UI (#27050)
Follow #24026 <img width="1049" alt="图片" src="https://github.com/go-gitea/gitea/assets/81045/d3fc5159-b5e7-411a-b6f8-4a111a027e6b"> --------- Co-authored-by: delvh <dev.lh@web.de>
This commit is contained in:
		| @@ -34,12 +34,26 @@ type SearchUserOptions struct { | ||||
| 	IsRestricted       util.OptionalBool | ||||
| 	IsTwoFactorEnabled util.OptionalBool | ||||
| 	IsProhibitLogin    util.OptionalBool | ||||
| 	IncludeReserved    bool | ||||
|  | ||||
| 	ExtraParamStrings map[string]string | ||||
| } | ||||
|  | ||||
| func (opts *SearchUserOptions) toSearchQueryBase() *xorm.Session { | ||||
| 	var cond builder.Cond = builder.Eq{"type": opts.Type} | ||||
| 	var cond builder.Cond | ||||
| 	cond = builder.Eq{"type": opts.Type} | ||||
| 	if opts.IncludeReserved { | ||||
| 		if opts.Type == UserTypeIndividual { | ||||
| 			cond = cond.Or(builder.Eq{"type": UserTypeUserReserved}).Or( | ||||
| 				builder.Eq{"type": UserTypeBot}, | ||||
| 			).Or( | ||||
| 				builder.Eq{"type": UserTypeRemoteUser}, | ||||
| 			) | ||||
| 		} else if opts.Type == UserTypeOrganization { | ||||
| 			cond = cond.Or(builder.Eq{"type": UserTypeOrganizationReserved}) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if len(opts.Keyword) > 0 { | ||||
| 		lowerKeyword := strings.ToLower(opts.Keyword) | ||||
| 		keywordCond := builder.Or( | ||||
|   | ||||
| @@ -2780,6 +2780,9 @@ users.full_name = Full Name | ||||
| users.activated = Activated | ||||
| users.admin = Admin | ||||
| users.restricted = Restricted | ||||
| users.reserved = Reserved | ||||
| users.bot = Bot | ||||
| users.remote = Remote | ||||
| users.2fa = 2FA | ||||
| users.repos = Repos | ||||
| users.created = Created | ||||
|   | ||||
| @@ -28,8 +28,9 @@ func Organizations(ctx *context.Context) { | ||||
| 	} | ||||
|  | ||||
| 	explore.RenderUserSearch(ctx, &user_model.SearchUserOptions{ | ||||
| 		Actor: ctx.Doer, | ||||
| 		Type:  user_model.UserTypeOrganization, | ||||
| 		Actor:           ctx.Doer, | ||||
| 		Type:            user_model.UserTypeOrganization, | ||||
| 		IncludeReserved: true, // administrator needs to list all acounts include reserved | ||||
| 		ListOptions: db.ListOptions{ | ||||
| 			PageSize: setting.UI.Admin.OrgPagingNum, | ||||
| 		}, | ||||
|   | ||||
| @@ -77,6 +77,7 @@ func Users(ctx *context.Context) { | ||||
| 		IsRestricted:       util.OptionalBoolParse(statusFilterMap["is_restricted"]), | ||||
| 		IsTwoFactorEnabled: util.OptionalBoolParse(statusFilterMap["is_2fa_enabled"]), | ||||
| 		IsProhibitLogin:    util.OptionalBoolParse(statusFilterMap["is_prohibit_login"]), | ||||
| 		IncludeReserved:    true, // administrator needs to list all acounts include reserved, bot, remote ones | ||||
| 		ExtraParamStrings:  extraParamStrings, | ||||
| 	}, tplUsers) | ||||
| } | ||||
|   | ||||
| @@ -37,6 +37,9 @@ | ||||
| 								{{if .Visibility.IsPrivate}} | ||||
| 									<span class="text gold">{{svg "octicon-lock"}}</span> | ||||
| 								{{end}} | ||||
| 								{{if eq .Type 3}}{{/* Reserved organization */}} | ||||
| 									<span class="ui mini label">{{$.locale.Tr "admin.users.reserved"}}</span> | ||||
| 								{{end}} | ||||
| 							</td> | ||||
| 							<td>{{.NumTeams}}</td> | ||||
| 							<td>{{.NumMembers}}</td> | ||||
|   | ||||
| @@ -84,7 +84,13 @@ | ||||
| 							<td> | ||||
| 								<a href="{{$.Link}}/{{.ID}}">{{.Name}}</a> | ||||
| 								{{if .IsAdmin}} | ||||
| 									<span class="ui basic label">{{$.locale.Tr "admin.users.admin"}}</span> | ||||
| 									<span class="ui mini label">{{$.locale.Tr "admin.users.admin"}}</span> | ||||
| 								{{else if eq 2 .Type}}{{/* Reserved user */}} | ||||
| 									<span class="ui mini label">{{$.locale.Tr "admin.users.reserved"}}</span> | ||||
| 								{{else if eq 4 .Type}}{{/* Bot "user" */}} | ||||
| 									<span class="ui mini label">{{$.locale.Tr "admin.users.bot"}}</span> | ||||
| 								{{else if eq 5 .Type}}{{/* Remote user */}} | ||||
| 									<span class="ui mini label">{{$.locale.Tr "admin.users.remote"}}</span> | ||||
| 								{{end}} | ||||
| 							</td> | ||||
| 							<td class="gt-ellipsis gt-max-width-12rem">{{.Email}}</td> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Lunny Xiao
					Lunny Xiao