2023-04-23 10:21:21 +00:00
{{ template "admin/layout_head" ( dict "ctxData" . "pageClass" "admin edit user" ) }}
< div class = "admin-setting-content" >
2017-03-15 22:39:38 +00:00
< h4 class = "ui top attached header" >
2022-06-27 20:58:46 +00:00
{{ .locale.Tr "admin.users.edit_account" }}
2017-03-15 22:39:38 +00:00
< / h4 >
< div class = "ui attached segment" >
< form class = "ui form" action = " {{ .Link }} " method = "post" >
2021-10-18 22:08:41 +00:00
{{ template "base/disable_form_autofill" }}
2017-03-15 22:39:38 +00:00
{{ .CsrfTokenHtml }}
2021-01-10 12:14:02 +00:00
< div class = "field {{ if .Err_UserName }} error {{ end }} " >
2022-06-27 20:58:46 +00:00
< label for = "user_name" > {{ .locale.Tr "username" }} </ label >
2023-05-26 09:42:54 +00:00
< input id = "user_name" name = "user_name" value = " {{ .User.Name }} " autofocus {{ if not .User.IsLocal }} disabled {{ end }} maxlength = "40" >
2017-03-15 22:39:38 +00:00
< / div >
<!-- Types and name -->
< div class = "inline required field {{ if .Err_LoginType }} error {{ end }} " >
2022-06-27 20:58:46 +00:00
< label > {{ .locale.Tr "admin.users.auth_source" }} </ label >
2017-03-15 22:39:38 +00:00
< div class = "ui selection type dropdown" >
2021-08-11 20:42:58 +00:00
< input type = "hidden" id = "login_type" name = "login_type" value = " {{ .LoginSource.Type.Int }} - {{ .LoginSource.ID }} " required >
2022-06-27 20:58:46 +00:00
< div class = "text" > {{ .locale.Tr "admin.users.local" }} </ div >
2020-10-31 22:15:11 +00:00
{{ svg "octicon-triangle-down" 14 "dropdown icon" }}
2017-03-15 22:39:38 +00:00
< div class = "menu" >
2022-06-27 20:58:46 +00:00
< div class = "item" data-value = "0-0" > {{ .locale.Tr "admin.users.local" }} </ div >
2017-03-15 22:39:38 +00:00
{{ range .Sources }}
2021-08-11 20:42:58 +00:00
< div class = "item" data-value = " {{ .Type.Int }} - {{ .ID }} " > {{ .Name }} </ div >
2017-03-15 22:39:38 +00:00
{{ end }}
< / div >
< / div >
< / div >
2021-06-26 19:53:14 +00:00
< div class = "inline field {{ if .Err_Visibility }} error {{ end }} " >
2022-06-27 20:58:46 +00:00
< span class = "inline required field" >< label for = "visibility" > {{ .locale.Tr "settings.visibility" }} </ label ></ span >
2021-06-26 19:53:14 +00:00
< div class = "ui selection type dropdown" >
2021-06-27 18:47:35 +00:00
{{ if .User.Visibility.IsPublic }} < input type = "hidden" id = "visibility" name = "visibility" value = "0" > {{ end }}
{{ if .User.Visibility.IsLimited }} < input type = "hidden" id = "visibility" name = "visibility" value = "1" > {{ end }}
{{ if .User.Visibility.IsPrivate }} < input type = "hidden" id = "visibility" name = "visibility" value = "2" > {{ end }}
2021-06-26 19:53:14 +00:00
< div class = "text" >
2022-06-27 20:58:46 +00:00
{{ if .User.Visibility.IsPublic }}{{ .locale.Tr "settings.visibility.public" }}{{ end }}
{{ if .User.Visibility.IsLimited }}{{ .locale.Tr "settings.visibility.limited" }}{{ end }}
{{ if .User.Visibility.IsPrivate }}{{ .locale.Tr "settings.visibility.private" }}{{ end }}
2021-06-26 19:53:14 +00:00
< / div >
{{ svg "octicon-triangle-down" 14 "dropdown icon" }}
< div class = "menu" >
2021-06-27 18:47:35 +00:00
{{ range $mode := .AllowedUserVisibilityModes }}
{{ if $mode .IsPublic }}
2023-03-24 10:35:38 +00:00
< div class = "item" data-tooltip-content = " {{ $.locale.Tr "settings.visibility.public_tooltip" }} " data-value = "0" > {{ $.locale.Tr "settings.visibility.public" }} </ div >
2021-06-27 18:47:35 +00:00
{{ else if $mode .IsLimited }}
2023-03-24 10:35:38 +00:00
< div class = "item" data-tooltip-content = " {{ $.locale.Tr "settings.visibility.limited_tooltip" }} " data-value = "1" > {{ $.locale.Tr "settings.visibility.limited" }} </ div >
2021-06-27 18:47:35 +00:00
{{ else if $mode .IsPrivate }}
2023-03-24 10:35:38 +00:00
< div class = "item" data-tooltip-content = " {{ $.locale.Tr "settings.visibility.private_tooltip" }} " data-value = "2" > {{ $.locale.Tr "settings.visibility.private" }} </ div >
2021-06-27 18:47:35 +00:00
{{ end }}
{{ end }}
2021-06-26 19:53:14 +00:00
< / div >
< / div >
< / div >
2023-02-19 04:06:14 +00:00
< div class = "required non-local field {{ if .Err_LoginName }} error {{ end }} {{ if eq .User.LoginSource 0 }} gt-hidden {{ end }} " >
2022-06-27 20:58:46 +00:00
< label for = "login_name" > {{ .locale.Tr "admin.users.auth_login_name" }} </ label >
2017-03-15 22:39:38 +00:00
< input id = "login_name" name = "login_name" value = " {{ .User.LoginName }} " autofocus >
< / div >
< div class = "field {{ if .Err_FullName }} error {{ end }} " >
2022-06-27 20:58:46 +00:00
< label for = "full_name" > {{ .locale.Tr "settings.full_name" }} </ label >
2023-05-26 09:42:54 +00:00
< input id = "full_name" name = "full_name" value = " {{ .User.FullName }} " maxlength = "100" >
2017-03-15 22:39:38 +00:00
< / div >
< div class = "required field {{ if .Err_Email }} error {{ end }} " >
2022-06-27 20:58:46 +00:00
< label for = "email" > {{ .locale.Tr "email" }} </ label >
2017-03-15 22:39:38 +00:00
< input id = "email" name = "email" type = "email" value = " {{ .User.Email }} " autofocus required >
< / div >
2023-02-19 04:06:14 +00:00
< div class = "local field {{ if .Err_Password }} error {{ end }} {{ if not ( or ( .User.IsLocal ) ( .User.IsOAuth2 )) }} gt-hidden {{ end }} " >
2022-06-27 20:58:46 +00:00
< label for = "password" > {{ .locale.Tr "password" }} </ label >
2020-10-09 07:32:30 +00:00
< input id = "password" name = "password" type = "password" autocomplete = "new-password" >
2022-06-27 20:58:46 +00:00
< p class = "help" > {{ .locale.Tr "admin.users.password_helper" }} </ p >
2017-03-15 22:39:38 +00:00
< / div >
< div class = "field {{ if .Err_Website }} error {{ end }} " >
2022-06-27 20:58:46 +00:00
< label for = "website" > {{ .locale.Tr "settings.website" }} </ label >
2023-06-14 18:17:58 +00:00
< input id = "website" name = "website" type = "url" value = " {{ .User.Website }} " placeholder = "http://mydomain.com or https://mydomain.com" maxlength = "255" >
2017-03-15 22:39:38 +00:00
< / div >
< div class = "field {{ if .Err_Location }} error {{ end }} " >
2022-06-27 20:58:46 +00:00
< label for = "location" > {{ .locale.Tr "settings.location" }} </ label >
2023-05-26 09:42:54 +00:00
< input id = "location" name = "location" value = " {{ .User.Location }} " maxlength = "50" >
2017-03-15 22:39:38 +00:00
< / div >
2015-09-13 15:07:21 +00:00
2023-06-29 12:24:22 +00:00
< div class = "divider" > < / div >
2015-12-10 17:37:53 +00:00
2017-03-15 22:39:38 +00:00
< div class = "inline field {{ if .Err_MaxRepoCreation }} error {{ end }} " >
2022-06-27 20:58:46 +00:00
< label for = "max_repo_creation" > {{ .locale.Tr "admin.users.max_repo_creation" }} </ label >
2023-05-26 09:42:54 +00:00
< input id = "max_repo_creation" name = "max_repo_creation" type = "number" min = "-1" value = " {{ .User.MaxRepoCreation }} " >
2022-06-27 20:58:46 +00:00
< p class = "help" > {{ .locale.Tr "admin.users.max_repo_creation_desc" }} </ p >
2017-03-15 22:39:38 +00:00
< / div >
2015-12-10 17:37:53 +00:00
2023-06-29 12:24:22 +00:00
< div class = "divider" > < / div >
2015-12-10 17:37:53 +00:00
2017-03-15 22:39:38 +00:00
< div class = "inline field" >
< div class = "ui checkbox" >
2022-06-27 20:58:46 +00:00
< label >< strong > {{ .locale.Tr "admin.users.is_activated" }} </ strong ></ label >
2017-03-15 22:39:38 +00:00
< input name = "active" type = "checkbox" {{ if .User.IsActive }} checked {{ end }} >
< / div >
< / div >
< div class = "inline field" >
< div class = "ui checkbox" >
2022-06-27 20:58:46 +00:00
< label >< strong > {{ .locale.Tr "admin.users.prohibit_login" }} </ strong ></ label >
2020-04-06 14:23:15 +00:00
< input name = "prohibit_login" type = "checkbox" {{ if .User.ProhibitLogin }} checked {{ end }} {{ if ( eq .User.ID .SignedUserID ) }} disabled {{ end }} >
2017-03-15 22:39:38 +00:00
< / div >
< / div >
< div class = "inline field" >
< div class = "ui checkbox" >
2022-06-27 20:58:46 +00:00
< label >< strong > {{ .locale.Tr "admin.users.is_admin" }} </ strong ></ label >
2017-03-15 22:39:38 +00:00
< input name = "admin" type = "checkbox" {{ if .User.IsAdmin }} checked {{ end }} >
< / div >
< / div >
2020-01-13 17:33:46 +00:00
< div class = "inline field" >
< div class = "ui checkbox" >
2022-06-27 20:58:46 +00:00
< label >< strong > {{ .locale.Tr "admin.users.is_restricted" }} </ strong ></ label >
2020-01-13 17:33:46 +00:00
< input name = "restricted" type = "checkbox" {{ if .User.IsRestricted }} checked {{ end }} >
< / div >
< / div >
2023-02-19 04:06:14 +00:00
< div class = "inline field {{ if DisableGitHooks }} gt-hidden {{ end }} " >
2023-03-24 10:35:38 +00:00
< div class = "ui checkbox" data-tooltip-content = " {{ .locale.Tr "admin.users.allow_git_hook_tooltip" }} " >
2022-06-27 20:58:46 +00:00
< label >< strong > {{ .locale.Tr "admin.users.allow_git_hook" }} </ strong ></ label >
2017-09-12 09:25:42 +00:00
< input name = "allow_git_hook" type = "checkbox" {{ if .User.CanEditGitHook }} checked {{ end }} {{ if DisableGitHooks }} disabled {{ end }} >
2017-03-15 22:39:38 +00:00
< / div >
< / div >
2023-02-22 15:26:02 +00:00
< div class = "inline field {{ if or ( DisableImportLocal ) ( .DisableMigrations ) }} gt-hidden {{ end }} " >
2017-03-15 22:39:38 +00:00
< div class = "ui checkbox" >
2022-06-27 20:58:46 +00:00
< label >< strong > {{ .locale.Tr "admin.users.allow_import_local" }} </ strong ></ label >
2018-08-24 05:00:22 +00:00
< input name = "allow_import_local" type = "checkbox" {{ if .User.CanImportLocal }} checked {{ end }} {{ if DisableImportLocal }} disabled {{ end }} >
2017-03-15 22:39:38 +00:00
< / div >
< / div >
{{ if not .DisableRegularOrgCreation }}
< div class = "inline field" >
< div class = "ui checkbox" >
2022-06-27 20:58:46 +00:00
< label >< strong > {{ .locale.Tr "admin.users.allow_create_organization" }} </ strong ></ label >
2017-03-15 22:39:38 +00:00
< input name = "allow_create_organization" type = "checkbox" {{ if .User.CanCreateOrganization }} checked {{ end }} >
< / div >
< / div >
{{ end }}
2015-09-13 15:07:21 +00:00
2021-01-05 13:54:48 +00:00
{{ if .TwoFactorEnabled }}
2023-06-29 12:24:22 +00:00
< div class = "divider" > < / div >
2021-01-05 13:54:48 +00:00
< div class = "inline field" >
< div class = "ui checkbox" >
2022-06-27 20:58:46 +00:00
< label >< strong > {{ .locale.Tr "admin.users.reset_2fa" }} </ strong ></ label >
2021-01-05 13:54:48 +00:00
< input name = "reset_2fa" type = "checkbox" >
< / div >
< / div >
{{ end }}
2023-06-29 12:24:22 +00:00
< div class = "divider" > < / div >
2015-12-12 00:24:57 +00:00
2017-03-15 22:39:38 +00:00
< div class = "field" >
2022-06-27 20:58:46 +00:00
< button class = "ui green button" > {{ .locale.Tr "admin.users.update_profile" }} </ button >
2023-03-14 03:34:09 +00:00
< button class = "ui red button show-modal" data-modal = "#delete-user-modal" > {{ .locale.Tr "admin.users.delete_account" }} </ button >
2015-12-07 22:30:52 +00:00
< / div >
2017-03-15 22:39:38 +00:00
< / form >
2014-08-29 07:32:52 +00:00
< / div >
2021-11-16 19:13:13 +00:00
< h4 class = "ui top attached header" >
2022-06-27 20:58:46 +00:00
{{ .locale.Tr "settings.avatar" }}
2021-11-16 19:13:13 +00:00
< / h4 >
< div class = "ui attached segment" >
< form class = "ui form" action = " {{ .Link }} /avatar" method = "post" enctype = "multipart/form-data" >
{{ .CsrfTokenHtml }}
2023-08-08 08:29:14 +00:00
{{ if not .DisableGravatar }}
2021-11-16 19:13:13 +00:00
< div class = "inline field" >
< div class = "ui radio checkbox" >
< input name = "source" value = "lookup" type = "radio" {{ if not .User.UseCustomAvatar }} checked {{ end }} >
2022-06-27 20:58:46 +00:00
< label > {{ .locale.Tr "settings.lookup_avatar_by_mail" }} </ label >
2021-11-16 19:13:13 +00:00
< / div >
< / div >
2023-05-30 22:28:25 +00:00
< div class = "field gt-pl-4 {{ if .Err_Gravatar }} error {{ end }} " >
2022-06-27 20:58:46 +00:00
< label for = "gravatar" > Avatar {{ .locale.Tr "email" }} </ label >
2023-03-27 16:05:51 +00:00
< input id = "gravatar" name = "gravatar" value = " {{ .User.AvatarEmail }} " >
2021-11-16 19:13:13 +00:00
< / div >
{{ end }}
< div class = "inline field" >
< div class = "ui radio checkbox" >
< input name = "source" value = "local" type = "radio" {{ if .User.UseCustomAvatar }} checked {{ end }} >
2022-06-27 20:58:46 +00:00
< label > {{ .locale.Tr "settings.enable_custom_avatar" }} </ label >
2021-11-16 19:13:13 +00:00
< / div >
< / div >
2023-05-30 22:28:25 +00:00
< div class = "inline field gt-pl-4" >
2022-06-27 20:58:46 +00:00
< label for = "avatar" > {{ .locale.Tr "settings.choose_new_avatar" }} </ label >
2023-05-26 09:42:54 +00:00
< input name = "avatar" type = "file" accept = "image/png,image/jpeg,image/gif,image/webp" >
2021-11-16 19:13:13 +00:00
< / div >
< div class = "field" >
2022-06-27 20:58:46 +00:00
< button class = "ui green button" > {{ $.locale.Tr "settings.update_avatar" }} </ button >
2023-06-13 12:10:10 +00:00
< button class = "ui red button link-action" data-url = " {{ .Link }} /avatar/delete" data-redirect = " {{ .Link }} " > {{ $.locale.Tr "settings.delete_current_avatar" }} </ button >
2021-11-16 19:13:13 +00:00
< / div >
< / form >
< / div >
2014-03-21 10:15:58 +00:00
< / div >
2015-09-13 15:07:21 +00:00
2023-04-24 11:08:59 +00:00
< div class = "ui g-modal-confirm delete modal" id = "delete-user-modal" >
2023-04-23 09:24:19 +00:00
< div class = "header" >
2021-03-22 04:04:19 +00:00
{{ svg "octicon-trash" }}
2022-06-27 20:58:46 +00:00
{{ .locale.Tr "settings.delete_account_title" }}
2015-12-07 22:30:52 +00:00
< / div >
2023-06-14 18:17:58 +00:00
< form class = "ui form" method = "post" action = " {{ .Link }} /delete" >
2023-05-30 10:08:09 +00:00
< div class = "content" >
< p > {{ .locale.Tr "settings.delete_account_desc" }} </ p >
{{ $.CsrfTokenHtml }}
< div class = "field" >
< div class = "ui checkbox" >
< label for = "purge" > {{ .locale.Tr "admin.users.purge" }} </ label >
< input name = "purge" type = "checkbox" >
< / div >
< p class = "help" > {{ .locale.Tr "admin.users.purge_help" }} </ p >
2022-07-14 07:22:09 +00:00
< / div >
< / div >
2023-04-23 09:24:19 +00:00
{{ template "base/modal_actions_confirm" . }}
2022-07-14 07:22:09 +00:00
< / form >
2015-09-13 15:07:21 +00:00
< / div >
2023-04-23 10:21:21 +00:00
{{ template "admin/layout_footer" . }}