Schließt den zweiten Punkt der geplanten Onboarding-Reihenfolge. Admin lädt eine CSV mit Spalten email (Pflicht) und role (optional, Standard mitarbeiter) unter GET /verwaltung/nutzer/import hoch. Wie beim einzelnen Nutzer-Anlegen gibt es keine Einladungsmail — pro Zeile wird ein Einmalpasswort erzeugt und nur auf der Ergebnisseite direkt nach dem Import angezeigt, danach nirgendwo mehr abrufbar. Kein Alles-oder-nichts-Import: eine ungültige Zeile blockiert nicht die übrigen, jede Zeile bekommt ihr eigenes Ergebnis. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
34 lines
862 B
HTML
34 lines
862 B
HTML
{{define "nutzer-import-ergebnis"}}<!doctype html>
|
|
<html lang="de">
|
|
<head>{{template "head" .}}</head>
|
|
<body>
|
|
{{template "nav" .Nav}}
|
|
<div class="page">
|
|
<h1>Import-Ergebnis</h1>
|
|
<p class="fehler">
|
|
Die Einmalpasswörter unten werden nach dieser Seite nirgendwo mehr
|
|
angezeigt — jetzt kopieren und sicher weitergeben.
|
|
</p>
|
|
<div class="table-scroll">
|
|
<table>
|
|
<thead>
|
|
<tr><th>Zeile</th><th>E-Mail</th><th>Rolle</th><th>Ergebnis</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
{{range .Ergebnisse}}
|
|
<tr>
|
|
<td>{{.Zeile}}</td>
|
|
<td>{{.Email}}</td>
|
|
<td>{{if .Fehler}}—{{else}}{{.Role}}{{end}}</td>
|
|
<td>{{if .Fehler}}<span class="fehler">{{.Fehler}}</span>{{else}}<code>{{.Passwort}}</code>{{end}}</td>
|
|
</tr>
|
|
{{end}}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<p><a href="/verwaltung/nutzer">Zur Nutzerverwaltung</a></p>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
{{end}}
|