docs(15): add PERM-01..07 requirements and widget success criterion

This commit is contained in:
2026-08-04 11:59:50 +02:00
parent ce96e5a5e7
commit d4ae20b300
2 changed files with 29 additions and 4 deletions
+26 -2
View File
@@ -1,4 +1,4 @@
# Requirements — Milestone v1.1: Ausschreibungs-Radar
# Requirements — Milestone v1.1: Ausschreibungs-Radar + v1.2: Plattform-Berechtigungen
**Module:** Ausschreibungs-Radar — durchsucht deutsche Vergabeportale nach Ausschreibungen, filtert nach Kriterien, zeigt Treffer im Portal an und versendet optional per E-Mail.
**Basis-Research:** `.planning/research/SUMMARY.md`, `.planning/research/ausschreibungs-portale-feasibility.md`
@@ -55,6 +55,22 @@
- [x] **CONFIG-02**: Admin verwaltet Quellen-Poll-Konfiguration sowie das E-Mail-Ingestion-Postfach pro Mandant (Zugangsdaten verschlüsselt gespeichert).
- [x] **CONFIG-03**: Die gesamte Modul-UI ist mehrsprachig (Deutsch + Englisch, i18n).
## v1.2 Requirements
**Milestone:** v1.2 Plattform-Berechtigungen — Modulzugriff nicht mehr nur pro Mandant, sondern zusätzlich pro Gruppe und pro Benutzer.
**Defined:** 2026-08-04
**Kontext:** `.planning/phases/15-modul-berechtigungen-gruppen-user-grants/15-CONTEXT.md` (D-01 bis D-23)
### PERM — Modul-Berechtigungen
- [ ] **PERM-01**: Admin verwaltet Gruppen pro Mandant (anlegen, umbenennen, löschen) und weist Benutzer manuell zu oder entfernt sie. Beim Löschen einer belegten Gruppe warnt ein Dialog mit Mitglieder- und Freigabenanzahl, bevor Mitgliedschaften und Freigaben mitgelöscht werden.
- [ ] **PERM-02**: Eine Gruppe kann optional an einen AD-Gruppen-DN gebunden werden, ausgewählt aus der bestehenden LDAP-Gruppensuche. Der Benutzer-Sync liest `memberOf` mit und pflegt daraus die Mitgliedschaften; verlässt ein Benutzer die AD-Gruppe, fällt nur seine LDAP-Mitgliedschaft weg — manuell gesetzte bleiben bestehen.
- [ ] **PERM-03**: Admin gibt ein mandantenweit aktives Modul gezielt für Gruppen und für einzelne Benutzer frei und entzieht Freigaben wieder. Gruppenfreigaben werden in einer Matrix Module × Gruppen gepflegt, Einzelfreigaben im Benutzer-Detail samt Anzeige der über Gruppen geerbten Rechte.
- [ ] **PERM-04**: Ohne Freigabe hat ein USER keinen Zugriff: das Modul fehlt in der Sidebar, die Modulseite antwortet mit einer 403-Seite samt Hinweis, und die Modul-API antwortet mit 403. Sidebar, Modulseite und API nutzen dieselbe Zugriffsauflösung.
- [ ] **PERM-05**: ADMIN und SUPER_ADMIN sehen und nutzen innerhalb ihres Mandanten alle aktiven Module ohne Freigabe.
- [ ] **PERM-06**: Die Migration überführt den Bestand ohne Zugriffsverlust: pro Mandant entsteht eine als Standardgruppe markierte Gruppe mit allen bestehenden Benutzern und Freigaben für alle zum Migrationszeitpunkt aktiven Module. Neue Benutzer — manuell angelegt wie per LDAP importiert — treten der markierten Standardgruppe automatisch bei.
- [ ] **PERM-07**: Ein Dashboard-Widget, dessen Modul dem Benutzer nicht freigegeben ist, erscheint nicht auf seinem Dashboard.
## Future Requirements (deferred)
- [ ] TED API v3 (EU-weite Redundanz) — für DE-only weitgehend redundant zu DÖE.
@@ -106,4 +122,12 @@
| CONFIG-03 | Phase 14 | Complete |
| UI-06 | Phase 14 | Complete |
**Coverage:** 29/29 v1.1 requirements mapped — no orphans.
| PERM-01 | Phase 15 | Pending |
| PERM-02 | Phase 15 | Pending |
| PERM-03 | Phase 15 | Pending |
| PERM-04 | Phase 15 | Pending |
| PERM-05 | Phase 15 | Pending |
| PERM-06 | Phase 15 | Pending |
| PERM-07 | Phase 15 | Pending |
**Coverage:** 29/29 v1.1 requirements mapped — no orphans. 7/7 v1.2 requirements mapped auf Phase 15.