Class AziendaCotroller
java.lang.Object
com.modulink.Controller.ModuloController
com.modulink.Controller.UserModules.GDR.AziendaCotroller
@Controller
@RequestMapping("/dashboard/gdr")
public class AziendaCotroller
extends ModuloController
Controller per il modulo GDR (Gestione Del Responsabile).
Questo controller permette agli utenti autorizzati (es. amministratori aziendali) di visualizzare e modificare i dati anagrafici della propria azienda. Include la gestione del caricamento del logo e la verifica dei vincoli di unicità sui dati sensibili (P.IVA, Telefono).
Estende ModuloController (ID Modulo: 3) per l'integrazione con il sistema di gestione moduli.
- Since:
- 1.2.0
- Version:
- 1.8.3
- Author:
- Modulink Team
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AziendaServiceprivate final CustomUserDetailsServiceprivate final ModuloService -
Constructor Summary
ConstructorsConstructorDescriptionAziendaCotroller(CustomUserDetailsService customUserDetailsService, ModuloService moduloService, AziendaService aziendaService) Costruttore per l'iniezione delle dipendenze. -
Method Summary
Modifier and TypeMethodDescriptionDatiAzienda(Principal principal, org.springframework.ui.Model model) Prepara la vista per la modifica dei dati aziendali.voiddisinstallaModulo(AziendaEntity azienda) Inibisce la disinstallazione del modulo GDR.edit(Principal principal, org.springframework.ui.Model model, @Valid EditAziendaForm form, org.springframework.validation.BindingResult result) Processa la richiesta di aggiornamento dei dati aziendali.Methods inherited from class ModuloController
getId, isAccessibleModulo, setId
-
Field Details
-
customUserDetailsService
-
moduloService
-
aziendaService
-
-
Constructor Details
-
AziendaCotroller
public AziendaCotroller(CustomUserDetailsService customUserDetailsService, ModuloService moduloService, AziendaService aziendaService) Costruttore per l'iniezione delle dipendenze.- Parameters:
customUserDetailsService- Servizio recupero utenti.moduloService- Servizio moduli.aziendaService- Servizio gestione aziende.- Since:
- 1.2.0
-
-
Method Details
-
DatiAzienda
Prepara la vista per la modifica dei dati aziendali.Recupera i dati attuali dell'azienda associata all'utente loggato e popola il form
EditAziendaForm.- Parameters:
principal- Identità dell'utente loggato.model- Modello UI.- Returns:
- Vista "moduli/gdr/editAzienda" o redirect se non autorizzato.
- Since:
- 1.2.0
-
edit
@PostMapping("/edit") public String edit(Principal principal, org.springframework.ui.Model model, @Valid @ModelAttribute("registerAziendaForm") @Valid EditAziendaForm form, org.springframework.validation.BindingResult result) throws IOException Processa la richiesta di aggiornamento dei dati aziendali.Esegue validazioni critiche:
- Unicità della P.IVA rispetto ad altre aziende nel sistema.
- Unicità del numero di telefono (normalizzato).
- Gestione del logo: cancellazione vecchio file e salvataggio nuovo upload.
- Parameters:
principal- Identità dell'utente.model- Modello UI.form- DTO con i nuovi dati aziendali.result- Risultati validazione form.- Returns:
- Redirect alla stessa pagina con messaggio di esito.
- Throws:
IOException- In caso di errori I/O sul filesystem.- Since:
- 1.2.0
-
disinstallaModulo
Inibisce la disinstallazione del modulo GDR. Essendo il modulo che gestisce l'identità aziendale, non può essere rimosso.- Specified by:
disinstallaModuloin classModuloController- Parameters:
azienda- Azienda target.- Since:
- 1.2.0
-