docs(15): add PERM-01..07 requirements and widget success criterion
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user