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 Details

  • 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

      @GetMapping("/") public String DatiAzienda(Principal principal, org.springframework.ui.Model model)
      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

      public void disinstallaModulo(AziendaEntity azienda)
      Inibisce la disinstallazione del modulo GDR. Essendo il modulo che gestisce l'identità aziendale, non può essere rimosso.
      Specified by:
      disinstallaModulo in class ModuloController
      Parameters:
      azienda - Azienda target.
      Since:
      1.2.0