Class NewsController
java.lang.Object
com.modulink.Controller.ModuloController
com.modulink.Controller.AdminModules.News.NewsController
Controller per la gestione del modulo di pubblicazione News.
Questo controller permette agli amministratori di gestire le comunicazioni verso gli utenti
(creazione e cancellazione news) e agli utenti finali di visualizzarle.
Estende ModuloController per l'integrazione con il sistema di gestione moduli.
- Since:
- 1.1.0
- Version:
- 1.5.4
- Author:
- Modulink Team
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CustomUserDetailsServiceprivate final NewsService -
Constructor Summary
ConstructorsConstructorDescriptionNewsController(ModuloService moduloService, NewsService newsService, CustomUserDetailsService customUserDetailsService) Costruttore con iniezione delle dipendenze. -
Method Summary
Modifier and TypeMethodDescriptionaddNews(org.springframework.ui.Model model, Principal principal, @Valid NewsForm newsForm, org.springframework.validation.BindingResult bindingResult) Processa la creazione di una nuova news.voiddisinstallaModulo(AziendaEntity azienda) Inibisce la disinstallazione del modulo News essendo un componente di sistema.Gestisce l'accesso al pannello di amministrazione delle news.Gestisce la visualizzazione pubblica delle news nella homepage.removeNews(Principal principal, org.springframework.ui.Model model, int idNews) Gestisce la cancellazione di una news specifica.Methods inherited from class ModuloController
getId, isAccessibleModulo, setId
-
Field Details
-
newsService
-
customUserDetailsService
-
-
Constructor Details
-
NewsController
public NewsController(ModuloService moduloService, NewsService newsService, CustomUserDetailsService customUserDetailsService) Costruttore con iniezione delle dipendenze.- Parameters:
moduloService- Servizio base gestione moduli.newsService- Servizio specifico per entità News.customUserDetailsService- Servizio recupero utenti.- Since:
- 1.1.0
-
-
Method Details
-
news
-
getNews
@GetMapping({"/dashboard/news","/dashboard/news/"}) public String getNews(org.springframework.ui.Model model, Principal principal) Gestisce l'accesso al pannello di amministrazione delle news. Verifica i permessi di accesso al modulo prima di mostrare la pagina di gestione.- Parameters:
model- Modello UI.principal- Utente amministratore.- Returns:
- Vista di amministrazione news o redirect.
- Since:
- 1.1.0
-
addNews
@PostMapping({"/dashboard/news","/dashboard/news/"}) public String addNews(org.springframework.ui.Model model, Principal principal, @Valid @ModelAttribute("newsForm") @Valid NewsForm newsForm, org.springframework.validation.BindingResult bindingResult) Processa la creazione di una nuova news.Esegue la validazione dei dati (inclusa la verifica che la data non sia nel passato) e salva la news nel database.
- Parameters:
model- Modello UI.principal- Utente amministratore.newsForm- DTO con i dati della news.bindingResult- Risultati della validazione.- Returns:
- Redirect con messaggio di successo o ricaricamento pagina in caso di errore.
- Since:
- 1.1.0
-
removeNews
@PostMapping({"/dashboard/remove-news","/dashboard/remove-news/"}) public String removeNews(Principal principal, org.springframework.ui.Model model, @RequestParam int idNews) Gestisce la cancellazione di una news specifica.- Parameters:
principal- Utente amministratore.model- Modello UI.idNews- ID della news da eliminare.- Returns:
- Redirect con messaggio di successo.
- Since:
- 1.1.0
-
disinstallaModulo
Inibisce la disinstallazione del modulo News essendo un componente di sistema.- Specified by:
disinstallaModuloin classModuloController- Parameters:
azienda- Azienda target.- Since:
- 1.1.0
-