summaryrefslogtreecommitdiffstats
path: root/templates/admin/emails/list.tmpl
blob: b07c6fcc015da5f5be98dc3f907efa4f093af6fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
{{template "admin/layout_head" (dict "ctxData" . "pageClass" "admin user")}}
	<div class="admin-setting-content">
		<h4 class="ui top attached header">
			{{ctx.Locale.Tr "admin.emails.email_manage_panel"}} ({{ctx.Locale.Tr "admin.total" .Total}})
		</h4>
		<div class="ui attached segment">
			<div class="ui secondary filter menu tw-items-center tw-mx-0">
				<form class="ui form ignore-dirty tw-flex-1">
					{{template "shared/search/combo" dict "Value" .Keyword}}
				</form>
				<!-- Sort -->
				<div class="ui dropdown type jump item tw-mr-0">
					<span class="text">
						{{ctx.Locale.Tr "repo.issues.filter_sort"}}
					</span>
					{{svg "octicon-triangle-down" 14 "dropdown icon"}}
					<div class="menu">
						<a class="{{if or (eq .SortType "email") (not .SortType)}}active {{end}}item" href="?sort=email&q={{$.Keyword}}">{{ctx.Locale.Tr "admin.emails.filter_sort.email"}}</a>
						<a class="{{if eq .SortType "reverseemail"}}active {{end}}item" href="?sort=reverseemail&q={{$.Keyword}}">{{ctx.Locale.Tr "admin.emails.filter_sort.email_reverse"}}</a>
						<a class="{{if eq .SortType "username"}}active {{end}}item" href="?sort=username&q={{$.Keyword}}">{{ctx.Locale.Tr "admin.emails.filter_sort.name"}}</a>
						<a class="{{if eq .SortType "reverseusername"}}active {{end}}item" href="?sort=reverseusername&q={{$.Keyword}}">{{ctx.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">
							{{ctx.Locale.Tr "admin.users.name"}}
							{{SortArrow "username" "reverseusername" $.SortType false}}
						</th>
						<th>{{ctx.Locale.Tr "admin.users.full_name"}}</th>
						<th data-sortt-asc="email" data-sortt-desc="reverseemail" data-sortt-default="true">
							{{ctx.Locale.Tr "email"}}
							{{SortArrow "email" "reverseemail" $.SortType true}}
						</th>
						<th>{{ctx.Locale.Tr "admin.emails.primary"}}</th>
						<th>{{ctx.Locale.Tr "admin.emails.activated"}}</th>
						<th></th>
					</tr>
				</thead>
				<tbody>
					{{range .Emails}}
						<tr>
							<td><a href="{{AppSubUrl}}/{{.Name | PathEscape}}">{{.Name}}</a></td>
							<td class="gt-ellipsis tw-max-w-48">{{.FullName}}</td>
							<td class="gt-ellipsis tw-max-w-48">{{.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>
							<td>
								<div class="tw-flex tw-gap-2">
									<a class="delete-button" href="" data-url="{{$.Link}}/delete" data-id="{{.ID}}" data-data-uid="{{.UID}}">{{svg "octicon-trash"}}</a>
								</div>
							</td>
						</tr>
					{{end}}
				</tbody>
			</table>
		</div>

		{{template "base/paginate" .}}

		<div class="ui g-modal-confirm modal" id="change-email-modal">
			<div class="header">
				{{ctx.Locale.Tr "admin.emails.change_email_header"}}
			</div>
			<div class="content">
				<p class="center">{{ctx.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>

<div class="ui g-modal-confirm delete modal">
	<div class="header">
		{{svg "octicon-trash"}}
		{{ctx.Locale.Tr "admin.emails.delete"}}
	</div>
	<div class="content">
		{{ctx.Locale.Tr "admin.emails.delete_desc"}}
	</div>
	{{template "base/modal_actions_confirm" .}}
</div>

{{template "admin/layout_footer" .}}