feat: implémentation de la gestion des saisons (UI, service, refactoring sidebar)
This commit is contained in:
@@ -5,11 +5,13 @@ import com.astalange.core.entity.Categorie;
|
||||
import com.astalange.core.entity.Licence;
|
||||
import com.astalange.core.entity.Dotation;
|
||||
import com.astalange.core.entity.Equipement;
|
||||
import com.astalange.core.entity.Saison;
|
||||
import com.astalange.core.repository.AdherentRepository;
|
||||
import com.astalange.core.repository.CategorieRepository;
|
||||
import com.astalange.core.repository.LicenceRepository;
|
||||
import com.astalange.core.repository.DotationRepository;
|
||||
import com.astalange.core.repository.EquipementRepository;
|
||||
import com.astalange.core.repository.SaisonRepository;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@@ -25,24 +27,26 @@ public class LicenceController {
|
||||
private final LicenceRepository licenceRepository;
|
||||
private final EquipementRepository equipementRepository;
|
||||
private final DotationRepository dotationRepository;
|
||||
private final SaisonRepository saisonRepository;
|
||||
|
||||
public LicenceController(AdherentRepository adherentRepository,
|
||||
CategorieRepository categorieRepository,
|
||||
LicenceRepository licenceRepository,
|
||||
EquipementRepository equipementRepository,
|
||||
DotationRepository dotationRepository) {
|
||||
DotationRepository dotationRepository,
|
||||
SaisonRepository saisonRepository) {
|
||||
this.adherentRepository = adherentRepository;
|
||||
this.categorieRepository = categorieRepository;
|
||||
this.licenceRepository = licenceRepository;
|
||||
this.equipementRepository = equipementRepository;
|
||||
this.dotationRepository = dotationRepository;
|
||||
this.saisonRepository = saisonRepository;
|
||||
}
|
||||
|
||||
@PostMapping("/adherents/{id}/licences")
|
||||
public String addLicence(
|
||||
@PathVariable Long id,
|
||||
@RequestParam Long categorieId,
|
||||
@RequestParam String saison,
|
||||
@RequestParam String etat,
|
||||
@RequestParam(required = false) String numeroLicence) {
|
||||
|
||||
@@ -56,18 +60,21 @@ public class LicenceController {
|
||||
|
||||
Categorie categorie = categorieRepository.findById(categorieId)
|
||||
.orElseThrow(() -> new IllegalArgumentException("Invalid Categorie ID"));
|
||||
|
||||
Saison saisonActive = saisonRepository.findByEstActiveTrue()
|
||||
.orElseThrow(() -> new IllegalStateException("Aucune saison active trouvée"));
|
||||
|
||||
Licence licence = new Licence();
|
||||
licence.setAdherent(adherent);
|
||||
licence.setCategorie(categorie);
|
||||
licence.setSaison(saison);
|
||||
licence.setSaison(saisonActive);
|
||||
licence.setEtat(etat);
|
||||
licence.setNumeroLicence(numeroLicence);
|
||||
|
||||
licence = licenceRepository.save(licence);
|
||||
|
||||
// Auto-initialize dotations for all configured equipments
|
||||
List<Equipement> equipements = equipementRepository.findAll();
|
||||
// Auto-initialize dotations for all configured equipments of the active season
|
||||
List<Equipement> equipements = equipementRepository.findBySaison(saisonActive);
|
||||
for (Equipement eq : equipements) {
|
||||
Dotation dotation = new Dotation();
|
||||
dotation.setLicence(licence);
|
||||
@@ -82,4 +89,27 @@ public class LicenceController {
|
||||
|
||||
return "redirect:/adherents/" + id + "/edit";
|
||||
}
|
||||
|
||||
@PostMapping("/adherents/{adherentId}/licences/{licenceId}/update")
|
||||
public String updateLicence(
|
||||
@PathVariable Long adherentId,
|
||||
@PathVariable Long licenceId,
|
||||
@RequestParam Long categorieId,
|
||||
@RequestParam String etat,
|
||||
@RequestParam(required = false) String numeroLicence) {
|
||||
|
||||
Licence licence = licenceRepository.findById(licenceId)
|
||||
.orElseThrow(() -> new IllegalArgumentException("Invalid Licence ID"));
|
||||
|
||||
Categorie categorie = categorieRepository.findById(categorieId)
|
||||
.orElseThrow(() -> new IllegalArgumentException("Invalid Categorie ID"));
|
||||
|
||||
licence.setCategorie(categorie);
|
||||
licence.setEtat(etat);
|
||||
licence.setNumeroLicence(numeroLicence);
|
||||
|
||||
licenceRepository.save(licence);
|
||||
|
||||
return "redirect:/adherents/" + adherentId + "/edit";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user