diff options
Diffstat (limited to 'templates/admin')
-rw-r--r-- | templates/admin/auth/edit.tmpl | 69 | ||||
-rw-r--r-- | templates/admin/auth/list.tmpl | 2 | ||||
-rw-r--r-- | templates/admin/auth/source/oauth.tmpl | 16 | ||||
-rw-r--r-- | templates/admin/config.tmpl | 6 | ||||
-rw-r--r-- | templates/admin/dashboard.tmpl | 26 | ||||
-rw-r--r-- | templates/admin/emails/list.tmpl | 2 | ||||
-rw-r--r-- | templates/admin/hooks.tmpl | 3 | ||||
-rw-r--r-- | templates/admin/navbar.tmpl | 6 | ||||
-rw-r--r-- | templates/admin/notice.tmpl | 2 | ||||
-rw-r--r-- | templates/admin/org/list.tmpl | 2 | ||||
-rw-r--r-- | templates/admin/packages/list.tmpl | 21 | ||||
-rw-r--r-- | templates/admin/perftrace.tmpl | 13 | ||||
-rw-r--r-- | templates/admin/repo/list.tmpl | 25 | ||||
-rw-r--r-- | templates/admin/stacktrace-row.tmpl | 5 | ||||
-rw-r--r-- | templates/admin/stacktrace.tmpl | 28 | ||||
-rw-r--r-- | templates/admin/trace_tabs.tmpl | 19 | ||||
-rw-r--r-- | templates/admin/user/edit.tmpl | 9 | ||||
-rw-r--r-- | templates/admin/user/list.tmpl | 4 | ||||
-rw-r--r-- | templates/admin/user/view.tmpl | 17 | ||||
-rw-r--r-- | templates/admin/user/view_details.tmpl | 31 | ||||
-rw-r--r-- | templates/admin/user/view_emails.tmpl | 2 |
21 files changed, 152 insertions, 156 deletions
diff --git a/templates/admin/auth/edit.tmpl b/templates/admin/auth/edit.tmpl index 660f0d0881..7b96b4e94f 100644 --- a/templates/admin/auth/edit.tmpl +++ b/templates/admin/auth/edit.tmpl @@ -15,7 +15,14 @@ </div> <div class="required inline field {{if .Err_Name}}error{{end}}"> <label for="auth_name">{{ctx.Locale.Tr "admin.auths.auth_name"}}</label> - <input id="auth_name" name="name" value="{{.Source.Name}}" autofocus required> + <input id="auth_name" name="name" value="{{.Source.Name}}" required> + </div> + <div class="inline field"> + <div class="ui checkbox"> + <label ><strong>{{ctx.Locale.Tr "admin.auths.skip_local_two_fa"}}</strong></label> + <input name="two_factor_policy" type="checkbox" value="skip" {{if eq .Source.TwoFactorPolicy "skip"}}checked{{end}}> + <p class="help">{{ctx.Locale.Tr "admin.auths.skip_local_two_fa_helper"}}</p> + </div> </div> <!-- LDAP and DLDAP --> @@ -159,13 +166,6 @@ </div> </div> {{end}} - <div class="optional field"> - <div class="ui checkbox"> - <label for="skip_local_two_fa"><strong>{{ctx.Locale.Tr "admin.auths.skip_local_two_fa"}}</strong></label> - <input id="skip_local_two_fa" name="skip_local_two_fa" type="checkbox" {{if $cfg.SkipLocalTwoFA}}checked{{end}}> - <p class="help">{{ctx.Locale.Tr "admin.auths.skip_local_two_fa_helper"}}</p> - </div> - </div> <div class="inline field"> <div class="ui checkbox"> <label for="allow_deactivate_all"><strong>{{ctx.Locale.Tr "admin.auths.allow_deactivate_all"}}</strong></label> @@ -227,13 +227,6 @@ <input id="allowed_domains" name="allowed_domains" value="{{$cfg.AllowedDomains}}"> <p class="help">{{ctx.Locale.Tr "admin.auths.allowed_domains_helper"}}</p> </div> - <div class="optional field"> - <div class="ui checkbox"> - <label for="skip_local_two_fa"><strong>{{ctx.Locale.Tr "admin.auths.skip_local_two_fa"}}</strong></label> - <input id="skip_local_two_fa" name="skip_local_two_fa" type="checkbox" {{if $cfg.SkipLocalTwoFA}}checked{{end}}> - <p class="help">{{ctx.Locale.Tr "admin.auths.skip_local_two_fa_helper"}}</p> - </div> - </div> {{end}} <!-- PAM --> @@ -247,13 +240,6 @@ <label for="pam_email_domain">{{ctx.Locale.Tr "admin.auths.pam_email_domain"}}</label> <input id="pam_email_domain" name="pam_email_domain" value="{{$cfg.EmailDomain}}"> </div> - <div class="optional field"> - <div class="ui checkbox"> - <label for="skip_local_two_fa"><strong>{{ctx.Locale.Tr "admin.auths.skip_local_two_fa"}}</strong></label> - <input id="skip_local_two_fa" name="skip_local_two_fa" type="checkbox" {{if $cfg.SkipLocalTwoFA}}checked{{end}}> - <p class="help">{{ctx.Locale.Tr "admin.auths.skip_local_two_fa_helper"}}</p> - </div> - </div> {{end}} <!-- OAuth2 --> @@ -288,13 +274,6 @@ <label for="open_id_connect_auto_discovery_url">{{ctx.Locale.Tr "admin.auths.openIdConnectAutoDiscoveryURL"}}</label> <input id="open_id_connect_auto_discovery_url" name="open_id_connect_auto_discovery_url" value="{{$cfg.OpenIDConnectAutoDiscoveryURL}}"> </div> - <div class="optional field"> - <div class="ui checkbox"> - <label for="skip_local_two_fa"><strong>{{ctx.Locale.Tr "admin.auths.skip_local_two_fa"}}</strong></label> - <input id="skip_local_two_fa" name="skip_local_two_fa" type="checkbox" {{if $cfg.SkipLocalTwoFA}}checked{{end}}> - <p class="help">{{ctx.Locale.Tr "admin.auths.skip_local_two_fa_helper"}}</p> - </div> - </div> <div class="oauth2_use_custom_url inline field"> <div class="ui checkbox"> <label><strong>{{ctx.Locale.Tr "admin.auths.oauth2_use_custom_url"}}</strong></label> @@ -322,20 +301,31 @@ <input id="oauth2_tenant" name="oauth2_tenant" value="{{if $cfg.CustomURLMapping}}{{$cfg.CustomURLMapping.Tenant}}{{end}}"> </div> - {{range .OAuth2Providers}}{{if .CustomURLSettings}} + {{range .OAuth2Providers}} + <input id="{{.Name}}_SupportSSHPublicKey" value="{{.SupportSSHPublicKey}}" type="hidden"> + {{if .CustomURLSettings}} <input id="{{.Name}}_customURLSettings" type="hidden" data-required="{{.CustomURLSettings.Required}}" data-available="true"> <input id="{{.Name}}_token_url" value="{{.CustomURLSettings.TokenURL.Value}}" data-available="{{.CustomURLSettings.TokenURL.Available}}" data-required="{{.CustomURLSettings.TokenURL.Required}}" type="hidden"> <input id="{{.Name}}_auth_url" value="{{.CustomURLSettings.AuthURL.Value}}" data-available="{{.CustomURLSettings.AuthURL.Available}}" data-required="{{.CustomURLSettings.AuthURL.Required}}" type="hidden"> <input id="{{.Name}}_profile_url" value="{{.CustomURLSettings.ProfileURL.Value}}" data-available="{{.CustomURLSettings.ProfileURL.Available}}" data-required="{{.CustomURLSettings.ProfileURL.Required}}" type="hidden"> <input id="{{.Name}}_email_url" value="{{.CustomURLSettings.EmailURL.Value}}" data-available="{{.CustomURLSettings.EmailURL.Available}}" data-required="{{.CustomURLSettings.EmailURL.Required}}" type="hidden"> <input id="{{.Name}}_tenant" value="{{.CustomURLSettings.Tenant.Value}}" data-available="{{.CustomURLSettings.Tenant.Available}}" data-required="{{.CustomURLSettings.Tenant.Required}}" type="hidden"> - {{end}}{{end}} + {{end}} + {{end}} <div class="field"> <label for="oauth2_scopes">{{ctx.Locale.Tr "admin.auths.oauth2_scopes"}}</label> <input id="oauth2_scopes" name="oauth2_scopes" value="{{if $cfg.Scopes}}{{StringUtils.Join $cfg.Scopes ","}}{{end}}"> </div> <div class="field"> + <label>{{ctx.Locale.Tr "admin.auths.oauth2_full_name_claim_name"}}</label> + <input name="oauth2_full_name_claim_name" value="{{$cfg.FullNameClaimName}}" placeholder="name"> + </div> + <div class="field oauth2_ssh_public_key_claim_name"> + <label>{{ctx.Locale.Tr "admin.auths.oauth2_ssh_public_key_claim_name"}}</label> + <input name="oauth2_ssh_public_key_claim_name" value="{{$cfg.SSHPublicKeyClaimName}}" placeholder="sshpubkey"> + </div> + <div class="field"> <label for="oauth2_required_claim_name">{{ctx.Locale.Tr "admin.auths.oauth2_required_claim_name"}}</label> <input id="oauth2_required_claim_name" name="oauth2_required_claim_name" value="{{$cfg.RequiredClaimName}}"> <p class="help">{{ctx.Locale.Tr "admin.auths.oauth2_required_claim_name_helper"}}</p> @@ -429,7 +419,10 @@ <div class="field"> <button class="ui primary button">{{ctx.Locale.Tr "admin.auths.update"}}</button> - <button class="ui red button delete-button" data-url="{{$.Link}}/delete" data-id="{{.Source.ID}}">{{ctx.Locale.Tr "admin.auths.delete"}}</button> + <button class="ui red button link-action" data-url="{{$.Link}}/delete?id={{.Source.ID}}" + data-modal-confirm-header="{{ctx.Locale.Tr "admin.auths.delete_auth_title"}}" + data-modal-confirm-content="{{ctx.Locale.Tr "admin.auths.delete_auth_desc"}}" + >{{ctx.Locale.Tr "admin.auths.delete"}}</button> </div> </form> </div> @@ -445,16 +438,4 @@ <p class="oauth2">{{ctx.Locale.Tr "admin.auths.tips.oauth2.general.tip"}} <b id="oauth2-callback-url"></b></p> </div> </div> - -<div class="ui g-modal-confirm delete modal"> - <div class="header"> - {{svg "octicon-trash"}} - {{ctx.Locale.Tr "admin.auths.delete_auth_title"}} - </div> - <div class="content"> - <p>{{ctx.Locale.Tr "admin.auths.delete_auth_desc"}}</p> - </div> - {{template "base/modal_actions_confirm" .}} -</div> - {{template "admin/layout_footer" .}} diff --git a/templates/admin/auth/list.tmpl b/templates/admin/auth/list.tmpl index 7931014b1a..a1e72b742f 100644 --- a/templates/admin/auth/list.tmpl +++ b/templates/admin/auth/list.tmpl @@ -30,6 +30,8 @@ <td>{{DateUtils.AbsoluteShort .CreatedUnix}}</td> <td><a href="{{AppSubUrl}}/-/admin/auths/{{.ID}}">{{svg "octicon-pencil"}}</a></td> </tr> + {{else}} + <tr><td class="tw-text-center" colspan="7">{{ctx.Locale.Tr "no_results_found"}}</td></tr> {{end}} </tbody> </table> diff --git a/templates/admin/auth/source/oauth.tmpl b/templates/admin/auth/source/oauth.tmpl index f02c5bdf30..69590635e4 100644 --- a/templates/admin/auth/source/oauth.tmpl +++ b/templates/admin/auth/source/oauth.tmpl @@ -63,19 +63,31 @@ <input id="oauth2_tenant" name="oauth2_tenant" value="{{.oauth2_tenant}}"> </div> - {{range .OAuth2Providers}}{{if .CustomURLSettings}} + {{range .OAuth2Providers}} + <input id="{{.Name}}_SupportSSHPublicKey" value="{{.SupportSSHPublicKey}}" type="hidden"> + {{if .CustomURLSettings}} <input id="{{.Name}}_customURLSettings" type="hidden" data-required="{{.CustomURLSettings.Required}}" data-available="true"> <input id="{{.Name}}_token_url" value="{{.CustomURLSettings.TokenURL.Value}}" data-available="{{.CustomURLSettings.TokenURL.Available}}" data-required="{{.CustomURLSettings.TokenURL.Required}}" type="hidden"> <input id="{{.Name}}_auth_url" value="{{.CustomURLSettings.AuthURL.Value}}" data-available="{{.CustomURLSettings.AuthURL.Available}}" data-required="{{.CustomURLSettings.AuthURL.Required}}" type="hidden"> <input id="{{.Name}}_profile_url" value="{{.CustomURLSettings.ProfileURL.Value}}" data-available="{{.CustomURLSettings.ProfileURL.Available}}" data-required="{{.CustomURLSettings.ProfileURL.Required}}" type="hidden"> <input id="{{.Name}}_email_url" value="{{.CustomURLSettings.EmailURL.Value}}" data-available="{{.CustomURLSettings.EmailURL.Available}}" data-required="{{.CustomURLSettings.EmailURL.Required}}" type="hidden"> <input id="{{.Name}}_tenant" value="{{.CustomURLSettings.Tenant.Value}}" data-available="{{.CustomURLSettings.Tenant.Available}}" data-required="{{.CustomURLSettings.Tenant.Required}}" type="hidden"> - {{end}}{{end}} + {{end}} + {{end}} <div class="field"> <label for="oauth2_scopes">{{ctx.Locale.Tr "admin.auths.oauth2_scopes"}}</label> <input id="oauth2_scopes" name="oauth2_scopes" value="{{.oauth2_scopes}}"> </div> + + <div class="field"> + <label>{{ctx.Locale.Tr "admin.auths.oauth2_full_name_claim_name"}}</label> + <input name="oauth2_full_name_claim_name" value="{{.oauth2_full_name_claim_name}}" placeholder="name"> + </div> + <div class="field oauth2_ssh_public_key_claim_name"> + <label>{{ctx.Locale.Tr "admin.auths.oauth2_ssh_public_key_claim_name"}}</label> + <input name="oauth2_ssh_public_key_claim_name" value="{{.oauth2_ssh_public_key_claim_name}}" placeholder="sshpubkey"> + </div> <div class="field"> <label for="oauth2_required_claim_name">{{ctx.Locale.Tr "admin.auths.oauth2_required_claim_name"}}</label> <input id="oauth2_required_claim_name" name="oauth2_required_claim_name" value="{{.oauth2_required_claim_name}}"> diff --git a/templates/admin/config.tmpl b/templates/admin/config.tmpl index 29a5e1b473..806347c720 100644 --- a/templates/admin/config.tmpl +++ b/templates/admin/config.tmpl @@ -69,10 +69,6 @@ {{if not .SSH.StartBuiltinServer}} <dt>{{ctx.Locale.Tr "admin.config.ssh_root_path"}}</dt> <dd>{{.SSH.RootPath}}</dd> - <dt>{{ctx.Locale.Tr "admin.config.ssh_key_test_path"}}</dt> - <dd>{{.SSH.KeyTestPath}}</dd> - <dt>{{ctx.Locale.Tr "admin.config.ssh_keygen_path"}}</dt> - <dd>{{.SSH.KeygenPath}}</dd> <dt>{{ctx.Locale.Tr "admin.config.ssh_minimum_key_size_check"}}</dt> <dd>{{svg (Iif .SSH.MinimumKeySizeCheck "octicon-check" "octicon-x")}}</dd> {{if .SSH.MinimumKeySizeCheck}} @@ -148,7 +144,7 @@ <dt>{{ctx.Locale.Tr "admin.config.enable_openid_signin"}}</dt> <dd>{{svg (Iif .Service.EnableOpenIDSignIn "octicon-check" "octicon-x")}}</dd> <dt>{{ctx.Locale.Tr "admin.config.require_sign_in_view"}}</dt> - <dd>{{svg (Iif .Service.RequireSignInView "octicon-check" "octicon-x")}}</dd> + <dd>{{svg (Iif .Service.RequireSignInViewStrict "octicon-check" "octicon-x")}}</dd> <dt>{{ctx.Locale.Tr "admin.config.mail_notify"}}</dt> <dd>{{svg (Iif .Service.EnableNotifyMail "octicon-check" "octicon-x")}}</dd> <dt>{{ctx.Locale.Tr "admin.config.enable_captcha"}}</dt> diff --git a/templates/admin/dashboard.tmpl b/templates/admin/dashboard.tmpl index af2349d288..2426a43b15 100644 --- a/templates/admin/dashboard.tmpl +++ b/templates/admin/dashboard.tmpl @@ -15,57 +15,57 @@ <tbody> <tr> <td>{{ctx.Locale.Tr "admin.dashboard.delete_inactive_accounts"}}</td> - <td class="text right"><button type="submit" class="ui primary button" name="op" value="delete_inactive_accounts">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> + <td class="tw-text-right"><button type="submit" class="ui primary button" name="op" value="delete_inactive_accounts">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> </tr> <tr> <td>{{ctx.Locale.Tr "admin.dashboard.delete_repo_archives"}}</td> - <td class="text right"><button type="submit" class="ui primary button" name="op" value="delete_repo_archives">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> + <td class="tw-text-right"><button type="submit" class="ui primary button" name="op" value="delete_repo_archives">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> </tr> <tr> <td>{{ctx.Locale.Tr "admin.dashboard.delete_missing_repos"}}</td> - <td class="text right"><button type="submit" class="ui primary button" name="op" value="delete_missing_repos">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> + <td class="tw-text-right"><button type="submit" class="ui primary button" name="op" value="delete_missing_repos">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> </tr> <tr> <td>{{ctx.Locale.Tr "admin.dashboard.git_gc_repos"}}</td> - <td class="text right"><button type="submit" class="ui primary button" name="op" value="git_gc_repos">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> + <td class="tw-text-right"><button type="submit" class="ui primary button" name="op" value="git_gc_repos">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> </tr> {{if and (not .SSH.Disabled) (not .SSH.StartBuiltinServer)}} <tr> <td>{{ctx.Locale.Tr "admin.dashboard.resync_all_sshkeys"}}</td> - <td class="text right"><button type="submit" class="ui primary button" name="op" value="resync_all_sshkeys">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> + <td class="tw-text-right"><button type="submit" class="ui primary button" name="op" value="resync_all_sshkeys">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> </tr> <tr> <td>{{ctx.Locale.Tr "admin.dashboard.resync_all_sshprincipals"}}</td> - <td class="text right"><button type="submit" class="ui primary button" name="op" value="resync_all_sshprincipals">{{svg "octicon-play" 16}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> + <td class="tw-text-right"><button type="submit" class="ui primary button" name="op" value="resync_all_sshprincipals">{{svg "octicon-play" 16}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> </tr> {{end}} <tr> <td>{{ctx.Locale.Tr "admin.dashboard.resync_all_hooks"}}</td> - <td class="text right"><button type="submit" class="ui primary button" name="op" value="resync_all_hooks">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> + <td class="tw-text-right"><button type="submit" class="ui primary button" name="op" value="resync_all_hooks">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> </tr> <tr> <td>{{ctx.Locale.Tr "admin.dashboard.reinit_missing_repos"}}</td> - <td class="text right"><button type="submit" class="ui primary button" name="op" value="reinit_missing_repos">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> + <td class="tw-text-right"><button type="submit" class="ui primary button" name="op" value="reinit_missing_repos">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> </tr> <tr> <td>{{ctx.Locale.Tr "admin.dashboard.sync_external_users"}}</td> - <td class="text right"><button type="submit" class="ui primary button" name="op" value="sync_external_users">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> + <td class="tw-text-right"><button type="submit" class="ui primary button" name="op" value="sync_external_users">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> </tr> <tr> <td>{{ctx.Locale.Tr "admin.dashboard.repo_health_check"}}</td> - <td class="text right"><button type="submit" class="ui primary button" name="op" value="repo_health_check">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> + <td class="tw-text-right"><button type="submit" class="ui primary button" name="op" value="repo_health_check">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> </tr> <tr> <td>{{ctx.Locale.Tr "admin.dashboard.delete_generated_repository_avatars"}}</td> - <td class="text right"><button type="submit" class="ui primary button" name="op" value="delete_generated_repository_avatars">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> + <td class="tw-text-right"><button type="submit" class="ui primary button" name="op" value="delete_generated_repository_avatars">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> </tr> <tr> <td>{{ctx.Locale.Tr "admin.dashboard.sync_repo_branches"}}</td> - <td class="text right"><button type="submit" class="ui primary button" name="op" value="sync_repo_branches">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> + <td class="tw-text-right"><button type="submit" class="ui primary button" name="op" value="sync_repo_branches">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> </tr> <tr> <td>{{ctx.Locale.Tr "admin.dashboard.sync_repo_tags"}}</td> - <td class="text right"><button type="submit" class="ui primary button" name="op" value="sync_repo_tags">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> + <td class="tw-text-right"><button type="submit" class="ui primary button" name="op" value="sync_repo_tags">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td> </tr> </tbody> </table> diff --git a/templates/admin/emails/list.tmpl b/templates/admin/emails/list.tmpl index 0dc1fb9d03..b4335aeeec 100644 --- a/templates/admin/emails/list.tmpl +++ b/templates/admin/emails/list.tmpl @@ -67,6 +67,8 @@ >{{svg "octicon-trash"}}</a> </td> </tr> + {{else}} + <tr><td class="tw-text-center" colspan="6">{{ctx.Locale.Tr "no_results_found"}}</td></tr> {{end}} </tbody> </table> diff --git a/templates/admin/hooks.tmpl b/templates/admin/hooks.tmpl index c77d27dbd0..d5fdef6850 100644 --- a/templates/admin/hooks.tmpl +++ b/templates/admin/hooks.tmpl @@ -1,9 +1,6 @@ {{template "admin/layout_head" (dict "ctxData" . "pageClass" "admin hooks")}} <div class="admin-setting-content"> - {{template "repo/settings/webhook/base_list" .SystemWebhooks}} {{template "repo/settings/webhook/base_list" .DefaultWebhooks}} - - {{template "repo/settings/webhook/delete_modal" .}} </div> {{template "admin/layout_footer" .}} diff --git a/templates/admin/navbar.tmpl b/templates/admin/navbar.tmpl index 4116357d1d..72584ec799 100644 --- a/templates/admin/navbar.tmpl +++ b/templates/admin/navbar.tmpl @@ -95,7 +95,7 @@ <a class="{{if .PageIsAdminNotices}}active {{end}}item" href="{{AppSubUrl}}/-/admin/notices"> {{ctx.Locale.Tr "admin.notices"}} </a> - <details class="item toggleable-item" {{if or .PageIsAdminMonitorStats .PageIsAdminMonitorCron .PageIsAdminMonitorQueue .PageIsAdminMonitorStacktrace}}open{{end}}> + <details class="item toggleable-item" {{if or .PageIsAdminMonitorStats .PageIsAdminMonitorCron .PageIsAdminMonitorQueue .PageIsAdminMonitorTrace}}open{{end}}> <summary>{{ctx.Locale.Tr "admin.monitor"}}</summary> <div class="menu"> <a class="{{if .PageIsAdminMonitorStats}}active {{end}}item" href="{{AppSubUrl}}/-/admin/monitor/stats"> @@ -107,8 +107,8 @@ <a class="{{if .PageIsAdminMonitorQueue}}active {{end}}item" href="{{AppSubUrl}}/-/admin/monitor/queue"> {{ctx.Locale.Tr "admin.monitor.queues"}} </a> - <a class="{{if .PageIsAdminMonitorStacktrace}}active {{end}}item" href="{{AppSubUrl}}/-/admin/monitor/stacktrace"> - {{ctx.Locale.Tr "admin.monitor.stacktrace"}} + <a class="{{if .PageIsAdminMonitorTrace}}active {{end}}item" href="{{AppSubUrl}}/-/admin/monitor/stacktrace"> + {{ctx.Locale.Tr "admin.monitor.trace"}} </a> </div> </details> diff --git a/templates/admin/notice.tmpl b/templates/admin/notice.tmpl index fd475d7157..a4c9dc53fb 100644 --- a/templates/admin/notice.tmpl +++ b/templates/admin/notice.tmpl @@ -24,6 +24,8 @@ <td nowrap>{{DateUtils.AbsoluteShort .CreatedUnix}}</td> <td class="view-detail"><a href="#">{{svg "octicon-note" 16}}</a></td> </tr> + {{else}} + <tr><td class="tw-text-center" colspan="6">{{ctx.Locale.Tr "no_results_found"}}</td></tr> {{end}} </tbody> {{if .Notices}} diff --git a/templates/admin/org/list.tmpl b/templates/admin/org/list.tmpl index d5e09939c5..137c42b45d 100644 --- a/templates/admin/org/list.tmpl +++ b/templates/admin/org/list.tmpl @@ -66,6 +66,8 @@ <td>{{DateUtils.AbsoluteShort .CreatedUnix}}</td> <td><a href="{{.OrganisationLink}}/settings" data-tooltip-content="{{ctx.Locale.Tr "edit"}}">{{svg "octicon-pencil"}}</a></td> </tr> + {{else}} + <tr><td class="tw-text-center" colspan="7">{{ctx.Locale.Tr "no_results_found"}}</td></tr> {{end}} </tbody> </table> diff --git a/templates/admin/packages/list.tmpl b/templates/admin/packages/list.tmpl index 08c11442bc..4817f2681b 100644 --- a/templates/admin/packages/list.tmpl +++ b/templates/admin/packages/list.tmpl @@ -72,8 +72,15 @@ </td> <td>{{FileSize .CalculateBlobSize}}</td> <td>{{DateUtils.AbsoluteShort .Version.CreatedUnix}}</td> - <td><a class="delete-button" href="" data-url="{{$.Link}}/delete?page={{$.Page.Paginater.Current}}&sort={{$.SortType}}" data-id="{{.Version.ID}}" data-name="{{.Package.Name}}" data-data-version="{{.Version.Version}}">{{svg "octicon-trash"}}</a></td> + <td> + <a class="text red show-modal" href data-modal="#admin-package-delete-modal" + data-modal-form.action="{{$.Link}}/delete?page={{$.Page.Paginater.Current}}&sort={{$.SortType}}&id={{.Version.ID}}" + data-modal-package-name="{{.Package.Name}}" data-modal-package-version="{{.Version.Version}}" + >{{svg "octicon-trash"}}</a> + </td> </tr> + {{else}} + <tr><td class="tw-text-center" colspan="10">{{ctx.Locale.Tr "no_results_found"}}</td></tr> {{end}} </tbody> </table> @@ -82,15 +89,13 @@ {{template "base/paginate" .}} </div> -<div class="ui g-modal-confirm delete modal"> - <div class="header"> - {{svg "octicon-trash"}} - {{ctx.Locale.Tr "packages.settings.delete"}} - </div> +<form class="ui small modal form-fetch-action" method="post" id="admin-package-delete-modal"> + {{.CsrfTokenHtml}} + <div class="header">{{svg "octicon-trash"}} {{ctx.Locale.Tr "packages.settings.delete"}}</div> <div class="content"> - {{ctx.Locale.Tr "packages.settings.delete.notice" (`<span class="name"></span>`|SafeHTML) (`<span class="dataVersion"></span>`|SafeHTML)}} + {{ctx.Locale.Tr "packages.settings.delete.notice" (HTMLFormat `<span class="%s"></span>` "package-name") (HTMLFormat `<span class="%s"></span>` "package-version")}} </div> {{template "base/modal_actions_confirm" .}} -</div> +</form> {{template "admin/layout_footer" .}} diff --git a/templates/admin/perftrace.tmpl b/templates/admin/perftrace.tmpl new file mode 100644 index 0000000000..2e09f14e46 --- /dev/null +++ b/templates/admin/perftrace.tmpl @@ -0,0 +1,13 @@ +{{template "admin/layout_head" (dict "ctxData" . "pageClass" "admin monitor")}} + +<div class="admin-setting-content"> + {{template "admin/trace_tabs" .}} + + {{range $record := .PerfTraceRecords}} + <div class="ui segment tw-w-full tw-overflow-auto"> + <pre class="tw-whitespace-pre">{{$record.Content}}</pre> + </div> + {{end}} +</div> + +{{template "admin/layout_footer" .}} diff --git a/templates/admin/repo/list.tmpl b/templates/admin/repo/list.tmpl index 08fd893e76..767d00fa74 100644 --- a/templates/admin/repo/list.tmpl +++ b/templates/admin/repo/list.tmpl @@ -7,10 +7,10 @@ </div> </h4> <div class="ui attached segment"> - {{template "shared/repo_search" .}} + {{template "shared/repo/search" .}} </div> <div class="ui attached table segment"> - <table class="ui very basic striped table unstackable"> + <table class="ui very basic striped table selectable unstackable"> <thead> <tr> <th data-sortt-asc="oldest" data-sortt-desc="newest">ID{{SortArrow "oldest" "newest" $.SortType false}}</th> @@ -84,8 +84,15 @@ <td>{{FileSize .LFSSize}}</td> <td>{{DateUtils.AbsoluteShort .UpdatedUnix}}</td> <td>{{DateUtils.AbsoluteShort .CreatedUnix}}</td> - <td><a class="delete-button" href="" data-url="{{$.Link}}/delete?page={{$.Page.Paginater.Current}}&sort={{$.SortType}}" data-id="{{.ID}}" data-name="{{.Name}}">{{svg "octicon-trash"}}</a></td> + <td> + <a class="text red show-modal" href data-modal="#admin-repo-delete-modal" + data-modal-form.action="{{$.Link}}/delete?page={{$.Page.Paginater.Current}}&sort={{$.SortType}}&id={{.ID}}" + data-modal-repo-name="{{.Name}}" + >{{svg "octicon-trash"}}</a> + </td> </tr> + {{else}} + <tr><td class="tw-text-center" colspan="12">{{ctx.Locale.Tr "no_results_found"}}</td></tr> {{end}} </tbody> </table> @@ -94,17 +101,15 @@ {{template "base/paginate" .}} </div> -<div class="ui g-modal-confirm delete modal"> - <div class="header"> - {{svg "octicon-trash"}} - {{ctx.Locale.Tr "repo.settings.delete"}} - </div> +<form class="ui small modal form-fetch-action" id="admin-repo-delete-modal" method="post"> + {{.CsrfTokenHtml}} + <div class="header">{{svg "octicon-trash"}} {{ctx.Locale.Tr "repo.settings.delete"}}</div> <div class="content"> <p>{{ctx.Locale.Tr "repo.settings.delete_desc"}}</p> - {{ctx.Locale.Tr "repo.settings.delete_notices_2" (`<span class="name"></span>`|SafeHTML)}}<br> + {{ctx.Locale.Tr "repo.settings.delete_notices_2" (HTMLFormat `<span class="%s"></span>` "repo-name")}}<br> {{ctx.Locale.Tr "repo.settings.delete_notices_fork_1"}}<br> </div> {{template "base/modal_actions_confirm" .}} -</div> +</form> {{template "admin/layout_footer" .}} diff --git a/templates/admin/stacktrace-row.tmpl b/templates/admin/stacktrace-row.tmpl index 97c361ff90..db7ed81c79 100644 --- a/templates/admin/stacktrace-row.tmpl +++ b/templates/admin/stacktrace-row.tmpl @@ -17,7 +17,10 @@ </div> <div> {{if or (eq .Process.Type "request") (eq .Process.Type "normal")}} - <a class="delete-button icon" href="" data-url="{{.root.Link}}/cancel/{{.Process.PID}}" data-id="{{.Process.PID}}" data-name="{{.Process.Description}}">{{svg "octicon-trash" 16 "text-red"}}</a> + <a class="link-action" data-url="{{.root.Link}}/cancel/{{.Process.PID}}" + data-modal-confirm-header="{{ctx.Locale.Tr "admin.monitor.process.cancel"}}" + data-modal-confirm-content="{{ctx.Locale.Tr "admin.monitor.process.cancel_desc"}}" + >{{svg "octicon-trash" 16 "text-red"}}</a> {{end}} </div> </div> diff --git a/templates/admin/stacktrace.tmpl b/templates/admin/stacktrace.tmpl index ce03d80555..c5dde6b30c 100644 --- a/templates/admin/stacktrace.tmpl +++ b/templates/admin/stacktrace.tmpl @@ -1,22 +1,7 @@ {{template "admin/layout_head" (dict "ctxData" . "pageClass" "admin monitor")}} <div class="admin-setting-content"> - <div class="tw-flex tw-items-center"> - <div class="tw-flex-1"> - <div class="ui compact small menu"> - <a class="{{if eq .ShowGoroutineList "process"}}active {{end}}item" href="?show=process">{{ctx.Locale.Tr "admin.monitor.process"}}</a> - <a class="{{if eq .ShowGoroutineList "stacktrace"}}active {{end}}item" href="?show=stacktrace">{{ctx.Locale.Tr "admin.monitor.stacktrace"}}</a> - </div> - </div> - <form target="_blank" action="{{AppSubUrl}}/-/admin/monitor/diagnosis" class="ui form"> - <div class="ui inline field"> - <button class="ui primary small button">{{ctx.Locale.Tr "admin.monitor.download_diagnosis_report"}}</button> - <input name="seconds" size="3" maxlength="3" value="10"> {{ctx.Locale.Tr "tool.raw_seconds"}} - </div> - </form> - </div> - - <div class="divider"></div> + {{template "admin/trace_tabs" .}} <h4 class="ui top attached header"> {{printf "%d Goroutines" .GoroutineCount}}{{/* Goroutine is non-translatable*/}} @@ -34,15 +19,4 @@ {{end}} </div> -<div class="ui g-modal-confirm delete modal"> - <div class="header"> - {{ctx.Locale.Tr "admin.monitor.process.cancel"}} - </div> - <div class="content"> - <p>{{ctx.Locale.Tr "admin.monitor.process.cancel_notices" (`<span class="name"></span>`|SafeHTML)}}</p> - <p>{{ctx.Locale.Tr "admin.monitor.process.cancel_desc"}}</p> - </div> - {{template "base/modal_actions_confirm" .}} -</div> - {{template "admin/layout_footer" .}} diff --git a/templates/admin/trace_tabs.tmpl b/templates/admin/trace_tabs.tmpl new file mode 100644 index 0000000000..5066c9c41b --- /dev/null +++ b/templates/admin/trace_tabs.tmpl @@ -0,0 +1,19 @@ +<div class="flex-text-block"> + <div class="tw-flex-1"> + <div class="ui compact small menu"> + {{if .ShowAdminPerformanceTraceTab}} + <a class="item {{Iif .PageIsAdminMonitorPerfTrace "active"}}" href="{{AppSubUrl}}/-/admin/monitor/perftrace">{{ctx.Locale.Tr "admin.monitor.performance_logs"}}</a> + {{end}} + <a class="item {{Iif (eq .ShowGoroutineList "process") "active"}}" href="{{AppSubUrl}}/-/admin/monitor/stacktrace?show=process">{{ctx.Locale.Tr "admin.monitor.process"}}</a> + <a class="item {{Iif (eq .ShowGoroutineList "stacktrace") "active"}}" href="{{AppSubUrl}}/-/admin/monitor/stacktrace?show=stacktrace">{{ctx.Locale.Tr "admin.monitor.stacktrace"}}</a> + </div> + </div> + <form target="_blank" action="{{AppSubUrl}}/-/admin/monitor/diagnosis" class="ui form"> + <div class="ui inline field"> + <button class="ui primary small button">{{ctx.Locale.Tr "admin.monitor.download_diagnosis_report"}}</button> + <input name="seconds" size="3" maxlength="3" value="10"> {{ctx.Locale.Tr "tool.raw_seconds"}} + </div> + </form> +</div> + +<div class="divider"></div> diff --git a/templates/admin/user/edit.tmpl b/templates/admin/user/edit.tmpl index d591a645d8..879b5cb550 100644 --- a/templates/admin/user/edit.tmpl +++ b/templates/admin/user/edit.tmpl @@ -9,7 +9,7 @@ {{.CsrfTokenHtml}} <div class="field {{if .Err_UserName}}error{{end}}"> <label for="user_name">{{ctx.Locale.Tr "username"}}</label> - <input id="user_name" name="user_name" value="{{.User.Name}}" autofocus {{if not .User.IsLocal}}disabled{{end}} maxlength="40"> + <input id="user_name" name="user_name" value="{{.User.Name}}" {{if not .User.IsLocal}}disabled{{end}} maxlength="40"> </div> <!-- Types and name --> <div class="inline required field {{if .Err_LoginType}}error{{end}}"> @@ -55,7 +55,7 @@ <div class="required non-local field {{if .Err_LoginName}}error{{end}} {{if eq .User.LoginSource 0}}tw-hidden{{end}}"> <label for="login_name">{{ctx.Locale.Tr "admin.users.auth_login_name"}}</label> - <input id="login_name" name="login_name" value="{{.User.LoginName}}" autofocus> + <input id="login_name" name="login_name" value="{{.User.LoginName}}"> </div> <div class="field {{if .Err_FullName}}error{{end}}"> <label for="full_name">{{ctx.Locale.Tr "settings.full_name"}}</label> @@ -63,7 +63,7 @@ </div> <div class="required field {{if .Err_Email}}error{{end}}"> <label for="email">{{ctx.Locale.Tr "email"}}</label> - <input id="email" name="email" type="email" value="{{.User.Email}}" autofocus required> + <input id="email" name="email" type="email" value="{{.User.Email}}" required> </div> <div class="local field {{if .Err_Password}}error{{end}} {{if not (or (.User.IsLocal) (.User.IsOAuth2))}}tw-hidden{{end}}"> <label for="password">{{ctx.Locale.Tr "password"}}</label> @@ -195,8 +195,7 @@ </div> <div class="inline field tw-pl-4"> - <label for="avatar">{{ctx.Locale.Tr "settings.choose_new_avatar"}}</label> - <input name="avatar" type="file" accept="image/png,image/jpeg,image/gif,image/webp"> + {{template "shared/avatar_upload_crop" dict "LabelText" (ctx.Locale.Tr "settings.choose_new_avatar")}} </div> <div class="field"> diff --git a/templates/admin/user/list.tmpl b/templates/admin/user/list.tmpl index 7e4c8854f5..49f62dda74 100644 --- a/templates/admin/user/list.tmpl +++ b/templates/admin/user/list.tmpl @@ -56,7 +56,7 @@ </form> </div> <div class="ui attached table segment"> - <table class="ui very basic striped table unstackable"> + <table class="ui very basic striped selectable table unstackable"> <thead> <tr> <th data-sortt-asc="oldest" data-sortt-desc="newest">ID{{SortArrow "oldest" "newest" .SortType false}}</th> @@ -109,6 +109,8 @@ </div> </td> </tr> + {{else}} + <tr class="no-results-row"><td class="tw-text-center" colspan="9">{{ctx.Locale.Tr "no_results_found"}}</td></tr> {{end}} </tbody> </table> diff --git a/templates/admin/user/view.tmpl b/templates/admin/user/view.tmpl index 21943a8382..67f9148e64 100644 --- a/templates/admin/user/view.tmpl +++ b/templates/admin/user/view.tmpl @@ -15,10 +15,7 @@ </div> <div class="tw-flex-1"> <h4 class="ui top attached header"> - {{ctx.Locale.Tr "admin.emails"}} - <div class="ui right"> - {{.EmailsTotal}} - </div> + {{ctx.Locale.Tr "admin.emails"}} ({{ctx.Locale.Tr "admin.total" .EmailsTotal}}) </h4> <div class="ui attached segment"> {{template "admin/user/view_emails" .}} @@ -26,19 +23,13 @@ </div> </div> <h4 class="ui top attached header"> - {{ctx.Locale.Tr "admin.repositories"}} - <div class="ui right"> - {{.ReposTotal}} - </div> + {{ctx.Locale.Tr "admin.repositories"}} ({{ctx.Locale.Tr "admin.total" .ReposTotal}}) </h4> <div class="ui attached segment"> - {{template "explore/repo_list" .}} + {{template "shared/repo/list" .}} </div> <h4 class="ui top attached header"> - {{ctx.Locale.Tr "settings.organization"}} - <div class="ui right"> - {{.OrgsTotal}} - </div> + {{ctx.Locale.Tr "settings.organization"}} ({{ctx.Locale.Tr "admin.total" .OrgsTotal}}) </h4> <div class="ui attached segment"> {{template "explore/user_list" .}} diff --git a/templates/admin/user/view_details.tmpl b/templates/admin/user/view_details.tmpl index be2f32b5ec..db61bc9359 100644 --- a/templates/admin/user/view_details.tmpl +++ b/templates/admin/user/view_details.tmpl @@ -9,30 +9,25 @@ {{if .User.IsAdmin}} <span class="ui basic label">{{ctx.Locale.Tr "admin.users.admin"}}</span> {{end}} + {{if .User.IsTypeBot}} + <span class="ui basic label">{{ctx.Locale.Tr "admin.users.bot"}}</span> + {{end}} </div> <div class="flex-item-body"> <b>{{ctx.Locale.Tr "admin.users.auth_source"}}:</b> - {{if eq .LoginSource.ID 0}} - {{ctx.Locale.Tr "admin.users.local"}} - {{else}} - {{.LoginSource.Name}} - {{end}} + {{Iif (eq .LoginSource.ID 0) (ctx.Locale.Tr "admin.users.local") .LoginSource.Name}} </div> <div class="flex-item-body"> <b>{{ctx.Locale.Tr "admin.users.activated"}}:</b> - {{if .User.IsActive}} - {{svg "octicon-check"}} - {{else}} - {{svg "octicon-x"}} - {{end}} + {{svg (Iif .User.IsActive "octicon-check" "octicon-x")}} + </div> + <div class="flex-item-body"> + <b>{{ctx.Locale.Tr "admin.users.prohibit_login"}}:</b> + {{svg (Iif .User.ProhibitLogin "octicon-check" "octicon-x")}} </div> <div class="flex-item-body"> <b>{{ctx.Locale.Tr "admin.users.restricted"}}:</b> - {{if .User.IsRestricted}} - {{svg "octicon-check"}} - {{else}} - {{svg "octicon-x"}} - {{end}} + {{svg (Iif .User.IsRestricted "octicon-check" "octicon-x")}} </div> <div class="flex-item-body"> <b>{{ctx.Locale.Tr "settings.visibility"}}:</b> @@ -42,11 +37,7 @@ </div> <div class="flex-item-body"> <b>{{ctx.Locale.Tr "admin.users.2fa"}}:</b> - {{if .TwoFactorEnabled}} - <span class="text green">{{svg "octicon-check"}}</span> - {{else}} - {{svg "octicon-x"}} - {{end}} + {{svg (Iif .TwoFactorEnabled "octicon-check" "octicon-x")}} </div> {{if .User.Language}} <div class="flex-item-body"> diff --git a/templates/admin/user/view_emails.tmpl b/templates/admin/user/view_emails.tmpl index 22ce305a88..7e77206f1c 100644 --- a/templates/admin/user/view_emails.tmpl +++ b/templates/admin/user/view_emails.tmpl @@ -3,7 +3,7 @@ <div class="flex-item"> <div class="flex-item-main"> <div class="flex-text-block"> - {{.Email}} + <a href="mailto:{{.Email}}">{{.Email}}</a> {{if .IsPrimary}} <div class="ui primary label">{{ctx.Locale.Tr "settings.primary"}}</div> {{end}} |