Informazioni sulla pagina di Gestione Utente
Questa pagina consente di creare un nuovo utente oppure modificarne uno esistente, adattando automaticamente campi, pulsanti e funzionalità in base alla modalità operativa.
Panoramica generale
La vista è progettata per gestire due fasi fondamentali del ciclo di vita di un utente:
- Creazione (Registrazione) – l’utente viene inserito nel sistema per la prima volta.
- Modifica (Aggiornamento) – i dati di un utente esistente vengono ricaricati dal database e resi modificabili.
La visualizzazione in sola lettura non avviene in questa pagina,
ma nella vista Profile, accessibile dal menu principale tramite la voce
“Scheda Utente”.
Comportamento dinamico della pagina
La pagina riconosce automaticamente se si trova in modalità registrazione o modifica grazie alla presenza dell’ID utente. In base a questo:
- I campi Password e Conferma Password compaiono solo in fase di registrazione.
- I pulsanti Aggiorna, Refresh e Cancella compaiono solo in fase di modifica.
- Il campo UserName diventa bloccato in fase di modifica.
- Le Iniziali vengono generate solo alla registrazione e non cambiano più.
Contatti e Recapiti dinamici
I blocchi Contatti e Recapiti sono completamente dinamici. In fase di modifica, i dati vengono caricati dal server e ricostruiti tramite JavaScript.
- È possibile aggiungere più contatti e recapiti.
- Ogni blocco può essere svuotato o eliminato.
- La validazione impedisce l’inserimento di blocchi incompleti.
Gestione dell’immagine profilo
L’immagine profilo viene gestita tramite anteprima immediata e invio in formato Base64. In fase di modifica è possibile:
- caricare una nuova immagine
- mantenere quella esistente
- cancellarla tramite apposito pulsante
Pulsanti operativi
- Registrati – salva un nuovo utente.
- Aggiorna – salva le modifiche dell’utente esistente.
- Refresh – ricarica i dati dal server tramite
Refresh Utente. - Cancella – elimina l’utente previa doppia conferma.
- Chiudi – torna alla pagina principale.
Architettura della pagina
La vista utilizza un approccio ibrido:
- Razor per la logica condizionale e la struttura HTML.
- JavaScript per la gestione dinamica dei blocchi e delle validazioni.
- Fetch API per comunicare con i metodi del controller.
- Controller che gestisce tutte le operazioni di creazione, aggiornamento e cancellazione.
Questo approccio consente di mantenere una singola vista altamente riutilizzabile, riducendo duplicazioni e semplificando la manutenzione.
Suggerimento operativo
Utilizza il pulsante Refresh per riallineare la pagina ai dati presenti nel database dopo modifiche esterne o aggiornamenti concorrenti.