Raw
 1{{define "title"}}{{trt "admin.user.title" .Data.Username}}{{end}}
 2{{define "content"}}{{template "admin-header" .}}<p><a href="/users">{{t "admin.users.title"}}</a> / {{id .Data.Username}}</p>
 3<h1>{{tr "admin.user.title" .Data.Username}}{{if .Data.Admin}} <small>{{t "admin.user.admin"}}</small>{{end}}</h1>
 4<h2>{{t "admin.user.profile"}}</h2>
 5<p class="small">{{t "admin.user.uid"}} {{id .Data.Username}} ({{t "admin.user.immutable"}}) · {{t "admin.user.uuid"}} {{id .Data.ID}} · {{t "admin.user.uidnumber"}} {{.Data.UIDNumber}}</p>
 6<dl>
 7<dt>{{t "admin.user.display_name"}}</dt><dd>{{.Data.DisplayName}}</dd>
 8</dl>
 9<form method="get" action="/users/{{.Data.ID}}/profile"><button type="submit">{{t "admin.user.edit_profile"}}</button></form>
10<h2>{{t "admin.user.access"}}</h2>
11<p>{{t "admin.user.state"}}: {{if .Data.Pending}}{{t "admin.state.pending"}}{{else if .Data.Disabled}}{{t "admin.state.disabled"}}{{else}}{{t "admin.state.active"}}{{end}}</p>
12{{if .Data.Pending}}<div class="actions"><a href="/users/{{.Data.ID}}/confirm">{{t "admin.user.confirm"}}</a> <a href="/users/{{.Data.ID}}/reject">{{t "admin.user.reject"}}</a></div>
13{{else if .Data.Disabled}}<form method="get" action="/users/{{.Data.ID}}/enable"><button type="submit">{{t "admin.user.enable"}}</button></form>
14{{else}}<form method="get" action="/users/{{.Data.ID}}/disable"><button type="submit">{{t "admin.user.disable"}}</button></form>
15{{end}}<p>{{t "admin.user.password"}}: {{t "admin.user.password_never"}}</p>
16{{if not .Data.Disabled}}<form method="get" action="/users/{{.Data.ID}}/reset-link"><button type="submit">{{t "admin.user.reset"}}</button></form>
17{{end}}{{if .Data.LastSignIn}}<p>{{t "admin.user.last_sign_in"}}: {{.Data.LastSignIn}}</p>
18{{else if not .Data.Pending}}<p class="small">{{t "admin.user.never_signed_in"}}</p>
19{{end}}<h2>{{t "admin.user.groups"}}</h2>
20<ul>
21{{range .Data.Groups}}<li><span class="badge">{{id .Name}}</span>{{if .Primary}} <small>{{t "admin.user.primary"}}</small>{{end}}</li>
22{{end}}</ul>
23{{if .Data.More}}<p><small>+{{.Data.More}} {{t "admin.badges.more"}}</small></p>
24{{end}}<form method="get" action="/users/{{.Data.ID}}/groups"><button type="submit">{{t "admin.user.change_groups"}}</button></form>
25<h2>{{t "admin.user.google"}}</h2>
26{{if .Data.Google}}<p>{{t "admin.user.google_linked"}} {{t "admin.user.google_since"}} {{.Data.GoogleSince}}</p>
27<form method="get" action="/users/{{.Data.ID}}/google/unlink"><button type="submit">{{t "admin.user.google_unlink"}}</button></form>
28<p class="small">{{t "admin.user.google_unlink_hint"}}</p>
29{{else}}<p>{{t "admin.user.google_none"}}</p>
30{{end}}<h2>{{t "ssh_keys.heading"}}</h2>
31{{template "ssh-keys" .Data.SSHKeys}}<h2>{{t "admin.user.sessions"}}</h2>
32<p>{{.Data.Sessions}} {{if eq .Data.Sessions 1}}{{t "admin.user.sessions_count_one"}}{{else}}{{t "admin.user.sessions_count"}}{{end}} · {{.Data.RefreshTokens}} {{if eq .Data.RefreshTokens 1}}{{t "admin.user.refresh_count_one"}}{{else}}{{t "admin.user.refresh_count"}}{{end}}</p>
33<form method="get" action="/users/{{.Data.ID}}/sessions/revoke-all"><button type="submit">{{t "admin.user.revoke_all"}}</button></form>
34<h2>{{t "admin.user.danger"}}</h2>
35<form method="get" action="/users/{{.Data.ID}}/delete"><button type="submit">{{t "admin.user.delete"}}</button></form>
36<p class="small">{{t "admin.user.delete_hint"}}</p>
37<h2>{{t "admin.user.activity"}}</h2>
38{{template "admin-audit" .Data.Activity}}<div class="actions"><form method="get" action="/audit"><input type="hidden" class="ident" name="subject" value="{{.Data.ID}}"><button type="submit">{{t "admin.user.audit_about"}}</button></form><form method="get" action="/audit"><input type="hidden" class="ident" name="actor" value="{{.Data.ID}}"><button type="submit">{{t "admin.user.audit_by"}}</button></form></div>
39{{end}}