ProjektUser-Modal: Mehrfachauswahl, Filterung und Fehlermeldungs-Verbesserung

- Modal von Einzelauswahl (Select) auf Mehrfachauswahl mit Checkboxen umgestellt
- Nutzerliste sortiert nach username, scrollbar (eine Zeile pro Nutzer)
- SysAdmin und AppAdmin aus der Auswahlliste ausgeblendet (immer Zugriff)
- Bereits zugeordnete Nutzer ausgeblendet
- Fehleranzeige bei fehlender Rolle: closeModal im catch entfernt,
  sodass showServerError nicht sofort überschrieben wird
- AutorisationError: Meldung "Erforderliche Rollen" nur bei nicht-leerer
  allowed_roles-Liste (entfällt bei @authorisation_required([]))

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
gg committed 2026-09-05 16:14:13 +02:00
1 parent 4cb0084066
commit 505177b5e2
2 files changed
+119 -36

No files matched your search

+11 -4
View File
@@ -22,10 +22,17 @@ class AutorisationError(ApplicationError):
else:
userrolestxt = ", ".join([role.name for role in self.user_roles])
ApplicationError.__init__(self,
"Sie haben nicht die passende Rolle für diese Funktion",
"Ihre Rollen sind: " + userrolestxt,
"Erforderliche Rollen sind: " + ", ".join(self.allowed_roles), htmlstatus=HtmlStatusCode.Unauthorized)
# Die Meldung über erforderliche Rollen nur aufnehmen, wenn
# welche spezifiziert sind. Bei leerer allowed_roles-Liste
# (z.B. Endpunkte, die nur AppAdmin/SysAdmin erlauben) entfällt
# dieser Teil der Fehlermeldung komplett.
messages = [
"Sie haben nicht die passende Rolle für diese Funktion",
"Ihre Rollen sind: " + userrolestxt,
]
if self.allowed_roles:
messages.append("Erforderliche Rollen sind: " + ", ".join(self.allowed_roles))
ApplicationError.__init__(self, *messages, htmlstatus=HtmlStatusCode.Unauthorized)
class HtmlStatusCode():
Bad_Request = 400