Class StoreController
java.lang.Object
com.modulink.Controller.ModuloController
com.modulink.Controller.UserModules.GMA.Store.StoreController
Controller per la gestione dello Store/Marketplace dei moduli.
Permette alle aziende di sfogliare il catalogo dei moduli disponibili, acquistare nuove funzionalità e disinstallare quelle non più necessarie. Gestisce anche le richieste di sviluppo per nuovi moduli custom.
- Since:
- 1.3.0
- Version:
- 2.0.2
- Author:
- Modulink Team
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AttivazioneServiceprivate final CustomUserDetailsServiceprivate final List<ModuloController> private final ModuloServiceprivate final SupportFormService -
Constructor Summary
ConstructorsConstructorDescriptionStoreController(CustomUserDetailsService customUserDetailsService, AttivazioneService attivazioneService, ModuloService moduloService, SupportFormService supportFormService, List<ModuloController> moduloControllers) Costruttore con iniezione delle dipendenze. -
Method Summary
Modifier and TypeMethodDescriptionGestisce l'acquisto di un nuovo modulo.voiddisinstallaModulo(AziendaEntity azienda) Il modulo Store è un componente di sistema essenziale e non può essere disinstallato.requestModule(Principal principal, org.springframework.ui.Model model, String messaggio) Invia una richiesta di sviluppo per un nuovo modulo.requestModulePage(Principal principal, org.springframework.ui.Model model) Visualizza il form per richiedere nuovi moduli.Visualizza la vetrina dello store.uninstallModule(int moduloId, Principal principal) Gestisce la disinstallazione di un modulo.Methods inherited from class ModuloController
getId, isAccessibleModulo, setId
-
Field Details
-
customUserDetailsService
-
attivazioneService
-
supportFormService
-
moduloControllers
-
moduloService
-
-
Constructor Details
-
StoreController
public StoreController(CustomUserDetailsService customUserDetailsService, AttivazioneService attivazioneService, ModuloService moduloService, SupportFormService supportFormService, List<ModuloController> moduloControllers) Costruttore con iniezione delle dipendenze.- Parameters:
customUserDetailsService- Servizio utenti.attivazioneService- Servizio gestione attivazioni/acquisti.moduloService- Servizio moduli.supportFormService- Servizio ticket supporto.moduloControllers- Lista di tutti i controller dei moduli installati (per callback disinstallazione).- Since:
- 1.3.0
-
-
Method Details
-
Store
@GetMapping({"/dashboard/store/","/dashboard/store"}) public String Store(Principal principal, org.springframework.ui.Model model) Visualizza la vetrina dello store.Separa i moduli in due liste: acquistati e non acquistati, per una chiara presentazione all'utente.
- Parameters:
principal- Identità utente.model- Modello UI.- Returns:
- Vista "moduli/gma/store/StoreModuli" o redirect.
- Since:
- 1.3.0
-
buyModule
-
uninstallModule
@PostMapping("dashboard/store/uninstall") public String uninstallModule(@RequestParam("moduloId") int moduloId, Principal principal) Gestisce la disinstallazione di un modulo.Esegue una procedura complessa:
- Verifica che il modulo sia disinstallabile (non di sistema).
- Rimuove l'attivazione a livello di database.
- Invoca il metodo
disinstallaModulosul controller specifico del modulo per pulire i dati correlati.
- Parameters:
moduloId- ID del modulo da rimuovere.principal- Identità utente.- Returns:
- Redirect allo store con esito.
- Since:
- 1.3.0
-
requestModulePage
@GetMapping({"/dashboard/store/request","/dashboard/store/request/"}) public String requestModulePage(Principal principal, org.springframework.ui.Model model) Visualizza il form per richiedere nuovi moduli.- Parameters:
principal- Identità utente.model- Modello UI.- Returns:
- Vista richiesta moduli.
- Since:
- 1.3.5
-
requestModule
@PostMapping({"/dashboard/store/request","/dashboard/store/request/"}) public String requestModule(Principal principal, org.springframework.ui.Model model, @RequestParam("messaggio") String messaggio) Invia una richiesta di sviluppo per un nuovo modulo.- Parameters:
principal- Identità utente.model- Modello UI.messaggio- Descrizione della richiesta.- Returns:
- Redirect con conferma invio.
- Since:
- 1.3.5
-
disinstallaModulo
Il modulo Store è un componente di sistema essenziale e non può essere disinstallato.- Specified by:
disinstallaModuloin classModuloController- Parameters:
azienda- Azienda target.
-