Class GRUController

java.lang.Object
com.modulink.Controller.ModuloController
com.modulink.Controller.UserModules.GRU.GRUController

@Controller public class GRUController extends ModuloController
Controller per il modulo GRU (Gestione Ruoli Utenti).

Questo modulo permette di definire la struttura organizzativa dell'azienda attraverso la creazione e gestione di ruoli personalizzati. Fornisce le funzionalità per creare, modificare ed eliminare ruoli, nonché per assegnare massivamente utenti a specifici ruoli. Estende ModuloController (ID Modulo: 1) per la gestione dei permessi di accesso.

Since:
1.2.0
Version:
2.1.0
Author:
Modulink Team
  • Field Details

  • Constructor Details

    • GRUController

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

    • dashboardDispatcher

      @GetMapping({"dashboard/gru/","dashboard/gru"}) public String dashboardDispatcher(Principal principal, org.springframework.ui.Model model)
      Visualizza la dashboard di gestione ruoli.

      Carica l'elenco dei ruoli esistenti e la lista completa degli utenti per facilitare le operazioni di assegnazione.

      Parameters:
      principal - Identità utente loggato.
      model - Modello UI.
      Returns:
      Vista "moduli/gru/GestioneRuoli" o redirect.
      Since:
      1.2.0
    • addRole

      @PostMapping("dashboard/gru/add-role") public String addRole(@ModelAttribute("newRoleForm") @Valid @Valid NewRoleForm newRoleForm, org.springframework.validation.BindingResult bindingResult, Principal principal, org.springframework.ui.Model model)
      Crea un nuovo ruolo aziendale personalizzato.
      Parameters:
      newRoleForm - DTO con i dati del nuovo ruolo (nome, colore, descrizione).
      bindingResult - Esito validazione.
      principal - Identità utente.
      model - Modello UI.
      Returns:
      Redirect alla dashboard con esito.
      Since:
      1.2.0
    • modifyRole

      @PostMapping("dashboard/gru/modify-role") public String modifyRole(@RequestParam int idRuolo, @RequestParam String nome, @RequestParam String colore, @RequestParam String descrizione, Principal principal, org.springframework.ui.Model model, @ModelAttribute("newRoleForm") NewRoleForm newRoleForm)
      Modifica le proprietà di un ruolo esistente.
      Parameters:
      idRuolo - ID del ruolo da modificare.
      nome - Nuovo nome.
      colore - Nuovo colore (esadecimale).
      descrizione - Nuova descrizione.
      principal - Identità utente.
      model - Modello UI.
      newRoleForm - DTO placeholder.
      Returns:
      Redirect alla dashboard con esito.
      Since:
      1.2.0
    • deleteRole

      @PostMapping("dashboard/gru/delete-role") public String deleteRole(@RequestParam int idRuolo, Principal principal, org.springframework.ui.Model model, @ModelAttribute("newRoleForm") NewRoleForm newRoleForm)
      Elimina un ruolo personalizzato.

      Non permette l'eliminazione dei ruoli di sistema (Default).

      Parameters:
      idRuolo - ID del ruolo.
      principal - Identità utente.
      model - Modello UI.
      newRoleForm - DTO placeholder.
      Returns:
      Redirect con esito operazione.
      Since:
      1.2.0
    • assignRole

      @PostMapping("dashboard/gru/assign-role") public String assignRole(@RequestParam int idRuolo, @RequestParam(required=false) List<Integer> userIds, Principal principal, org.springframework.ui.Model model, @ModelAttribute("newRoleForm") NewRoleForm newRoleForm)
      Assegna un insieme di utenti a uno specifico ruolo.

      Aggiorna le associazioni esistenti, sovrascrivendo la lista degli utenti appartenenti al ruolo.

      Parameters:
      idRuolo - ID del ruolo target.
      userIds - Lista degli ID degli utenti da assegnare.
      principal - Identità utente.
      model - Modello UI.
      newRoleForm - DTO placeholder.
      Returns:
      Redirect con esito.
      Since:
      1.2.5
    • disinstallaModulo

      public void disinstallaModulo(AziendaEntity azienda)
      Il modulo GRU è un componente core del sistema di gestione utenti e non può essere disinstallato.
      Specified by:
      disinstallaModulo in class ModuloController
      Parameters:
      azienda - Azienda target.