2.0 KiB
Benutzerprofil
Route
/user/info
Zweck
Die Seite zeigt das Profil des angemeldeten Benutzers, dessen Rollen und persönliche Anzeigeeinstellungen. Administratoren sehen zusätzlich die Benutzerverwaltung.
Datenquellen
InfoComponentliest den aktuellen Benutzer überUserService.user$.- Änderungen an Benutzerdaten werden über
UserService.update$(uid, data)inusers/{uid}gespeichert. - Die Admin-Liste verwendet
UsersComponent,UserComponentundUserService.list$()für alle Benutzer.
UI
Im Profilbereich werden Begrüßung, Rollenanzeige und die bevorzugte Akkordanzeige dargestellt. Die Akkordanzeige ist ein Auswahlfeld mit den Werten leer, hide, onlyFirst und show.
Für Administratoren erscheint zusätzlich eine Karte registrierte Benutzer. Jeder Listeneintrag kann angeklickt werden und wechselt dann in einen Bearbeitungsmodus mit Namensfeld und Mehrfachauswahl für Rollen.
Aktionen
- Akkordmodus ändern: speichert
chordModedirekt am aktuellen Benutzer. - Abmelden: navigiert nach
../logout. - Benutzer bearbeiten: Administratoren können Namen und Rollen einzelner Benutzer ändern.
- Bearbeitung schließen: beendet den Bearbeitungsmodus des Benutzerlisteneintrags.
Rollen und Berechtigungen
Die Route ist durch AuthGuard geschützt und setzt einen angemeldeten Benutzer voraus. Die Benutzerverwaltung wird über *appRole="['admin']" nur für Administratoren angezeigt. In RoleDirective gilt admin als Vollberechtigung; andere Rollen werden gegen die angeforderte Rollenliste geprüft.
Technische Hinweise
- Rollen werden als semikolongetrennter String im Feld
rolegespeichert und für die UI in Arrays umgewandelt. - Verfügbare Rollen kommen aus
ROLE_TYPES:admin,user,member,leader,presenter,contributor. - Die Rollenanzeige nutzt
RolePipe; bei fehlenden Rollen erscheint ein Warnhinweis. - Die Methode
transdormUserRolesenthält einen Schreibfehler im Namen, ist aber die aktuell verwendete UI-Hilfsmethode.