users: turn the four modals into a per-user page at #users/{id}
Nightly Build / build (push) Successful in 6m58s

The connectors-assignment dialog was the fourth modal on the Users page
and the first to break: a checkbox list taller than the viewport with no
scroll. Same failure the connector activation and manual-add dialogs had,
same fix — a page. The list stays a table, but rows are clickable and
open the user's own page with three sections:

- Profile: the old edit form (username, display name, role, directory
  fields, active switch) with a saved tick;
- Connectors: the grant checklist as the Connectors page's row list
  (icon, name, description, search, global/personal groups), one Save;
- Security: password reset (disabled with an explanation for encrypted
  users) and the delete action.

Only user creation stays a modal — three fields and a role fit.
This commit is contained in:
2026-07-27 21:40:17 +01:00
parent 776748435b
commit fadb31832f
6 changed files with 618 additions and 345 deletions
+8 -6
View File
@@ -1054,12 +1054,16 @@ export default {
'users.badge.active': 'Active',
'users.badge.inactive': 'Inactive',
'users.action.reset_pw': 'Reset password',
'users.action.edit': 'Edit',
'users.action.connectors': 'Connectors',
'users.action.delete': 'Delete',
'users.modal.connectors_title': 'Connectors — {username}',
'users.detail.back': 'Users',
'users.detail.profile': 'Profile',
'users.detail.connectors': 'Connectors',
'users.detail.security': 'Security',
'users.detail.saved': 'Saved',
'users.detail.delete_hint': 'Deletes this user, their database and all conversation history.',
'users.detail.no_such': 'User not found.',
'users.conn.globals': 'Shared connectors',
'users.conn.catalog': 'Personal connectors',
'users.conn.hint_global': 'Available to this user as soon as you enable it.',
@@ -1068,8 +1072,6 @@ export default {
'users.conn.disabled': 'disabled',
'users.modal.create_title': 'New user',
'users.modal.edit_title': 'Edit {username}',
'users.modal.reset_title': 'Reset password — {username}',
'users.modal.username': 'Username',
'users.modal.display_name': 'Display name',
'users.modal.optional': '(optional)',
+8 -6
View File
@@ -1041,12 +1041,16 @@ export default {
'users.badge.active': 'Actif',
'users.badge.inactive': 'Inactif',
'users.action.reset_pw': 'Réinitialiser le mot de passe',
'users.action.edit': 'Modifier',
'users.action.connectors': 'Connecteurs',
'users.action.delete': 'Supprimer',
'users.modal.connectors_title': 'Connecteurs — {username}',
'users.detail.back': 'Utilisateurs',
'users.detail.profile': 'Profil',
'users.detail.connectors': 'Connecteurs',
'users.detail.security': 'Sécurité',
'users.detail.saved': 'Enregistré',
'users.detail.delete_hint': 'Supprime cet utilisateur, sa base de données et tout l\'historique des conversations.',
'users.detail.no_such': 'Utilisateur introuvable.',
'users.conn.globals': 'Connecteurs partagés',
'users.conn.catalog': 'Connecteurs personnels',
'users.conn.hint_global': 'Disponible pour cet utilisateur dès que vous l\'activez.',
@@ -1055,8 +1059,6 @@ export default {
'users.conn.disabled': 'désactivé',
'users.modal.create_title': 'Nouvel utilisateur',
'users.modal.edit_title': 'Modifier {username}',
'users.modal.reset_title': 'Réinitialiser le mot de passe — {username}',
'users.modal.username': 'Nom d\'utilisateur',
'users.modal.display_name': 'Nom d\'affichage',
'users.modal.optional': '(facultatif)',
+8 -6
View File
@@ -1041,12 +1041,16 @@ export default {
'users.badge.active': 'Attivo',
'users.badge.inactive': 'Inattivo',
'users.action.reset_pw': 'Reimposta password',
'users.action.edit': 'Modifica',
'users.action.connectors': 'Connettori',
'users.action.delete': 'Elimina',
'users.modal.connectors_title': 'Connettori — {username}',
'users.detail.back': 'Utenti',
'users.detail.profile': 'Profilo',
'users.detail.connectors': 'Connettori',
'users.detail.security': 'Sicurezza',
'users.detail.saved': 'Salvato',
'users.detail.delete_hint': 'Elimina questo utente, il suo database e tutta la cronologia delle conversazioni.',
'users.detail.no_such': 'Utente non trovato.',
'users.conn.globals': 'Connettori condivisi',
'users.conn.catalog': 'Connettori personali',
'users.conn.hint_global': 'Disponibile per questo utente non appena lo abiliti.',
@@ -1055,8 +1059,6 @@ export default {
'users.conn.disabled': 'disabilitato',
'users.modal.create_title': 'Nuovo utente',
'users.modal.edit_title': 'Modifica {username}',
'users.modal.reset_title': 'Reimposta password — {username}',
'users.modal.username': 'Nome utente',
'users.modal.display_name': 'Nome visualizzato',
'users.modal.optional': '(opzionale)',