code.gitea.io/gitea@v1.22.3/templates/admin/user/edit.tmpl (about)

     1  {{template "admin/layout_head" (dict "ctxData" . "pageClass" "admin edit user")}}
     2  	<div class="admin-setting-content">
     3  		<h4 class="ui top attached header">
     4  			{{ctx.Locale.Tr "admin.users.edit_account"}}
     5  		</h4>
     6  		<div class="ui attached segment">
     7  			<form class="ui form" action="./edit" method="post">
     8  				{{template "base/disable_form_autofill"}}
     9  				{{.CsrfTokenHtml}}
    10  				<div class="field {{if .Err_UserName}}error{{end}}">
    11  					<label for="user_name">{{ctx.Locale.Tr "username"}}</label>
    12  					<input id="user_name" name="user_name" value="{{.User.Name}}" autofocus {{if not .User.IsLocal}}disabled{{end}} maxlength="40">
    13  				</div>
    14  				<!-- Types and name -->
    15  				<div class="inline required field {{if .Err_LoginType}}error{{end}}">
    16  					<label>{{ctx.Locale.Tr "admin.users.auth_source"}}</label>
    17  					<div class="ui selection type dropdown">
    18  						<input type="hidden" id="login_type" name="login_type" value="{{.LoginSource.Type.Int}}-{{.LoginSource.ID}}" required>
    19  						<div class="text">{{ctx.Locale.Tr "admin.users.local"}}</div>
    20  						{{svg "octicon-triangle-down" 14 "dropdown icon"}}
    21  						<div class="menu">
    22  							<div class="item" data-value="0-0">{{ctx.Locale.Tr "admin.users.local"}}</div>
    23  							{{range .Sources}}
    24  								<div class="item" data-value="{{.Type.Int}}-{{.ID}}">{{.Name}}</div>
    25  							{{end}}
    26  						</div>
    27  					</div>
    28  				</div>
    29  
    30  				<div class="inline field {{if .Err_Visibility}}error{{end}}">
    31  					<span class="inline required field"><label for="visibility">{{ctx.Locale.Tr "settings.visibility"}}</label></span>
    32  					<div class="ui selection type dropdown">
    33  						{{if .User.Visibility.IsPublic}}<input type="hidden" id="visibility" name="visibility" value="0">{{end}}
    34  						{{if .User.Visibility.IsLimited}}<input type="hidden" id="visibility" name="visibility" value="1">{{end}}
    35  						{{if .User.Visibility.IsPrivate}}<input type="hidden" id="visibility" name="visibility" value="2">{{end}}
    36  						<div class="text">
    37  							{{if .User.Visibility.IsPublic}}{{ctx.Locale.Tr "settings.visibility.public"}}{{end}}
    38  							{{if .User.Visibility.IsLimited}}{{ctx.Locale.Tr "settings.visibility.limited"}}{{end}}
    39  							{{if .User.Visibility.IsPrivate}}{{ctx.Locale.Tr "settings.visibility.private"}}{{end}}
    40  						</div>
    41  						{{svg "octicon-triangle-down" 14 "dropdown icon"}}
    42  						<div class="menu">
    43  							{{range $mode := .AllowedUserVisibilityModes}}
    44  								{{if $mode.IsPublic}}
    45  									<div class="item" data-tooltip-content="{{ctx.Locale.Tr "settings.visibility.public_tooltip"}}" data-value="0">{{ctx.Locale.Tr "settings.visibility.public"}}</div>
    46  								{{else if $mode.IsLimited}}
    47  									<div class="item" data-tooltip-content="{{ctx.Locale.Tr "settings.visibility.limited_tooltip"}}" data-value="1">{{ctx.Locale.Tr "settings.visibility.limited"}}</div>
    48  								{{else if $mode.IsPrivate}}
    49  									<div class="item" data-tooltip-content="{{ctx.Locale.Tr "settings.visibility.private_tooltip"}}" data-value="2">{{ctx.Locale.Tr "settings.visibility.private"}}</div>
    50  								{{end}}
    51  							{{end}}
    52  						</div>
    53  					</div>
    54  				</div>
    55  
    56  				<div class="required non-local field {{if .Err_LoginName}}error{{end}} {{if eq .User.LoginSource 0}}tw-hidden{{end}}">
    57  					<label for="login_name">{{ctx.Locale.Tr "admin.users.auth_login_name"}}</label>
    58  					<input id="login_name" name="login_name" value="{{.User.LoginName}}" autofocus>
    59  				</div>
    60  				<div class="field {{if .Err_FullName}}error{{end}}">
    61  					<label for="full_name">{{ctx.Locale.Tr "settings.full_name"}}</label>
    62  					<input id="full_name" name="full_name" value="{{.User.FullName}}" maxlength="100">
    63  				</div>
    64  				<div class="required field {{if .Err_Email}}error{{end}}">
    65  					<label for="email">{{ctx.Locale.Tr "email"}}</label>
    66  					<input id="email" name="email" type="email" value="{{.User.Email}}" autofocus required>
    67  				</div>
    68  				<div class="local field {{if .Err_Password}}error{{end}} {{if not (or (.User.IsLocal) (.User.IsOAuth2))}}tw-hidden{{end}}">
    69  					<label for="password">{{ctx.Locale.Tr "password"}}</label>
    70  					<input id="password" name="password" type="password" autocomplete="new-password">
    71  					<p class="help">{{ctx.Locale.Tr "admin.users.password_helper"}}</p>
    72  				</div>
    73  
    74  				<div class="field {{if .Err_Language}}error{{end}}">
    75  					<label for="language">{{ctx.Locale.Tr "settings.language"}}</label>
    76  					<div class="ui selection dropdown">
    77  						<input name="language" type="hidden" value="{{.User.Language}}">
    78  						{{svg "octicon-triangle-down" 14 "dropdown icon"}}
    79  						<div class="text">{{range .AllLangs}}{{if eq $.User.Language .Lang}}{{.Name}}{{end}}{{end}}</div>
    80  						<div class="menu">
    81  						{{range .AllLangs}}
    82  							<div class="item{{if eq $.User.Language .Lang}} active selected{{end}}" data-value="{{.Lang}}">{{.Name}}</div>
    83  						{{end}}
    84  						</div>
    85  					</div>
    86  				</div>
    87  
    88  				<div class="field {{if .Err_Website}}error{{end}}">
    89  					<label for="website">{{ctx.Locale.Tr "settings.website"}}</label>
    90  					<input id="website" name="website" type="url" value="{{.User.Website}}" placeholder="http://mydomain.com or https://mydomain.com" maxlength="255">
    91  				</div>
    92  				<div class="field {{if .Err_Location}}error{{end}}">
    93  					<label for="location">{{ctx.Locale.Tr "settings.location"}}</label>
    94  					<input id="location" name="location" value="{{.User.Location}}" maxlength="50">
    95  				</div>
    96  
    97  				<div class="divider"></div>
    98  
    99  				<div class="inline field {{if .Err_MaxRepoCreation}}error{{end}}">
   100  					<label for="max_repo_creation">{{ctx.Locale.Tr "admin.users.max_repo_creation"}}</label>
   101  					<input id="max_repo_creation" name="max_repo_creation" type="number" min="-1" value="{{.User.MaxRepoCreation}}">
   102  					<p class="help">{{ctx.Locale.Tr "admin.users.max_repo_creation_desc"}}</p>
   103  				</div>
   104  
   105  				<div class="divider"></div>
   106  
   107  				<div class="inline field">
   108  					<div class="ui checkbox">
   109  						<label><strong>{{ctx.Locale.Tr "admin.users.is_activated"}}</strong></label>
   110  						<input name="active" type="checkbox" {{if .User.IsActive}}checked{{end}}>
   111  					</div>
   112  				</div>
   113  				<div class="inline field">
   114  					<div class="ui checkbox">
   115  						<label><strong>{{ctx.Locale.Tr "admin.users.prohibit_login"}}</strong></label>
   116  						<input name="prohibit_login" type="checkbox" {{if .User.ProhibitLogin}}checked{{end}} {{if (eq .User.ID .SignedUserID)}}disabled{{end}}>
   117  					</div>
   118  				</div>
   119  				<div class="inline field">
   120  					<div class="ui checkbox">
   121  						<label><strong>{{ctx.Locale.Tr "admin.users.is_admin"}}</strong></label>
   122  						<input name="admin" type="checkbox" {{if .User.IsAdmin}}checked{{end}}>
   123  					</div>
   124  				</div>
   125  				<div class="inline field">
   126  					<div class="ui checkbox">
   127  						<label><strong>{{ctx.Locale.Tr "admin.users.is_restricted"}}</strong></label>
   128  						<input name="restricted" type="checkbox" {{if .User.IsRestricted}}checked{{end}}>
   129  					</div>
   130  				</div>
   131  				<div class="inline field {{if DisableGitHooks}}tw-hidden{{end}}">
   132  					<div class="ui checkbox" data-tooltip-content="{{ctx.Locale.Tr "admin.users.allow_git_hook_tooltip"}}">
   133  						<label><strong>{{ctx.Locale.Tr "admin.users.allow_git_hook"}}</strong></label>
   134  						<input name="allow_git_hook" type="checkbox" {{if .User.CanEditGitHook}}checked{{end}} {{if DisableGitHooks}}disabled{{end}}>
   135  					</div>
   136  				</div>
   137  				<div class="inline field {{if or (DisableImportLocal) (.DisableMigrations)}}tw-hidden{{end}}">
   138  					<div class="ui checkbox">
   139  						<label><strong>{{ctx.Locale.Tr "admin.users.allow_import_local"}}</strong></label>
   140  						<input name="allow_import_local" type="checkbox" {{if .User.CanImportLocal}}checked{{end}} {{if DisableImportLocal}}disabled{{end}}>
   141  					</div>
   142  				</div>
   143  				{{if not .DisableRegularOrgCreation}}
   144  				<div class="inline field">
   145  					<div class="ui checkbox">
   146  						<label><strong>{{ctx.Locale.Tr "admin.users.allow_create_organization"}}</strong></label>
   147  						<input name="allow_create_organization" type="checkbox" {{if .User.CanCreateOrganization}}checked{{end}}>
   148  					</div>
   149  				</div>
   150  				{{end}}
   151  
   152  				{{if .TwoFactorEnabled}}
   153  				<div class="divider"></div>
   154  				<div class="inline field">
   155  					<div class="ui checkbox">
   156  						<label><strong>{{ctx.Locale.Tr "admin.users.reset_2fa"}}</strong></label>
   157  						<input name="reset_2fa" type="checkbox">
   158  					</div>
   159  				</div>
   160  				{{end}}
   161  
   162  				<div class="divider"></div>
   163  
   164  				<div class="field">
   165  					<button class="ui primary button">{{ctx.Locale.Tr "admin.users.update_profile"}}</button>
   166  					<button class="ui red button show-modal" data-modal="#delete-user-modal">{{ctx.Locale.Tr "admin.users.delete_account"}}</button>
   167  				</div>
   168  			</form>
   169  		</div>
   170  
   171  		<h4 class="ui top attached header">
   172  			{{ctx.Locale.Tr "settings.avatar"}}
   173  		</h4>
   174  		<div class="ui attached segment">
   175  			<form class="ui form" action="./avatar" method="post" enctype="multipart/form-data">
   176  				{{.CsrfTokenHtml}}
   177  				{{if not .DisableGravatar}}
   178  				<div class="inline field">
   179  					<div class="ui radio checkbox">
   180  						<input name="source" value="lookup" type="radio" {{if not .User.UseCustomAvatar}}checked{{end}}>
   181  						<label>{{ctx.Locale.Tr "settings.lookup_avatar_by_mail"}}</label>
   182  					</div>
   183  				</div>
   184  				<div class="field tw-pl-4 {{if .Err_Gravatar}}error{{end}}">
   185  					<label for="gravatar">Avatar {{ctx.Locale.Tr "email"}}</label>
   186  					<input id="gravatar" name="gravatar" value="{{.User.AvatarEmail}}">
   187  				</div>
   188  				{{end}}
   189  
   190  				<div class="inline field">
   191  					<div class="ui radio checkbox">
   192  						<input name="source" value="local" type="radio" {{if .User.UseCustomAvatar}}checked{{end}}>
   193  						<label>{{ctx.Locale.Tr "settings.enable_custom_avatar"}}</label>
   194  					</div>
   195  				</div>
   196  
   197  				<div class="inline field tw-pl-4">
   198  					<label for="avatar">{{ctx.Locale.Tr "settings.choose_new_avatar"}}</label>
   199  					<input name="avatar" type="file" accept="image/png,image/jpeg,image/gif,image/webp">
   200  				</div>
   201  
   202  				<div class="field">
   203  					<button class="ui primary button">{{ctx.Locale.Tr "settings.update_avatar"}}</button>
   204  					<button class="ui red button link-action" data-url="./avatar/delete">{{ctx.Locale.Tr "settings.delete_current_avatar"}}</button>
   205  				</div>
   206  			</form>
   207  		</div>
   208  	</div>
   209  
   210  <div class="ui g-modal-confirm delete modal" id="delete-user-modal">
   211  	<div class="header">
   212  		{{svg "octicon-trash"}}
   213  		{{ctx.Locale.Tr "settings.delete_account_title"}}
   214  	</div>
   215  	<form class="ui form" method="post" action="./delete">
   216  		<div class="content">
   217  			<p>{{ctx.Locale.Tr "settings.delete_account_desc"}}</p>
   218  			{{$.CsrfTokenHtml}}
   219  			<div class="field">
   220  				<div class="ui checkbox">
   221  					<label for="purge">{{ctx.Locale.Tr "admin.users.purge"}}</label>
   222  					<input name="purge" type="checkbox">
   223  				</div>
   224  				<p class="help">{{ctx.Locale.Tr "admin.users.purge_help"}}</p>
   225  			</div>
   226  		</div>
   227  		{{template "base/modal_actions_confirm" .}}
   228  	</form>
   229  </div>
   230  
   231  {{template "admin/layout_footer" .}}