Zum Hauptinhalt springen

Mitarbeiter — Dashboards (Sub-Route)

Zweck

Sub-Route /employees/:id/dashboards legt fest, welche Dashboards dem Mitarbeiter zugewiesen sind. Sichtbarkeit auf der Startseite und im Dashboard-Modul wird hierdurch gesteuert. Pendant: /roles/:id/dashboards und /departments/:id/dashboards — in der Praxis erbt der Mitarbeiter Dashboards meist über Rolle/Abteilung, kann aber zusaetzlich individuell zugewiesen werden.

Voraussetzungen

- Berechtigung `view:Employee` und `view:DashboardAssignment`. - Für Pflege: `create:DashboardAssignment` und `view:Dashboard`.

Berechtigungen (CASL)

ActionSubjectWirkungKeycloak-Rolle
viewFE_Employee, EmployeeDetail aufrufbar
view/create/deleteDashboardAssignmentZuweisung pflegenAPP_SPEAMCORE_VIEW/CREATE/DELETE_DASHBOARD_ASSIGNMENT
viewDashboardDashboard-AuswahlAPP_SPEAMCORE_VIEW_DASHBOARD

Schritt-für-Schritt-Anleitung

  1. Mitarbeiter (/employees/:id) → Tab Dashboards.
  2. + Dashboard wählt ein Dashboard aus dem Stamm.
  3. Mitarbeiter sieht es ab dann auf der Startseite.

Anlege-Pattern (Code-Lookup-basiert)

Beim Klick auf den + Hinzufügen-Button erscheint kein Modal mit Eingabemaske, sondern ein Auswahl-Workflow (customAddButton-Pattern):

  1. Modal mit Suche im Stamm der zu verknüpfenden Entität (z. B. Rolle, Fahrzeug, Kurs).
  2. Anwender wählt einen oder mehrere Einträge.
  3. Pro Auswahl wird ein Assignment-Datensatz erzeugt, der die N:M-Verknüpfung Mitarbeiter ↔ Stamm hält — nicht der Stamm selbst.
  4. Klick auf eine Zeile führt zum Detail des Assignment (Pflege z. B. von Gültigkeitszeitraum, prozentuale Aufteilung).
**Stamm vs Assignment:** Das Löschen einer Verknüpfung (Assignment) entfernt nur die Beziehung zum Mitarbeiter, **nicht** den Stamm. Stamm-Änderungen wirken auf alle Mitarbeiter mit aktiver Verknüpfung — Anpassung etwa der Rolle hat sofort Auswirkung auf alle Mitarbeiter mit dieser Rolle.

Wiederverwendbare Konzepte

Verknuepfungen zu anderen Modulen

API/Schnittstellen

MethodeEndpointZweckCASL
GET/api/dashboard-assignments?filter[employeeId]Listeview DashboardAssignment
POST/api/dashboard-assignmentsZuweisencreate DashboardAssignment
DELETE/api/dashboard-assignments/:idAufhebendelete DashboardAssignment

Versionshinweise

  • 2026-04-30: Initiale Veroeffentlichung.