EN · DE · RU · FR · ES

#286: TodoPluginUserRightId.kt

plugins/org.projectforge.plugins.todo/src/main/kotlin/org/projectforge/plugins/todo/TodoPluginUserRightId.kt Enum – Benutzerrechte-ID, plugins/org.projectforge.plugins.todo/src/main/kotlin/org/projectforge/plugins/todo/TodoPluginUserRightId.kt 57 Zeilen · 24 Code · 27 Kommentare · 6 leer
Kotlin-Enum, das das PLUGIN_TODO-Benutzerrecht für das To-Do-Plugin definiert. Implementiert IUserRightId und integriert sich mit Hibernate Search für die Volltextindizierung von Zugriffsrechten.

Architektur

Dieses Enum implementiert die IUserRightId-Schnittstelle, den Standardmechanismus zur Deklaration von Zugriffsrechtskennungen in ProjectForge. Jede Enum-Konstante besitzt:

Die innere Klasse ProviderService erweitert RightRightIdProviderService, eine über ServiceLoader registrierte Klasse (siehe META-INF/services/), die vom Framework durchsucht wird, um alle Benutzerrechtsdefinitionen zu ermitteln. Die Annotation @TypeBinding mit HibernateSearchUserRightIdTypeBinder stellt sicher, dass über dieses Enum zugewiesene Benutzerrechte im Hibernate-Search-Volltextindex indiziert werden, was eine berechtigungsbewusste Suchfilterung ermöglicht.

Vererbung & Integration

Die Klassenhierarchie lautet: TodoPluginUserRightId → implementiert IUserRightId (erweitert Comparable). Das Framework sammelt alle IUserRightId-Implementierungen aus allen Plugins und Kernmodulen und registriert sie in den Admin-Konfigurationsseiten für Benutzerrechte. Das To-Do-Plugin trägt genau ein Recht bei: PLUGIN_TODO, das Zugriff auf die To-Do-Listen-Funktionalität gewährt.

Git-Verlauf

868d6abb7 2025 -> 2026\n63081666f Quellcode-Dateiköpfe: 2024 -> 2025.\n067a4cbb1 Migration läuft...\nb1560ca43 Migration läuft...\ne33c8b9c2 Migration läuft...