~gitpocket/gitpocket

4
c74f117919b69cb3df5db3058cf22d650a4d9683
mainfeed-discovery
gitpocket/templates/admin.html -rw-r--r--5.7 KiB ViewLogBlameView rawPermalink 3444695d2a feat(signup): require an unverified email 17 days ago
 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
{{define "content"}}
{{$d := .Data}}
<nav class="tabs small admintabs">{{range $d.Sections}}<a href="/admin?s={{.Key}}"{{if eq .Key $d.Section}} class="active"{{end}}>{{.Title}}</a>{{end}}</nav>
{{if $d.Saved}}<p class="notice">Saved.</p>{{end}}

{{if eq $d.Section "overview"}}
{{with $d.Stats}}<h3 class="rule">Site</h3>
<table class="keys">
<tr><td>Users</td><td>{{.Users}}{{if .Banned}} <span class="muted">({{.Banned}} banned)</span>{{end}}</td></tr>
<tr><td>Organisations</td><td>{{.Orgs}}</td></tr>
<tr><td>Repositories</td><td>{{.Repos}} <span class="muted">({{.Private}} private, {{.Unlisted}} unlisted)</span></td></tr>
<tr><td>Disk usage</td><td>{{size $d.Used}}{{if $d.Quota}} <span class="muted">(quota {{$d.QuotaText}} per owner)</span>{{end}}</td></tr>
<tr><td>Registration</td><td>{{if eq $d.Registration "open"}}open to everyone{{else if eq $d.Registration "invite"}}invite only{{else}}closed{{end}} <a class="muted" href="/admin?s=signup">change</a></td></tr>
<tr><td>Mail</td><td>{{if $d.Mail}}configured{{else}}not configured, resets go through <code>gitpocket passwd</code>{{end}}</td></tr>
</table>{{end}}
<h3 class="rule">Newest accounts</h3>
<table class="keys">{{range $d.Recent}}<tr><td><a href="/~{{.Name}}">~{{.Name}}</a></td><td class="muted">{{if .Org}}organisation{{else if .Admin}}admin{{end}}{{if .Banned}} banned{{end}}</td><td class="when">{{ago .Created}}</td></tr>{{end}}</table>
{{end}}

{{if eq $d.Section "people"}}
<h3 class="rule">People</h3>
<form method="get" action="/admin" class="inline"><input type="hidden" name="s" value="people"><input name="q" value="{{$d.Query}}" placeholder="Filter by name" aria-label="Filter by name"><button class="btn">Filter ▸</button>{{if $d.Query}}<a href="/admin?s=people">clear</a>{{end}}</form>
<table class="keys">{{range $d.Accounts}}<tr>
<td><a href="/~{{.Name}}">~{{.Name}}</a></td>
<td class="muted">{{if .Org}}organisation{{else if .Admin}}admin{{end}}{{if .Banned}} banned{{end}}</td>
<td class="muted">{{.Repos}} repos</td>
<td class="when">joined {{.Created.Format "2 Jan 2006"}}</td>
<td>{{if ne .Name $.User.Name}}<form method="post" action="/admin" class="inline"><input type="hidden" name="s" value="people"><input type="hidden" name="q" value="{{$d.Query}}"><input type="hidden" name="name" value="{{.Name}}">{{if not .Org}}{{if .Admin}}<button class="btn small" name="action" value="unadmin">Revoke admin</button>{{else}}<button class="btn small" name="action" value="admin">Make admin</button>{{end}}{{end}}{{if .Banned}}<button class="btn small" name="action" value="unban">Unban</button>{{else}}<button class="btn small danger" name="action" value="ban">Ban</button>{{end}}</form>{{end}}</td>
</tr>{{else}}<tr><td class="muted">Nobody matches.</td></tr>{{end}}</table>
{{end}}

{{if eq $d.Section "signup"}}
<h3 class="rule">Registration</h3>
<form method="post" action="/admin" class="stack">
<input type="hidden" name="action" value="signup"><input type="hidden" name="s" value="signup">
<label class="check"><input type="radio" name="mode" value="open"{{if eq $d.Registration "open"}} checked{{end}}> Open to everyone</label>
<label class="check"><input type="radio" name="mode" value="invite"{{if eq $d.Registration "invite"}} checked{{end}}> Invite only</label>
<label class="check"><input type="radio" name="mode" value="closed"{{if eq $d.Registration "closed"}} checked{{end}}> Closed, accounts only come from <code>gitpocket user</code></label>
<div class="actions left"><button class="btn primary">Save ▸</button></div>
</form>
<h3 class="rule">Invites</h3>
{{if $d.Invites}}<table class="keys">{{range $d.Invites}}<tr><td><code>https://{{$.Host}}/register?invite={{.}}</code></td><td><form method="post" action="/admin" class="inline"><input type="hidden" name="s" value="signup"><input type="hidden" name="code" value="{{.}}"><button class="btn small danger" name="action" value="revoke">Revoke</button></form></td></tr>{{end}}</table>{{else}}<p class="muted">No unused invites.</p>{{end}}
<form method="post" action="/admin" class="inline"><input type="hidden" name="s" value="signup"><button class="btn" name="action" value="invite">New invite ▸</button></form>
{{end}}

{{if eq $d.Section "projects"}}
<h3 class="rule">Front page</h3>
<p class="muted small">Numbered projects appear on the logged out front page in that order, 0 hides one. With none chosen the most recently pushed are shown.</p>
<table class="keys">{{range $d.Public}}{{$rank := index $d.Ranks .ID}}<tr>
<td><a href="/{{.Path}}">{{.Path}}</a></td>
<td class="muted">{{.Description}}</td>
<td><form method="post" action="/admin" class="inline"><input type="hidden" name="s" value="projects"><input type="hidden" name="action" value="feature"><input type="hidden" name="name" value="{{.Owner.Name}}/{{.Name}}"><input class="rank" name="rank" type="number" min="0" max="99" value="{{$rank}}" aria-label="Position for {{.Path}}"><button class="btn small">Set</button></form></td>
</tr>{{end}}</table>
{{end}}

{{if eq $d.Section "storage"}}
<h3 class="rule">Quota</h3>
<form method="post" action="/admin" class="stack">
<input type="hidden" name="s" value="storage"><input type="hidden" name="action" value="quota">
<label>Per owner <input name="quota" value="{{$d.QuotaText}}" placeholder="0"></label>
<small>For example 500M or 2G, 0 for no limit. A push that would go over it is refused before anything is written.</small>
<div class="actions left"><button class="btn primary">Save ▸</button></div>
</form>
<h3 class="rule">Usage</h3>
<table class="keys">{{range $d.Owners}}<tr><td><a href="/~{{.Name}}">~{{.Name}}</a></td><td>{{size .Used}}</td><td class="muted">{{if $d.Quota}}{{.Pct}}% of {{$d.QuotaText}}{{end}}</td></tr>{{else}}<tr><td class="muted">No repositories yet.</td></tr>{{end}}</table>
{{end}}
{{end}}