Class GMARoleController

java.lang.Object
com.modulink.Controller.ModuloController
com.modulink.Controller.UserModules.GMA.Role.GMARoleController

@Controller public class GMARoleController extends ModuloController
Controller per la gestione dei permessi RBAC (Role-Based Access Control) sui moduli attivi.

Parte integrante del modulo GMA (Gestione Moduli Aziendali), questo controller permette agli amministratori di configurare quali ruoli aziendali hanno diritto di accesso a specifici moduli software acquistati dall'azienda.

Since:
1.2.5
Version:
1.5.0
Author:
Modulink Team
  • Field Details

  • Constructor Details

    • GMARoleController

      public GMARoleController(CustomUserDetailsService customUserDetailsService, ModuloService moduloService, RuoloService ruoloService)
      Costruttore per l'iniezione delle dipendenze.
      Parameters:
      customUserDetailsService - Servizio utenti.
      moduloService - Servizio moduli.
      ruoloService - Servizio ruoli.
      Since:
      1.2.5
  • Method Details

    • dashboardDispatcher

      @GetMapping({"dashboard/gma","dashboard/gma/"}) public String dashboardDispatcher(Principal principal, org.springframework.ui.Model model)
      Visualizza la dashboard di configurazione dei permessi ruoli-moduli.
      Parameters:
      principal - Identità dell'amministratore.
      model - Modello UI.
      Returns:
      Vista "moduli/gma/role/RoleModuli" o redirect.
      Since:
      1.2.5
    • editModulo

      @PostMapping("dashboard/gma/edit-modulo") public String editModulo(Principal principal, org.springframework.ui.Model model, @RequestParam int idModulo, @RequestParam(required=false) List<Integer> roleIds)
      Aggiorna le affiliazioni (permessi) per un determinato modulo.

      Riceve una lista di ID ruolo e aggiorna le associazioni nel database, garantendo che i ruoli selezionati (e solo quelli) abbiano accesso al modulo specificato. Implementa una logica di fallback per assicurare che il ruolo "Responsabile" mantenga sempre l'accesso.

      Parameters:
      principal - Identità amministratore.
      model - Modello UI.
      idModulo - ID del modulo da configurare.
      roleIds - Lista degli ID dei ruoli abilitati.
      Returns:
      Vista aggiornata con messaggio di successo/errore.
      Since:
      1.2.5
    • disinstallaModulo

      public void disinstallaModulo(AziendaEntity azienda)
      Description copied from class: ModuloController
      Metodo astratto che deve essere implementato per gestire la logica di pulizia dei dati.

      Viene invocato dal sistema durante la disattivazione o disinstallazione del modulo per una specifica azienda. Deve contenere la logica per rimuovere o archiviare in modo sicuro tutte le entità create dal modulo nel contesto dell'azienda indicata.

      Specified by:
      disinstallaModulo in class ModuloController
      Parameters:
      azienda - L'entità AziendaEntity per cui il modulo viene rimosso.