From 46c6bc1874abe3203b319b4fcf504447ca67a2cb Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 13 Sep 2023 10:36:17 +0800 Subject: [PATCH 1/3] Display all user types and org types on admin management UI --- models/user/search.go | 16 +++++++++++++++- options/locale/locale_en-US.ini | 3 +++ routers/web/admin/orgs.go | 5 +++-- routers/web/admin/users.go | 1 + templates/admin/org/list.tmpl | 3 +++ templates/admin/user/list.tmpl | 6 ++++++ 6 files changed, 31 insertions(+), 3 deletions(-) diff --git a/models/user/search.go b/models/user/search.go index bf35fcd9eb664..446556f89b77d 100644 --- a/models/user/search.go +++ b/models/user/search.go @@ -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( diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 39da4be17900e..ad7d35127eb59 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -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 diff --git a/routers/web/admin/orgs.go b/routers/web/admin/orgs.go index d0fd0d5002507..ab44f8048bf13 100644 --- a/routers/web/admin/orgs.go +++ b/routers/web/admin/orgs.go @@ -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, }, diff --git a/routers/web/admin/users.go b/routers/web/admin/users.go index 47dff6e8520d8..03ffaf5f3f80f 100644 --- a/routers/web/admin/users.go +++ b/routers/web/admin/users.go @@ -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) } diff --git a/templates/admin/org/list.tmpl b/templates/admin/org/list.tmpl index a400dcbc86308..e98e9d27056eb 100644 --- a/templates/admin/org/list.tmpl +++ b/templates/admin/org/list.tmpl @@ -37,6 +37,9 @@ {{if .Visibility.IsPrivate}} {{svg "octicon-lock"}} {{end}} + {{if eq .Type 3}} + {{$.locale.Tr "admin.users.reserved"}} + {{end}} {{.NumTeams}} {{.NumMembers}} diff --git a/templates/admin/user/list.tmpl b/templates/admin/user/list.tmpl index b3e0caa16915b..cbdc23367499e 100644 --- a/templates/admin/user/list.tmpl +++ b/templates/admin/user/list.tmpl @@ -85,6 +85,12 @@ {{.Name}} {{if .IsAdmin}} {{$.locale.Tr "admin.users.admin"}} + {{else if eq 2 .Type}} + {{$.locale.Tr "admin.users.reserved"}} + {{else if eq 4 .Type}} + {{$.locale.Tr "admin.users.bot"}} + {{else if eq 5 .Type}} + {{$.locale.Tr "admin.users.remote"}} {{end}} {{.Email}} From 43d527b0c2de7b96b28cd549f5e5b791275afec2 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 13 Sep 2023 15:19:55 +0800 Subject: [PATCH 2/3] Use mini for user type label --- templates/admin/org/list.tmpl | 2 +- templates/admin/user/list.tmpl | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/templates/admin/org/list.tmpl b/templates/admin/org/list.tmpl index e98e9d27056eb..2eab2f2564b44 100644 --- a/templates/admin/org/list.tmpl +++ b/templates/admin/org/list.tmpl @@ -38,7 +38,7 @@ {{svg "octicon-lock"}} {{end}} {{if eq .Type 3}} - {{$.locale.Tr "admin.users.reserved"}} + {{$.locale.Tr "admin.users.reserved"}} {{end}} {{.NumTeams}} diff --git a/templates/admin/user/list.tmpl b/templates/admin/user/list.tmpl index cbdc23367499e..3991e35743447 100644 --- a/templates/admin/user/list.tmpl +++ b/templates/admin/user/list.tmpl @@ -84,13 +84,13 @@ {{.Name}} {{if .IsAdmin}} - {{$.locale.Tr "admin.users.admin"}} + {{$.locale.Tr "admin.users.admin"}} {{else if eq 2 .Type}} - {{$.locale.Tr "admin.users.reserved"}} + {{$.locale.Tr "admin.users.reserved"}} {{else if eq 4 .Type}} - {{$.locale.Tr "admin.users.bot"}} + {{$.locale.Tr "admin.users.bot"}} {{else if eq 5 .Type}} - {{$.locale.Tr "admin.users.remote"}} + {{$.locale.Tr "admin.users.remote"}} {{end}} {{.Email}} From 105b2543f3bd990799643f05a36303dac32e7710 Mon Sep 17 00:00:00 2001 From: techknowlogick Date: Wed, 13 Sep 2023 15:05:06 -0400 Subject: [PATCH 3/3] Apply suggestions from code review Co-authored-by: delvh --- templates/admin/org/list.tmpl | 2 +- templates/admin/user/list.tmpl | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/templates/admin/org/list.tmpl b/templates/admin/org/list.tmpl index 2eab2f2564b44..ac86e7606a687 100644 --- a/templates/admin/org/list.tmpl +++ b/templates/admin/org/list.tmpl @@ -37,7 +37,7 @@ {{if .Visibility.IsPrivate}} {{svg "octicon-lock"}} {{end}} - {{if eq .Type 3}} + {{if eq .Type 3}}{{/* Reserved organization */}} {{$.locale.Tr "admin.users.reserved"}} {{end}} diff --git a/templates/admin/user/list.tmpl b/templates/admin/user/list.tmpl index 3991e35743447..7334828533e67 100644 --- a/templates/admin/user/list.tmpl +++ b/templates/admin/user/list.tmpl @@ -85,11 +85,11 @@ {{.Name}} {{if .IsAdmin}} {{$.locale.Tr "admin.users.admin"}} - {{else if eq 2 .Type}} + {{else if eq 2 .Type}}{{/* Reserved user */}} {{$.locale.Tr "admin.users.reserved"}} - {{else if eq 4 .Type}} + {{else if eq 4 .Type}}{{/* Bot "user" */}} {{$.locale.Tr "admin.users.bot"}} - {{else if eq 5 .Type}} + {{else if eq 5 .Type}}{{/* Remote user */}} {{$.locale.Tr "admin.users.remote"}} {{end}}