gitcat
1{{define "content"}}
2{{template "adminnav" (dict "Tab" "users")}}
3<div class="pagehead">
4 <h1>用户管理</h1>
5 <p class="muted">站点不开放注册,所有成员账号在这里创建。成员可以自行修改昵称、头像与密码。</p>
6</div>
7
8<div class="split">
9 <div class="col-main">
10 <div class="card">
11 <h3 class="card-title">全部成员 <span class="cnt">{{len .Data.Users}}</span></h3>
12 <div class="table-wrap">
13 <table class="datatable">
14 <thead><tr><th>成员</th><th>项目</th><th>推送</th><th>最近登录</th><th>状态</th><th></th></tr></thead>
15 <tbody>
16 {{range .Data.Users}}
17 <tr>
18 <td class="cell-user">
19 {{template "av" (dict "U" . "S" 30)}}
20 <div><a class="quiet" href="/admin/users/{{.ID}}">{{.Display}}</a><span class="muted small">@{{.Username}}</span></div>
21 </td>
22 <td>{{.RepoCount}}</td>
23 <td>{{.PushCount}}</td>
24 <td class="muted small">{{if .LastLoginAt}}{{timeago .LastLoginAt}}{{else}}从未登录{{end}}</td>
25 <td>
26 {{if .IsAdmin}}<span class="tag tag-ok">管理员</span>{{end}}
27 {{if .IsDisabled}}<span class="tag tag-warn">已停用</span>{{else}}<span class="tag tag-plain">正常</span>{{end}}
28 </td>
29 <td class="cell-actions"><a class="btn btn-mini" href="/admin/users/{{.ID}}">编辑</a></td>
30 </tr>
31 {{end}}
32 </tbody>
33 </table>
34 </div>
35 </div>
36 </div>
37
38 <aside class="col-side">
39 <div class="card">
40 <h3 class="card-title">新建用户</h3>
41 <form method="post" action="/admin/users" autocomplete="off">
42 <input type="hidden" name="csrf" value="{{.CSRF}}">
43 <label class="field"><span>用户名</span><input type="text" name="username" required maxlength="32" placeholder="登录名,如 xiaoming"></label>
44 <label class="field"><span>昵称</span><input type="text" name="display_name" maxlength="40" placeholder="显示名,如 小明"></label>
45 <label class="field"><span>邮箱(可选)</span><input type="email" name="email" maxlength="120" placeholder="you@studio.com"></label>
46 <label class="field"><span>初始密码</span><input type="text" name="password" required minlength="6" placeholder="至少 6 位,创建后请告知本人"></label>
47 <label class="check"><input type="checkbox" name="is_admin"><span>设为管理员</span></label>
48 <button class="btn btn-primary btn-block" type="submit">创建账号</button>
49 </form>
50 </div>
51 </aside>
52</div>
53{{end}}