Benutzerverwaltung + Fehleranzeige in Formularen

- Backend: /api/users (LIST/CREATE/PATCH, admin-only) mit Self-Protection
  (Admin kann sich nicht selbst deaktivieren/entziehen), lokale User
  anlegbar, LDAP-User verwaltbar (aktiv/admin), Passwort-Reset nur lokal
- Frontend: Benutzer-View (Liste, anlegen, toggles, Passwort setzen),
  Nav-Eintrag + Route
- Bugfix 'Speichern tut nichts': submit() brach stillschweigend ab wenn
  kein Kunde gewaehlt war oder die API einen Fehler lieferte - jetzt
  wird eine Fehlermeldung angezeigt (Servers, Customers, Satellites)
This commit is contained in:
B0rbor4d
2026-09-29 01:25:04 +00:00
parent 95291df971
commit d1a757d72b
11 changed files with 524 additions and 11 deletions
+35
View File
@@ -0,0 +1,35 @@
"""User schemas for dashboard user management."""
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field
class UserRead(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: int
username: str
email: str | None
full_name: str | None
is_ldap: bool
is_admin: bool
is_active: bool
last_login_at: datetime | None
created_at: datetime
class UserCreate(BaseModel):
username: str = Field(min_length=2, max_length=255)
password: str = Field(min_length=8, max_length=72)
email: str | None = None
full_name: str | None = None
is_admin: bool = False
class UserUpdate(BaseModel):
email: str | None = None
full_name: str | None = None
is_admin: bool | None = None
is_active: bool | None = None
password: str | None = Field(default=None, min_length=8, max_length=72)