Security improvements:
- Removed registration link from login page
- Disabled /auth/register route - redirects with error message
- Removed demo credentials from login page
- Added info message: 'New users are created by administrators'
UI improvements:
- Compacted all admin interface buttons (btn-sm)
- Reduced heading sizes (H2 → H4) for less visual dominance
- Shortened badge texts ('Administrator' → 'Admin', 'Benutzer' → 'User')
- Optimized spacing and reduced margins/paddings
- Cleaner, more professional admin interface
Access control:
- Only administrators can create new users via admin panel
- Self-registration completely disabled for security
- Maintains full admin functionality with improved UX
87 lines
4.2 KiB
HTML
87 lines
4.2 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}Neuen Benutzer erstellen{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="container">
|
|
<div class="row justify-content-center">
|
|
<div class="col-md-6">
|
|
<div class="d-flex justify-content-between align-items-center mb-4">
|
|
<h4><i class="fas fa-user-plus"></i> Neuen Benutzer erstellen</h4>
|
|
<a href="{{ url_for('admin.users') }}" class="btn btn-outline-secondary btn-sm">
|
|
<i class="fas fa-arrow-left"></i> Zurück
|
|
</a>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<form method="POST">
|
|
<div class="mb-3">
|
|
<label for="username" class="form-label">
|
|
<i class="fas fa-user"></i> Benutzername *
|
|
</label>
|
|
<input type="text" class="form-control" id="username" name="username"
|
|
required maxlength="80" placeholder="z.B. john.doe">
|
|
<div class="form-text">Der Benutzername muss eindeutig sein</div>
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label for="email" class="form-label">
|
|
<i class="fas fa-envelope"></i> E-Mail-Adresse *
|
|
</label>
|
|
<input type="email" class="form-control" id="email" name="email"
|
|
required maxlength="120" placeholder="john.doe@example.com">
|
|
<div class="form-text">Die E-Mail-Adresse muss eindeutig sein</div>
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label for="password" class="form-label">
|
|
<i class="fas fa-lock"></i> Passwort *
|
|
</label>
|
|
<input type="password" class="form-control" id="password" name="password"
|
|
required minlength="6" placeholder="Mindestens 6 Zeichen">
|
|
<div class="form-text">Mindestens 6 Zeichen erforderlich</div>
|
|
</div>
|
|
|
|
<div class="mb-4">
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="checkbox" id="is_admin" name="is_admin">
|
|
<label class="form-check-label" for="is_admin">
|
|
<i class="fas fa-user-shield text-danger"></i> Administrator-Rechte gewähren
|
|
</label>
|
|
<div class="form-text">
|
|
Administratoren können andere Benutzer verwalten und haben Vollzugriff
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="d-grid gap-2">
|
|
<button type="submit" class="btn btn-success btn-sm">
|
|
<i class="fas fa-user-plus"></i> Benutzer erstellen
|
|
</button>
|
|
<a href="{{ url_for('admin.users') }}" class="btn btn-outline-secondary btn-sm">
|
|
<i class="fas fa-times"></i> Abbrechen
|
|
</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Hinweise -->
|
|
<div class="card mt-3">
|
|
<div class="card-header">
|
|
<h6><i class="fas fa-info-circle"></i> Hinweise</h6>
|
|
</div>
|
|
<div class="card-body">
|
|
<ul class="mb-0 small">
|
|
<li>Alle mit * markierten Felder sind Pflichtfelder</li>
|
|
<li>Benutzername und E-Mail müssen eindeutig sein</li>
|
|
<li>Passwort sollte sicher gewählt werden (mind. 6 Zeichen)</li>
|
|
<li>Admin-Rechte gewähren Vollzugriff auf alle Funktionen</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %} |