gg 9ed5e88e01 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>
2026-09-07 16:04:06 +02:00

kbcrm

[Kurzbeschreibung folgt – Zweck und Ziel der Applikation]

Authentifizierung vollständig an Zitadel delegiert. Lokale Datenhaltung, Benutzer- und Rollenverwaltung über SQLite.


Technologie-Stack

Komponente Technologie
Backend Python Flask 2.x
OIDC-Client Authlib
Datenbank SQLite via SQLAlchemy
IdP Zitadel
Produktion Docker / waitress
web-js-frontend mithril.js

Lokale Entwicklung

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env    # Zitadel-Credentials eintragen
flask db-init           # Schema initialisieren
flask seed-db           # Testdaten einspielen
flask run               # App startet auf http://localhost:5000
S
Description
Akquise CRM für KBPlus
Readme
1.2 MiB
0 Stars 5 Watchers 0 Forks
Languages
TypeScript 61.1%
Python 31.6%
CSS 4.3%
Shell 1.4%
Dockerfile 0.8%
Other 0.8%