forked from Shiloh/githaven
44e0cfa96e
Co-Author: @wxiaoguang This is the first step of #24229. And this PR will only includes html changes, and followed by other PRs that fine tune css and change to submenus. After: Admin Level <img width="1400" alt="Screen Shot 2023-04-21 at 10 07 16" src="https://user-images.githubusercontent.com/17645053/233523870-f848b61d-056a-4b41-9760-a9a49fea1fe8.png"> User Level <img width="1422" alt="Screen Shot 2023-04-21 at 10 07 23" src="https://user-images.githubusercontent.com/17645053/233523878-979adb20-a657-43d9-99a6-ad414010c0ef.png"> Repo Level <img width="1404" alt="Screen Shot 2023-04-21 at 10 07 07" src="https://user-images.githubusercontent.com/17645053/233523863-337440bd-c03a-4dfd-87fa-cef40300bfe0.png"> --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
102 lines
4.4 KiB
Handlebars
102 lines
4.4 KiB
Handlebars
{{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 right floated secondary filter menu">
|
|
<!-- Sort -->
|
|
<div class="ui dropdown type jump item">
|
|
<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>
|
|
<form class="ui form ignore-dirty" style="max-width: 90%">
|
|
<div class="ui fluid action input">
|
|
<input name="q" value="{{.Keyword}}" placeholder="{{.locale.Tr "explore.search"}}..." autofocus>
|
|
<button class="ui primary button">{{.locale.Tr "explore.search"}}</button>
|
|
</div>
|
|
</form>
|
|
</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><span class="text truncate">{{.FullName}}</span></td>
|
|
<td><span class="text email">{{.Email}}</span></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 gitea-confirm-modal 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" .}}
|