feat: add admin user management page with CRUD and i18n

- New admin blueprint with CRUD proxy endpoints for users
- Admin user management template with search, create, edit, toggle active
- Navbar: add admin link for is_admin users (desktop + mobile)
- Register admin blueprint in app factory
- Add IT/EN translations for all admin UI strings

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Adriano
2026-02-20 11:58:47 +01:00
parent 5cc576cec9
commit 13986f05d7
6 changed files with 873 additions and 0 deletions
@@ -1605,6 +1605,108 @@ msgstr "Select a measurement point for the histogram"
msgid "Errore nella generazione del report"
msgstr "Error generating report"
# Admin - User Management
#: blueprints/admin.py:18
msgid "Accesso non autorizzato"
msgstr "Unauthorized access"
#: blueprints/admin.py:36
#, python-format
msgid "Errore nel caricamento degli utenti: %(error)s"
msgstr "Error loading users: %(error)s"
#: templates/admin/users.html:3 templates/admin/users.html:13
msgid "Gestione Utenti"
msgstr "User Management"
#: templates/admin/users.html:14
msgid "Crea, modifica e gestisci gli utenti del sistema"
msgstr "Create, edit and manage system users"
#: templates/admin/users.html:25
msgid "Cerca utente..."
msgstr "Search user..."
#: templates/admin/users.html:38
msgid "Nuovo Utente"
msgstr "New User"
#: templates/admin/users.html:50
msgid "Email"
msgstr "Email"
#: templates/admin/users.html:95
msgid "Attivo"
msgstr "Active"
#: templates/admin/users.html:95 templates/admin/users.html:323
msgid "Disattivato"
msgstr "Deactivated"
#: templates/admin/users.html:108
msgid "Disattiva"
msgstr "Deactivate"
#: templates/admin/users.html:108 templates/admin/users.html:323
msgid "Riattiva"
msgstr "Reactivate"
#: templates/admin/users.html:130
msgid "Nessun utente trovato"
msgstr "No users found"
#: templates/admin/users.html:137
msgid "utenti"
msgstr "users"
#: templates/admin/users.html:160
msgid "Modifica Utente"
msgstr "Edit User"
#: templates/admin/users.html:292
msgid "Crea Utente"
msgstr "Create User"
#: templates/admin/users.html:207
msgid "lascia vuoto per non modificare"
msgstr "leave empty to keep unchanged"
#: templates/admin/users.html:213
msgid "Nuova password (opzionale)"
msgstr "New password (optional)"
#: templates/admin/users.html:246
msgid "Amministratore"
msgstr "Administrator"
#: templates/admin/users.html:252
msgid "Lingua"
msgstr "Language"
#: templates/admin/users.html:263
msgid "Tema"
msgstr "Theme"
#: templates/admin/users.html:307
msgid "Conferma Disattivazione"
msgstr "Confirm Deactivation"
#: templates/admin/users.html:307
msgid "Conferma Riattivazione"
msgstr "Confirm Reactivation"
#: templates/admin/users.html:310
msgid "Sei sicuro di voler disattivare l'utente"
msgstr "Are you sure you want to deactivate user"
#: templates/admin/users.html:311
msgid "Sei sicuro di voler riattivare l'utente"
msgstr "Are you sure you want to reactivate user"
#: templates/admin/users.html:459
msgid "Username, nome visualizzato e password sono obbligatori"
msgstr "Username, display name and password are required"
#~ msgid "Esci"
#~ msgstr "Logout"
@@ -1635,6 +1635,108 @@ msgstr "Seleziona un punto di misura per l'istogramma"
msgid "Errore nella generazione del report"
msgstr "Errore nella generazione del report"
# Admin - User Management
#: blueprints/admin.py:18
msgid "Accesso non autorizzato"
msgstr "Accesso non autorizzato"
#: blueprints/admin.py:36
#, python-format
msgid "Errore nel caricamento degli utenti: %(error)s"
msgstr "Errore nel caricamento degli utenti: %(error)s"
#: templates/admin/users.html:3 templates/admin/users.html:13
msgid "Gestione Utenti"
msgstr "Gestione Utenti"
#: templates/admin/users.html:14
msgid "Crea, modifica e gestisci gli utenti del sistema"
msgstr "Crea, modifica e gestisci gli utenti del sistema"
#: templates/admin/users.html:25
msgid "Cerca utente..."
msgstr "Cerca utente..."
#: templates/admin/users.html:38
msgid "Nuovo Utente"
msgstr "Nuovo Utente"
#: templates/admin/users.html:50
msgid "Email"
msgstr "Email"
#: templates/admin/users.html:95
msgid "Attivo"
msgstr "Attivo"
#: templates/admin/users.html:95 templates/admin/users.html:323
msgid "Disattivato"
msgstr "Disattivato"
#: templates/admin/users.html:108
msgid "Disattiva"
msgstr "Disattiva"
#: templates/admin/users.html:108 templates/admin/users.html:323
msgid "Riattiva"
msgstr "Riattiva"
#: templates/admin/users.html:130
msgid "Nessun utente trovato"
msgstr "Nessun utente trovato"
#: templates/admin/users.html:137
msgid "utenti"
msgstr "utenti"
#: templates/admin/users.html:160
msgid "Modifica Utente"
msgstr "Modifica Utente"
#: templates/admin/users.html:292
msgid "Crea Utente"
msgstr "Crea Utente"
#: templates/admin/users.html:207
msgid "lascia vuoto per non modificare"
msgstr "lascia vuoto per non modificare"
#: templates/admin/users.html:213
msgid "Nuova password (opzionale)"
msgstr "Nuova password (opzionale)"
#: templates/admin/users.html:246
msgid "Amministratore"
msgstr "Amministratore"
#: templates/admin/users.html:252
msgid "Lingua"
msgstr "Lingua"
#: templates/admin/users.html:263
msgid "Tema"
msgstr "Tema"
#: templates/admin/users.html:307
msgid "Conferma Disattivazione"
msgstr "Conferma Disattivazione"
#: templates/admin/users.html:307
msgid "Conferma Riattivazione"
msgstr "Conferma Riattivazione"
#: templates/admin/users.html:310
msgid "Sei sicuro di voler disattivare l'utente"
msgstr "Sei sicuro di voler disattivare l'utente"
#: templates/admin/users.html:311
msgid "Sei sicuro di voler riattivare l'utente"
msgstr "Sei sicuro di voler riattivare l'utente"
#: templates/admin/users.html:459
msgid "Username, nome visualizzato e password sono obbligatori"
msgstr "Username, nome visualizzato e password sono obbligatori"
#~ msgid "Esci"
#~ msgstr "Esci"