fix(aff): set auto role after affiliation accepte

This commit is contained in:
Thibaut Valentin 2025-01-22 21:48:39 +01:00
parent 254fd0582f
commit eb68f84f7c
2 changed files with 12 additions and 9 deletions

View File

@ -212,6 +212,7 @@ public class AffiliationService {
membreModel.setClub(club); membreModel.setClub(club);
membreModel.setRole(member.getRole()); membreModel.setRole(member.getRole());
membreModel.setEmail(member.getEmail()); membreModel.setEmail(member.getEmail());
membreModel.setCountry("FR");
return Panache.withTransaction(() -> return Panache.withTransaction(() ->
combRepository.persist(membreModel) combRepository.persist(membreModel)
.chain(m -> sequenceRepository.getNextValueInTransaction(SequenceType.Licence) .chain(m -> sequenceRepository.getNextValueInTransaction(SequenceType.Licence)
@ -236,10 +237,13 @@ public class AffiliationService {
}).call(m -> Panache.withTransaction(() -> combRepository.persist(m))); }).call(m -> Panache.withTransaction(() -> combRepository.persist(m)));
} }
}) })
.call(m -> (m.getUserId() == null) ? keycloakService.initCompte(m.getId()) : .call(m -> ((m.getUserId() == null) ? keycloakService.initCompte(m.getId()) :
keycloakService.setClubGroupMembre(m, club)) keycloakService.setClubGroupMembre(m, club).map(__ -> m.getUserId()))
.call(m -> Panache.withTransaction(() -> licenceRepository.persist( .call(userId -> keycloakService.setAutoRoleMembre(userId, m.getRole(), m.getGrade_arbitrage())))
new LicenceModel(null, m, saison, null, true)))); .call(m -> m.getLicences().stream().anyMatch(l -> l.getSaison() == saison) ?
Uni.createFrom().nullItem() :
Panache.withTransaction(() -> licenceRepository.persist(
new LicenceModel(null, m, saison, null, true))));
} }
public Uni<?> accept(AffiliationRequestSaveForm form) { public Uni<?> accept(AffiliationRequestSaveForm form) {
@ -272,7 +276,7 @@ public class AffiliationService {
.chain(() -> { .chain(() -> {
ClubModel club = new ClubModel(); ClubModel club = new ClubModel();
club.setName(form.getName()); club.setName(form.getName());
club.setCountry("fr"); club.setCountry("FR");
club.setSIRET(form.getSiret()); club.setSIRET(form.getSiret());
club.setRNA(form.getRna()); club.setRNA(form.getRna());
club.setAddress(form.getAddress()); club.setAddress(form.getAddress());
@ -307,7 +311,7 @@ public class AffiliationService {
return Uni.createFrom().nullItem() return Uni.createFrom().nullItem()
.chain(() -> { .chain(() -> {
club.setName(form.getName()); club.setName(form.getName());
club.setCountry("fr"); club.setCountry("FR");
club.setSIRET(form.getSiret()); club.setSIRET(form.getSiret());
club.setRNA(form.getRna()); club.setRNA(form.getRna());
club.setAddress(form.getAddress()); club.setAddress(form.getAddress());

View File

@ -207,9 +207,8 @@ public class KeycloakService {
throw new KeycloakException("User name is null"); throw new KeycloakException("User name is null");
})).chain(membreModel -> creatUser(membreModel).chain(user -> { })).chain(membreModel -> creatUser(membreModel).chain(user -> {
LOGGER.infof("Set user id %s to membre %s", user.getId(), membreModel.getId()); LOGGER.infof("Set user id %s to membre %s", user.getId(), membreModel.getId());
return membreService.setUserId(membreModel.getId(), user.getId()); return membreService.setUserId(membreModel.getId(), user.getId()).map(__ -> user.getId());
})) }));
.map(__ -> "OK");
} }
private Uni<UserRepresentation> creatUser(MembreModel membreModel) { private Uni<UserRepresentation> creatUser(MembreModel membreModel) {