Zum Hauptinhalt springen

Rollen

Zweck

Rollen (Role) gruppieren Berechtigungen und werden über Assignment polymorph an Mitarbeiter, Services, Dashboards, Schulungen und Mailboxen vergeben. Eine Rolle kennt fuenf Ziel-Typen (Assignment.assignableType):

  • Employee — Rolle wird einem Mitarbeiter zugeordnet.
  • Service — Rolle wird für einen Service freigeschaltet.
  • Dashboard — Rolle bekommt das Dashboard zu sehen.
  • Course — Rolle erhaelt Schulungs-Zuteilung.
  • Mailbox — Rolle erhaelt Mailbox-Zugriff (Bulk-Action verfuegbar).

Voraussetzungen

- Berechtigung `create:Role` und `create:Assignment`. - Ziel-Datensaetze (Mitarbeiter, Service, Dashboard etc.) sind vorhanden.

Berechtigungen (CASL)

Frontend-Page-Guard:

ActionSubject
viewFE_Role, Role
create/update/deleteRole

Tab-Subjects:

TabSub-PfadSubject
Mitarbeiter/roles/:id/employeesAssignment:view, Employee:view
Services/roles/:id/servicesAssignment:view, Service:view
Dashboards/roles/:id/dashboardsAssignment:view, Dashboard:view
Schulungen/roles/:id/coursesAssignment:view, Course:view
Mailboxen/roles/:id/mailboxesAssignment:view, Mailbox:view

Schritt-für-Schritt-Anleitung

Rolle anlegen

  1. Rollen (/roles) → + Neu.
  2. Name und Beschreibung pflegen.
  3. Änderungen werden automatisch gespeichert.

Mitarbeiter zur Rolle zuweisen

  1. Tab Mitarbeiter öffnen (/roles/:id/employees).
  2. Zuweisung hinzufuegenPOST /api/assignments mit assignableType=Employee.
  3. Mitarbeiter erhalten über die Rolle die hinterlegten CASL-Permissions.

Bulk-Mailbox-Zugriff vergeben

Auf dem Tab Mailboxen existiert ein RoleBulkMailboxAccessButton — vergibt Mailbox-Zugriff an alle Mitarbeiter einer Rolle in einem Schritt.

Listenansicht — roles

Toolbar (Detail-Seite)

Schlanke Toolbar oben rechts:

IconAktion (aria-label)CASLWirkung
ZurückgehenZurück zur Liste.
🏠Zur Startseite gehenSpringt auf das Dashboard / /.
⏮/◀/▶/⏭PaginationNavigation durch die gefilterte Liste — Massen-Bearbeitung ohne Liste-Sprung.

Wie auf jeder Detail-Seite verfuegbar — siehe Floating-Quickbar:

  • KAL. (Mini-Kalender)
  • ZEIT (Persoenliche Wochen-Arbeitszeit)
  • ARBEIT (Eigene bevorstehende Aufträge)

UI-Elemente

Button: „+ Neu"

Listenseite. Erfordert create:Role.

Button: „RoleBulkMailboxAccessButton"

Tab Mailboxen. Vergibt Mailbox-Zugriff an alle Mitglieder der Rolle in einem Klick.

Button: „RoleAssignmentButton"

Pro Sub-Tab. Erstellt einzelne Assignment-Einträge.

Felder und Eingaben

FeldnamePflichtDatentypWirkung beim AusfuellenVoraussetzung
namejaString (min. 1)Anzeige in Auswahllisten und Berechtigungs-Reports.
descriptionneinTEXTErläuterung der Rolle (z. B. „Außendienst Stufe 1").
statusjaactive/inactiveinactive blendet die Rolle in Auswahllisten aus, bestehende Assignments bleiben erhalten.
isDefaultForNewEmployeesneinBooleanWenn aktiv, wird diese Rolle beim Anlegen eines neuen Mitarbeiters automatisch zugewiesen. Mehrere Default-Rollen sind erlaubt — alle aktiven Default-Rollen werden zugewiesen.

Sub-Felder pro Assignment

FeldnameDatentypWirkung
roleIdUUIDRolle.
assignableIdUUIDZiel-Datensatz.
assignableTypeEnumEmployee / Service / Dashboard / Course / Mailbox.

Wiederverwendbare Konzepte

Tab „Custom Tiles" (Welle 114)

Am Rollen-Detail steht ein Tab Custom Tiles mit Count-Badge — sofern die Berechtigung view:CustomNavigationTileAssignment vorhanden ist. Hier lassen sich Eigene Navigations-Kacheln direkt einer Rolle zuweisen, ohne Mitarbeiter-für-Mitarbeiter zu pflegen. Bereits zugewiesene Tiles sind im Picker deaktiviert.

Verknüpfungen zu anderen Modulen

  • Mitarbeiter (/employees) — Tab Rollen zeigt Rollen-Zuweisungen.
  • Services — Service-spezifische Rollen-Sichtbarkeit.
  • Dashboards — Dashboard-Sichtbarkeit pro Rolle.
  • Schulungen — Pflicht-/Empfohlene Kurse pro Rolle.
  • Mailboxen — Mailbox-Zugriff pro Rolle (Bulk-Aktion).
  • Custom Tiles — Tab am Rollen-Detail (Welle 114).

API/Schnittstellen

MethodeEndpointZweckCASL
GET/api/rolesListeview Role
GET/api/roles/:idDetailview Role
POST/api/rolesAnlegencreate Role
PATCH/api/roles/:idÄndernupdate Role
DELETE/api/roles/:idSoft-Deletedelete Role
GET/api/assignments?roleId=:idZuweisungenview Assignment
POST/api/assignmentsZuweisung anlegencreate Assignment
DELETE/api/assignments/:idZuweisung löschendelete Assignment

Versionshinweise

  • 2026-04-29: Initiale Veröffentlichung mit FE-Tiefen-Standard.
  • 2026-05-12 (Wellen 114/115): Neues Feld isDefaultForNewEmployees (auto-Zuweisung bei neuem Mitarbeiter). Neuer Tab Custom Tiles am Rollen-Detail mit Count-Badge.