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 30c300a..abf831e 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/AffiliationService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/AffiliationService.java @@ -12,6 +12,8 @@ import fr.titionfire.ffsaf.utils.SequenceType; import fr.titionfire.ffsaf.utils.Utils; import io.quarkus.hibernate.reactive.panache.Panache; import io.quarkus.hibernate.reactive.panache.common.WithSession; +import io.quarkus.mailer.Mail; +import io.quarkus.mailer.reactive.ReactiveMailer; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.unchecked.Unchecked; import jakarta.enterprise.context.ApplicationScoped; @@ -47,6 +49,9 @@ public class AffiliationService { @Inject LicenceRepository licenceRepository; + @Inject + ReactiveMailer reactiveMailer; + @ConfigProperty(name = "upload_dir") String media; @@ -279,7 +284,22 @@ public class AffiliationService { ) .chain(() -> repository.persist(new AffiliationModel(null, club, model.getSaison()))) .map(c -> club)); - }); + }) + .call(club -> reactiveMailer.send( + Mail.withText(form.getM1_email(), + "FFSAF - Acceptation de votre demande d'affiliation", + String.format( + """ + Bonjour, + + Votre demande d'affiliation pour le club %s a été acceptée. + Le numéro d'affiliation de votre club est le %d. + + Cordialement, + L'équipe de la FFSAF + """, club.getName(), club.getNo_affiliation()) + ).setFrom("no-reply@ffsaf.fr").setReplyTo("contact@ffsaf.fr").addTo(form.getM2_email(), form.getM3_email()) + )); } private Uni acceptOld(AffiliationRequestSaveForm form, AffiliationRequestModel model, ClubModel club) {