diff --git a/src/main/java/fr/titionfire/PingPage.java b/src/main/java/fr/titionfire/PingPage.java index 2acd198..27c21a2 100644 --- a/src/main/java/fr/titionfire/PingPage.java +++ b/src/main/java/fr/titionfire/PingPage.java @@ -1,5 +1,9 @@ package fr.titionfire; +import io.quarkus.mailer.Mail; +import io.quarkus.mailer.reactive.ReactiveMailer; +import io.smallrye.mutiny.Uni; +import jakarta.inject.Inject; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; @@ -14,6 +18,9 @@ import org.eclipse.microprofile.openapi.annotations.tags.Tag; @Path("/api") public class PingPage { + @Inject + ReactiveMailer reactiveMailer; + @Operation(summary = "Renvoie un message de réussite", description = "Cette méthode renvoie un message de réussite si la connexion est établie avec succès.") @APIResponses(value = { @APIResponse(responseCode = "200", description = "Réussite") @@ -24,4 +31,117 @@ public class PingPage { return Response.ok().build(); } + @GET + @Path("test") + @Produces(MediaType.TEXT_PLAIN) + public Uni gettest() { + return reactiveMailer.send( + Mail.withHtml("thibaut.valentin78@gmail.com", + "FFSAF - Creation de votre compte sur l'intranet", + String.format( + """ + + + + + + Création de votre compte intranet FFSAF + + + + +
+
ffsaf +

Fédération France Soft Armored Fighting

+
+
+
+

Bonjour,

+

Suite à votre première inscription %s à la Fédération France Soft Armored Fighting (FFSAF), votre compte intranet a été créé.

+

Ce compte vous permettra de :

+ +

L’intranet est accessible à l’adresse suivante :

+

Accéder à l'intranet

+

Votre nom d’utilisateur est : %s

+

Pour définir votre mot de passe, rendez-vous sur l’intranet : Connexion > Mot de passe oublié ?

+

Si vous n’avez pas demandé cette inscription, veuillez contacter le support à l’adresse : support@ffsaf.fr.

+ +

Cordialement,
L’équipe de la FFSAF

+
+ + + + ""","", "user.getUsername()") + ) + .setText(""" + Bonjour, + + Suite à votre première inscription %sà la Fédération France Soft Armored Fighting (FFSAF), votre compte intranet a été créé. + Ce compte vous permettra de consulter vos informations et, dans un futur proche, de vous inscrire aux compétitions ainsi que d'en consulter les résultats. + + L'intranet est accessible à l'adresse suivante : https://intra.ffsaf.fr + Votre nom d'utilisateur est : %s + + Pour définir votre mot de passe, rendez-vous sur l'intranet > "Connexion" > "Mot de passe oublié ?" + + Si vous n'avez pas demandé cette inscription, veuillez contacter le support à l'adresse support@ffsaf.fr. + (Pas de panique, nous ne vous enverrons pas de message autre que ce concernant votre compte) + + Cordialement, + L'équipe de la FFSAF + """) + .setFrom("FFSAF ").setReplyTo("support@ffsaf.fr")); + } + } diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/KeycloakService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/KeycloakService.java index 1ab62dc..99cce5b 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/KeycloakService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/KeycloakService.java @@ -270,9 +270,95 @@ public class KeycloakService { .invoke(user -> membreModel.setUserId(user.getId())) .call(user -> updateRole(user.getId(), List.of("safca_user"), List.of())) .call(user -> enabled_email ? reactiveMailer.send( - Mail.withText(user.getEmail(), - "FFSAF - Creation de votre compte sur l'intranet", - String.format( + Mail.withHtml(user.getEmail(), "FFSAF - Creation de votre compte sur l'intranet", String.format( + """ + + + + + + Création de votre compte intranet FFSAF + + + + +
+
ffsaf +

Fédération France Soft Armored Fighting

+
+
+
+

Bonjour,

+

Suite à votre première inscription %s à la Fédération France Soft Armored Fighting (FFSAF), votre compte intranet a été créé.

+

Ce compte vous permettra de :

+ +

L’intranet est accessible à l’adresse suivante :

+

Accéder à l'intranet

+

Votre nom d’utilisateur est : %s

+

Pour définir votre mot de passe, rendez-vous sur l’intranet : Connexion > Mot de passe oublié ?

+

Si vous n’avez pas demandé cette inscription, veuillez contacter le support à l’adresse : support@ffsaf.fr.

+ +

Cordialement,
L’équipe de la FFSAF

+
+ + + + """, + membreModel.getRole() == RoleAsso.MEMBRE ? "par votre club (" + membreModel.getClub() + .getName() + ") " : "", user.getUsername()) + ) + .setText(String.format( """ Bonjour, @@ -291,8 +377,8 @@ public class KeycloakService { L'équipe de la FFSAF """, membreModel.getRole() == RoleAsso.MEMBRE ? "par votre club (" + membreModel.getClub() - .getName() + ") " : "", user.getUsername()) - ).setFrom("FFSAF ").setReplyTo("support@ffsaf.fr") + .getName() + ") " : "", user.getUsername())) + .setFrom("FFSAF ").setReplyTo("support@ffsaf.fr") ) : Uni.createFrom().nullItem()) .call(user -> membreService.setUserId(membreModel.getId(), user.getId())) .call(user -> setClubGroupMembre(membreModel, membreModel.getClub())); diff --git a/src/main/webapp/public/Logo-FFSAF-2023.png b/src/main/webapp/public/Logo-FFSAF-2023.png new file mode 100644 index 0000000..d44c9ce Binary files /dev/null and b/src/main/webapp/public/Logo-FFSAF-2023.png differ