Add Administration user management: list, password reset, email change, group assignments
Playwright Tests / test (push) Canceled after 0s

Wires the previously-unused fis_admin_* user/group stored procs into the Admin
module (fds_sys-gated), adds a users grid with a per-row ribbon (reset
password, change email, manage group membership), and always emails a
password reset result to the user rather than showing it to the admin.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-09 10:34:04 +02:00
co-authored by Claude Sonnet 5
parent 6c38ee3d55
commit a5f497090e
14 changed files with 740 additions and 8 deletions
@@ -81,4 +81,29 @@ let $adt = {
, tm_default_subject: 'Fuchs Intranet – Test-E-Mail'
, tm_default_body: 'Dies ist eine Test-E-Mail aus dem Administrationsbereich des Fuchs Intranet.'
, loadfail: 'Der Systemstatus konnte nicht geladen werden.'
// user management
, sub_users: 'Benutzerverwaltung'
, u_title: 'Benutzerkonten'
, u_col_name: 'Name'
, u_col_email: 'E-Mail'
, u_col_status: 'Status'
, u_active: 'Aktiv'
, u_disabled: 'Deaktiviert'
, u_pwdreset: 'Passwort zurücksetzen'
, u_pwdreset_btn: 'Zurücksetzen'
, u_pwd_field: 'Neues Passwort'
, u_pwd_hint: 'Leer lassen, um automatisch ein Passwort zu generieren. In jedem Fall wird das neue Passwort per E-Mail an den Benutzer gesendet.'
, u_pwdreset_sent: 'Das neue Passwort wurde per E-Mail an den Benutzer gesendet.'
, u_pwdreset_noemail: 'Das Passwort wurde zurückgesetzt, konnte aber nicht per E-Mail zugestellt werden.'
, u_email: 'E-Mail-Adresse ändern'
, u_email_field: 'E-Mail-Adresse'
, u_groups: 'Gruppenzugehörigkeit'
, u_groups_title: 'Gruppen – {0}'
, u_err: {
requirements: 'Das Passwort erfüllt nicht die Mindestanforderungen (mind. 6 Zeichen).',
duplicate_email: 'Diese E-Mail-Adresse ist bereits einem anderen Benutzerkonto zugeordnet.',
reset_failed: 'Das Passwort konnte nicht zurückgesetzt werden.',
change_failed: 'Die Änderung konnte nicht gespeichert werden.'
}
, u_err_generic: 'Die Änderung konnte nicht gespeichert werden.'
};