gg 4cb0084066 Projekt-Sichtbarkeit: Nutzer-Zuordnung, projektbezogene Filterung und Schreibschutz
- Neues Modell ProjektUser (projekt_users) für projektbezogene Sichtbarkeit
- Migration V01_09 legt Tabelle an (keine Initial-Befüllung)
- CRUD-Logik für Projekt-User-Zuordnungen mit Cross-DB-User-Auflösung
- Serverseitige Sichtbarkeits-Filterung: Projekt-Liste/Get filtert nach
  projekt_users-Zuordnung für Nicht-SysAdmin/Nicht-AppAdmin
- Auto-Assignment: Ersteller wird bei Projektanlage automatisch zugeordnet
- Sichtbarkeits-Filterung auf CallLog und Kontaktadresse erweitert
  (Liste und Einzelabruf)
- Schreibschutz: Alle Schreib-Endpunkte (update/delete) für Projekt,
  Kontaktadresse und CallLog prüfen Projekt-Zuordnung vor der Ausführung
- Hilfsfunktionen _get_visible_user_id() und _require_projekt_access()
  zur Kapselung der wiederkehrenden Prüfungen
- REST-Endpunkte /xhr/projektuser/{list,add,remove};
  Schreib-Endpunkte mit @authorisation_required([]) als Erweiterungspunkt
- Client: Neues Modell projekt_user.ts, Listen-Komponente mit Modal
  (Select-Widget), Button in Projekt-Maske, Route registriert
- Build aktualisiert (tsc + rollup)
- AGENTS.md: Vorgaben für projektbezogene Sichtbarkeit dokumentiert

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-09-05 15:45:32 +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%