95 lines
3.8 KiB
HTML
95 lines
3.8 KiB
HTML
{{template "header" .}}
|
|
|
|
<div class="page-header">
|
|
<div class="page-header-title">
|
|
<h1>Workspaces {{template "helplink" "plattform-admin#workspaces"}}</h1>
|
|
<span class="help">Jede Abteilung hat ihren eigenen Workspace — eigene Projekte,
|
|
eigene Einträge, eigener Speicherbereich (Datei bzw. Schema, siehe unter dem
|
|
Namen). Sie sehen sich gegenseitig nicht.</span>
|
|
</div>
|
|
</div>
|
|
|
|
{{if .Data.Workspaces}}
|
|
<div class="table-wrap">
|
|
<table class="styled-table">
|
|
<thead>
|
|
<tr>
|
|
<th>Workspace</th>
|
|
<th class="num">Projekte</th>
|
|
<th class="num">Workspace-Admins</th>
|
|
<th>Angelegt</th>
|
|
<th class="narrow right">Auswahl</th>
|
|
<th class="narrow right">Verwaltung</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{$aktuell := .Data.Current}}
|
|
{{range .Data.Workspaces}}
|
|
<tr>
|
|
<td>
|
|
{{.Name}}
|
|
{{if eq .ID $aktuell}}<span class="badge emphasis">Aktuell</span>{{end}}
|
|
{{/* Wo die Daten liegen: PostgreSQL-Schema oder SQLite-Datei.
|
|
Zum Wiederfinden in der Datenbank, z.B. in psql. */}}
|
|
<div class="help storage-location" title="Speicherort in der Datenbank">{{.Location}}</div>
|
|
</td>
|
|
<td class="num">{{.Projects}}</td>
|
|
{{/* Aktive Workspace-Admins. "ungenutzt" ist das Signal, auf das
|
|
es hier ankommt: ein offener Zugang zum ganzen Workspace,
|
|
den seit über 90 Tagen niemand benutzt. */}}
|
|
<td class="num">
|
|
{{if .Admins}}{{.Admins}}{{else}}<span class="help">keine</span>{{end}}
|
|
{{if .AdminsUnused}}
|
|
<div><a href="/admin/workspaces/{{.ID}}/edit" class="badge warning"
|
|
title="Seit über 90 Tagen nicht benutzt">{{.AdminsUnused}} ungenutzt</a></div>
|
|
{{end}}
|
|
</td>
|
|
<td class="help">{{.CreatedAt}}</td>
|
|
<td class="narrow right">
|
|
{{if eq .ID $aktuell}}
|
|
<a href="/admin/projects" class="button secondary">Weiter</a>
|
|
{{else}}
|
|
<form method="POST" action="/admin/workspaces/select" class="row">
|
|
<input type="hidden" name="csrf_token" value="{{$.CSRFToken}}">
|
|
<input type="hidden" name="id" value="{{.ID}}">
|
|
<button type="submit" class="secondary">Öffnen</button>
|
|
</form>
|
|
{{end}}
|
|
</td>
|
|
<td class="narrow right">
|
|
<a href="/admin/workspaces/{{.ID}}/edit">Bearbeiten</a>
|
|
</td>
|
|
</tr>
|
|
{{end}}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{{else}}
|
|
<div class="empty">
|
|
<p>Noch kein Workspace angelegt.</p>
|
|
<p class="help">Ein Workspace ist die Abschottungsgrenze zwischen Abteilungen — meist einer je Team.</p>
|
|
</div>
|
|
{{end}}
|
|
|
|
<section class="section">
|
|
<h2>Neuer Workspace</h2>
|
|
<span class="help">Für eine neue Abteilung. Projekte werden danach innerhalb
|
|
des Workspace angelegt.</span>
|
|
|
|
<div class="card">
|
|
<form method="POST" action="/admin/workspaces/create" class="form">
|
|
<input type="hidden" name="csrf_token" value="{{.CSRFToken}}">
|
|
|
|
<div class="field medium">
|
|
<label for="name">Name</label>
|
|
<input type="text" id="name" name="name" required placeholder="z.B. Marketing" autofocus>
|
|
</div>
|
|
|
|
<div class="form-actions">
|
|
<button type="submit">Workspace anlegen</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</section>
|
|
|
|
{{template "footer" .}}
|