Class NewsController

java.lang.Object
com.modulink.Controller.ModuloController
com.modulink.Controller.AdminModules.News.NewsController

@Controller public class NewsController extends ModuloController
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 Details

  • 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

      @GetMapping("/news") public String news(org.springframework.ui.Model model, Principal principal)
      Gestisce la visualizzazione pubblica delle news nella homepage.
      Parameters:
      model - Modello UI.
      principal - Utente loggato.
      Returns:
      Vista pubblica delle news.
      Since:
      1.1.0
    • 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

      public void disinstallaModulo(AziendaEntity azienda)
      Inibisce la disinstallazione del modulo News essendo un componente di sistema.
      Specified by:
      disinstallaModulo in class ModuloController
      Parameters:
      azienda - Azienda target.
      Since:
      1.1.0