update admin und löschung
All checks were successful
release-tag / release-image (push) Successful in 1m41s
All checks were successful
release-tag / release-image (push) Successful in 1m41s
This commit is contained in:
91
templates/admin.html
Normal file
91
templates/admin.html
Normal file
@@ -0,0 +1,91 @@
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{{.Title}} · SEND.NRW Chat</title>
|
||||
<script src="https://unpkg.com/htmx.org@1.9.12"></script>
|
||||
<link rel="stylesheet" href="/static/app.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="shell">
|
||||
<header class="topbar">
|
||||
<a class="brand" href="/rooms">SEND.NRW Chat</a>
|
||||
<form method="post" action="/logout">
|
||||
<span class="user-pill">{{.Username}} · {{.User.Role}}</span>
|
||||
<button class="ghost" type="submit">Logout</button>
|
||||
</form>
|
||||
</header>
|
||||
|
||||
<main class="grid-page">
|
||||
<section class="hero card">
|
||||
<div>
|
||||
<p class="eyebrow">Administration</p>
|
||||
<h1>Berechtigungen & Aufräumen</h1>
|
||||
<p class="muted">Admins verwalten Rollen, Raumrechte und die Nachrichten-Retention.</p>
|
||||
{{if .Notice}}<p class="notice">{{.Notice}}</p>{{end}}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="card">
|
||||
<h2>Benutzerrollen</h2>
|
||||
<div class="table-list">
|
||||
{{range .Users}}
|
||||
<form class="table-row" method="post" action="/admin/users/{{.Username}}/role">
|
||||
<div><strong>{{.Username}}</strong><br><small>{{.Email}} {{.Subject}}</small></div>
|
||||
<div><small>Zuletzt: {{formatDateTime .LastSeen}}</small></div>
|
||||
<select name="role">
|
||||
{{$current := .Role}}
|
||||
{{range $.Roles}}<option value="{{.}}" {{if eq . $current}}selected{{end}}>{{.}}</option>{{end}}
|
||||
</select>
|
||||
<button type="submit">Speichern</button>
|
||||
</form>
|
||||
{{end}}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="card">
|
||||
<h2>Raumrechte</h2>
|
||||
<p class="muted">Mitglieder gelten bei der Regel <code>members</code>. Moderatoren dürfen member-Räume ebenfalls sehen/schreiben.</p>
|
||||
<div class="stack">
|
||||
{{range .Rooms}}
|
||||
<form class="permission-card" method="post" action="/admin/rooms/{{.ID}}/permissions">
|
||||
<div>
|
||||
<h3>{{.Name}}</h3>
|
||||
<p class="muted">{{.Description}}</p>
|
||||
</div>
|
||||
<label>Lesen
|
||||
<select name="read_access">
|
||||
{{$read := .ReadAccess}}
|
||||
{{range $.AccessRules}}<option value="{{.}}" {{if eq . $read}}selected{{end}}>{{.}}</option>{{end}}
|
||||
</select>
|
||||
</label>
|
||||
<label>Schreiben
|
||||
<select name="write_access">
|
||||
{{$write := .WriteAccess}}
|
||||
{{range $.AccessRules}}<option value="{{.}}" {{if eq . $write}}selected{{end}}>{{.}}</option>{{end}}
|
||||
</select>
|
||||
</label>
|
||||
<label>Mitglieder
|
||||
<input name="members" value="{{join .Members ", "}}" placeholder="jan, anna, max">
|
||||
</label>
|
||||
<button type="submit">Rechte speichern</button>
|
||||
</form>
|
||||
{{end}}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="card">
|
||||
<h2>Alte Nachrichten löschen</h2>
|
||||
<form method="post" action="/admin/cleanup" class="two-col-form">
|
||||
<label>Aufbewahrung in Tagen
|
||||
<input type="number" min="1" name="retention_days" value="90" required>
|
||||
</label>
|
||||
<button type="submit">Ältere Nachrichten löschen</button>
|
||||
</form>
|
||||
<p class="muted">Beispiel: 90 löscht alle Nachrichten, die älter als 90 Tage sind.</p>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user