feat: ajouter l'envoi par e-mail du planning hebdomadaire global aux éducateurs
This commit is contained in:
@@ -7,6 +7,7 @@ import com.astalange.core.repository.EducateurRepository;
|
||||
import com.astalange.core.repository.EquipeRepository;
|
||||
import com.astalange.core.repository.SaisonRepository;
|
||||
import com.astalange.core.repository.TerrainRepository;
|
||||
import com.astalange.core.service.PlanningEmailService;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.validation.BindingResult;
|
||||
@@ -25,19 +26,22 @@ public class PlanningController {
|
||||
private final SaisonRepository saisonRepository;
|
||||
private final EquipeRepository equipeRepository;
|
||||
private final EducateurRepository educateurRepository;
|
||||
private final PlanningEmailService planningEmailService;
|
||||
|
||||
public PlanningController(CreneauEntrainementRepository creneauRepository,
|
||||
TerrainRepository terrainRepository,
|
||||
CategorieRepository categorieRepository,
|
||||
SaisonRepository saisonRepository,
|
||||
EquipeRepository equipeRepository,
|
||||
EducateurRepository educateurRepository) {
|
||||
EducateurRepository educateurRepository,
|
||||
PlanningEmailService planningEmailService) {
|
||||
this.creneauRepository = creneauRepository;
|
||||
this.terrainRepository = terrainRepository;
|
||||
this.categorieRepository = categorieRepository;
|
||||
this.saisonRepository = saisonRepository;
|
||||
this.equipeRepository = equipeRepository;
|
||||
this.educateurRepository = educateurRepository;
|
||||
this.planningEmailService = planningEmailService;
|
||||
}
|
||||
|
||||
@GetMapping
|
||||
@@ -202,4 +206,16 @@ public class PlanningController {
|
||||
redirectAttributes.addFlashAttribute("success", "Créneau d'entraînement supprimé avec succès.");
|
||||
return "redirect:/planning?jour=" + jour.name();
|
||||
}
|
||||
|
||||
@PostMapping("/envoyer-educateurs")
|
||||
public String envoyerPlanningEducateurs(@RequestParam(required = false) JourSemaine jour, RedirectAttributes redirectAttributes) {
|
||||
int count = planningEmailService.sendPlanningGlobalToEducateurs();
|
||||
if (count > 0) {
|
||||
redirectAttributes.addFlashAttribute("success", "Le planning global de la semaine a été envoyé par e-mail à " + count + " éducateur(s).");
|
||||
} else {
|
||||
redirectAttributes.addFlashAttribute("error", "Aucun e-mail n'a pu être envoyé. Vérifiez qu'une saison est active et que des éducateurs possèdent un e-mail valide.");
|
||||
}
|
||||
String returnJour = (jour != null) ? jour.name() : "LUNDI";
|
||||
return "redirect:/planning?jour=" + returnJour;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user