mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-03-02 23:43:13 +01:00
Some "text truncate email" code were just copied&pasted, they are not suitable for most admin tables. For the table layouts, some "max-width" helpers could be very helpful. At least, we can get rid of the confusing "email" CSS class.   
101 lines
4.4 KiB
Go HTML Template
101 lines
4.4 KiB
Go HTML Template
{{template "admin/layout_head" (dict "ctxData" . "pageClass" "admin user")}}
|
|
<div class="admin-setting-content">
|
|
<h4 class="ui top attached header">
|
|
{{.locale.Tr "admin.emails.email_manage_panel"}} ({{.locale.Tr "admin.total" .Total}})
|
|
</h4>
|
|
<div class="ui attached segment">
|
|
<div class="ui secondary filter menu gt-ac gt-mx-0">
|
|
<form class="ui form ignore-dirty gt-f1">
|
|
<div class="ui fluid action input">
|
|
{{template "shared/searchinput" dict "locale" .locale "Value" .Keyword "AutoFocus" true}}
|
|
<button class="ui primary button">{{.locale.Tr "explore.search"}}</button>
|
|
</div>
|
|
</form>
|
|
<!-- Sort -->
|
|
<div class="ui dropdown type jump item gt-mr-0">
|
|
<span class="text">
|
|
{{.locale.Tr "repo.issues.filter_sort"}}
|
|
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
|
|
</span>
|
|
<div class="menu">
|
|
<a class="{{if or (eq .SortType "email") (not .SortType)}}active {{end}}item" href="{{$.Link}}?sort=email&q={{$.Keyword}}">{{.locale.Tr "admin.emails.filter_sort.email"}}</a>
|
|
<a class="{{if eq .SortType "reverseemail"}}active {{end}}item" href="{{$.Link}}?sort=reverseemail&q={{$.Keyword}}">{{.locale.Tr "admin.emails.filter_sort.email_reverse"}}</a>
|
|
<a class="{{if eq .SortType "username"}}active {{end}}item" href="{{$.Link}}?sort=username&q={{$.Keyword}}">{{.locale.Tr "admin.emails.filter_sort.name"}}</a>
|
|
<a class="{{if eq .SortType "reverseusername"}}active {{end}}item" href="{{$.Link}}?sort=reverseusername&q={{$.Keyword}}">{{.locale.Tr "admin.emails.filter_sort.name_reverse"}}</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="ui attached table segment">
|
|
<table class="ui very basic striped table unstackable">
|
|
<thead>
|
|
<tr>
|
|
<th data-sortt-asc="username" data-sortt-desc="reverseusername">
|
|
{{.locale.Tr "admin.users.name"}}
|
|
{{SortArrow "username" "reverseusername" $.SortType false}}
|
|
</th>
|
|
<th>{{.locale.Tr "admin.users.full_name"}}</th>
|
|
<th data-sortt-asc="email" data-sortt-desc="reverseemail" data-sortt-default="true">
|
|
{{.locale.Tr "email"}}
|
|
{{SortArrow "email" "reverseemail" $.SortType true}}
|
|
</th>
|
|
<th>{{.locale.Tr "admin.emails.primary"}}</th>
|
|
<th>{{.locale.Tr "admin.emails.activated"}}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{range .Emails}}
|
|
<tr>
|
|
<td><a href="{{AppSubUrl}}/{{.Name | PathEscape}}">{{.Name}}</a></td>
|
|
<td class="gt-ellipsis gt-max-width-12rem">{{.FullName}}</td>
|
|
<td class="gt-ellipsis gt-max-width-12rem">{{.Email}}</td>
|
|
<td>{{if .IsPrimary}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}</td>
|
|
<td>
|
|
{{if .CanChange}}
|
|
<a class="link-email-action" href data-uid="{{.UID}}"
|
|
data-email="{{.Email}}"
|
|
data-primary="{{if .IsPrimary}}1{{else}}0{{end}}"
|
|
data-activate="{{if .IsActivated}}0{{else}}1{{end}}">
|
|
{{if .IsActivated}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
|
|
</a>
|
|
{{else}}
|
|
{{if .IsActivated}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}
|
|
{{end}}
|
|
</td>
|
|
</tr>
|
|
{{end}}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
{{template "base/paginate" .}}
|
|
|
|
<div class="ui g-modal-confirm modal" id="change-email-modal">
|
|
<div class="header">
|
|
{{.locale.Tr "admin.emails.change_email_header"}}
|
|
</div>
|
|
<div class="content">
|
|
<p class="center">{{.locale.Tr "admin.emails.change_email_text"}}</p>
|
|
|
|
<form class="ui form" id="email-action-form" action="{{AppSubUrl}}/admin/emails/activate" method="post">
|
|
{{$.CsrfTokenHtml}}
|
|
|
|
<input type="hidden" id="query-sort" name="sort" value="{{.SortType}}">
|
|
<input type="hidden" id="query-keyword" name="q" value="{{.Keyword}}">
|
|
<input type="hidden" id="query-primary" name="is_primary" value="{{.IsPrimary}}" required>
|
|
<input type="hidden" id="query-activated" name="is_activated" value="{{.IsActivated}}" required>
|
|
|
|
<input type="hidden" id="form-uid" name="uid" value="" required>
|
|
<input type="hidden" id="form-email" name="email" value="" required>
|
|
<input type="hidden" id="form-primary" name="primary" value="" required>
|
|
<input type="hidden" id="form-activate" name="activate" value="" required>
|
|
|
|
<div class="center">
|
|
{{template "base/modal_actions_confirm" .}}
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
{{template "admin/layout_footer" .}}
|