Menü Projekt-Berechtigungen, Übersichtssichten und AppAdmin-Erkennung
- Menü: Dropdown "Projekt-Berechtigungen" unter Optionen mit Unterpunkten "Projekt-Zugriffe" und "Nutzer-Zugriffe" (nur SysAdmin/AppAdmin) - AppAdmin-Erkennung: Server liefert isAppAdmin-Flag im Login- und getusers-Response (applikationsspezifisch via has_permission) - Login: CurrentUserIsAppAdmin in sessionStorage speichern/entfernen - Projekt-Zugriffe: geschachtelter Treetable (Projekt → Nutzer) als reine Anzeige, Detail-Sicht aus Projekt-Maske mit Bearbeitung - Nutzer-Zugriffe: neue Komponente user_projektliste.ts, geschachtelter Treetable (Nutzer → Projekte), reine Anzeige - Server: neuer Endpunkt GET /xhr/projektuser/listall (nur AppAdmin/SysAdmin) - Server: get_all_projekt_users() mit Batch-Query für Projekte und User - Treetable-Widget: Platzhalter-Pfeil bei kinderlosen Nodes nur wenn Geschwister mit Kindern existieren (hasSiblingsWithChildren) - Datei projekt_user.ts umbenannt in projekt_userliste.ts (konsistent mit user_projektliste.ts) Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
1 parent
505177b5e2
commit
9ed5e88e01
10 files changed
+693
-82
No files matched your search
@@ -52,6 +52,7 @@ def checklogin():
|
||||
login_user(user)
|
||||
result = user.to_dict()
|
||||
result["isSysAdmin"] = user.is_SysAdmin()
|
||||
result["isAppAdmin"] = user.has_permission(app.config["APPID"], [APP_ADMIN])
|
||||
return jsonify(result), 200
|
||||
|
||||
|
||||
@@ -86,13 +87,18 @@ def logout():
|
||||
def getusers():
|
||||
"""
|
||||
Die Rückgabe wird in 'users.get_users()' (s.u.) anhand er App-Berechtigung und der
|
||||
Rollen gefiltert.
|
||||
Rollen gefiltert. Pro User wird zusätzlich isSysAdmin und das app-spezifische
|
||||
isAppAdmin Flag ergänzt, damit der Client keine app-unspezifische Rollenprüfung
|
||||
durchführen muss.
|
||||
"""
|
||||
userquery = users.get_users()
|
||||
result = []
|
||||
user: User
|
||||
for user in userquery:
|
||||
result.append(user.to_relationaldict())
|
||||
eintrag = user.to_relationaldict()
|
||||
eintrag["isSysAdmin"] = user.is_SysAdmin()
|
||||
eintrag["isAppAdmin"] = user.has_permission(app.config["APPID"], [APP_ADMIN])
|
||||
result.append(eintrag)
|
||||
return jsonify(result), 200
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user