Verbessere Nutzer-Erstellung: JSON statt URL-encoded, Erfolgs-Feedback

- Sende Nutzer-Daten als JSON (konsistent mit anderen Admin-Endpoints)
- Zeige Erfolgs-Alert nach Erstellung
- Bessere Fehlermeldungen mit HTTP-Status
- Client-side Validierung vor dem Absenden

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Kroonk
2026-04-16 21:40:56 +02:00
parent e5e313924d
commit c37aa3261c
2 changed files with 20 additions and 8 deletions

View File

@@ -61,16 +61,28 @@ $(document).ready(function() {
// Nutzer erstellen
$('#create-user-form').submit(function(e) {
e.preventDefault();
$.post('/api/admin/users', {
username: $('#new-username').val(),
password: $('#new-password').val(),
role: $('#new-role').val()
}).done(function() {
var username = $('#new-username').val().trim();
var password = $('#new-password').val();
var role = $('#new-role').val();
if (!username || !password) {
alert('Bitte Username und Passwort eingeben.');
return;
}
$.ajax({
url: '/api/admin/users',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({ username: username, password: password, role: role })
}).done(function(data) {
alert('Nutzer "' + username + '" erfolgreich erstellt!');
$('#new-username').val('');
$('#new-password').val('');
loadUsers();
}).fail(function(err) {
alert('Fehler: ' + (err.responseJSON ? err.responseJSON.error : 'Unbekannt'));
}).fail(function(xhr) {
var msg = 'Unbekannter Fehler';
if (xhr.responseJSON && xhr.responseJSON.error) msg = xhr.responseJSON.error;
else if (xhr.status) msg = 'HTTP ' + xhr.status + ': ' + xhr.statusText;
alert('Fehler beim Erstellen: ' + msg);
});
});