diff --git a/src/main/java/fr/titionfire/ffsaf/data/model/LicenceModel.java b/src/main/java/fr/titionfire/ffsaf/data/model/LicenceModel.java index 890be1a..75bb228 100644 --- a/src/main/java/fr/titionfire/ffsaf/data/model/LicenceModel.java +++ b/src/main/java/fr/titionfire/ffsaf/data/model/LicenceModel.java @@ -25,6 +25,8 @@ public class LicenceModel { @Schema(description = "Le membre de la licence. (optionnel)") MembreModel membre; + Long club_id; + @Schema(description = "La saison de la licence.", example = "2025") int saison; diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/AffiliationService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/AffiliationService.java index 3e72d5a..f1d4566 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/AffiliationService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/AffiliationService.java @@ -263,7 +263,7 @@ public class AffiliationService { .call(l1 -> l1 != null && l1.stream().anyMatch(l -> l.getSaison() == saison) ? Uni.createFrom().nullItem() : Panache.withTransaction(() -> licenceRepository.persist( - new LicenceModel(null, m, saison, null, true))))); + new LicenceModel(null, m, club.getId(), saison, null, true))))); } public Uni accept(AffiliationRequestSaveForm form) { diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/LicenceService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/LicenceService.java index 6ac317d..3c3f3e6 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/LicenceService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/LicenceService.java @@ -53,6 +53,7 @@ public class LicenceService { return combRepository.findById(id).chain(membreModel -> { LicenceModel model = new LicenceModel(); model.setMembre(membreModel); + model.setClub_id((membreModel.getClub() == null) ? null : membreModel.getClub().getId()); model.setSaison(form.getSaison()); model.setCertificate(form.getCertificate()); model.setValidate(form.isValidate()); @@ -92,9 +93,10 @@ public class LicenceService { .invoke(Unchecked.consumer(count -> { if (count > 0) throw new DBadRequestException("Licence déjà demandée"); - })).chain(__ -> combRepository.findById(id).chain(combRepository -> { + })).chain(__ -> combRepository.findById(id).chain(membreModel2 -> { LicenceModel model = new LicenceModel(); - model.setMembre(combRepository); + model.setClub_id((membreModel2.getClub() == null) ? null : membreModel2.getClub().getId()); + model.setMembre(membreModel2); model.setSaison(Utils.getSaison()); model.setCertificate(form.getCertificate()); model.setValidate(false); diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/MembreService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/MembreService.java index 0aac3d0..041a9cb 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/MembreService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/MembreService.java @@ -226,6 +226,7 @@ public class MembreService { if (l == null) { l = new LicenceModel(); l.setMembre(membreModel1); + l.setClub_id(clubModel.get().getId()); l.setValidate(false); l.setSaison(Utils.getSaison()); } @@ -349,6 +350,9 @@ public class MembreService { membreModel) ).toList()).andFailFast()); }) + .call(membreModel -> licenceRepository.update("club_id = ?1 where membre = ?2 AND saison = ?3", + (membreModel.getClub() == null) ? null : membreModel.getClub().getId(), membreModel, + Utils.getSaison())) .call(membreModel -> membre.getPhoto_data().length > 0 ? ls.logAUpdate("Photo", membreModel) : Uni.createFrom().nullItem()) .map(__ -> "OK");