This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git commit 1d959597d0c3586cd4e43eaaf66d22c5e7e9b331 Author: Kevin Morin <morin@codelutin.com> Date: Tue Jun 6 18:39:12 2017 +0200 refs #56 ajout d'une configuration coté serveur pour limiter les adresses mail des utilisateurs qui s'inscrivent --- pollen-services/src/main/config/PollenServices.ini | 7 ++++++- .../chorem/pollen/services/service/PollenServiceSupport.java | 11 +++++++++++ .../org/chorem/pollen/services/service/PollenUserService.java | 2 ++ .../src/main/resources/i18n/pollen-services_en_GB.properties | 1 + .../src/main/resources/i18n/pollen-services_fr_FR.properties | 1 + 5 files changed, 21 insertions(+), 1 deletion(-) diff --git a/pollen-services/src/main/config/PollenServices.ini b/pollen-services/src/main/config/PollenServices.ini index 254d1254..d08268ff 100644 --- a/pollen-services/src/main/config/PollenServices.ini +++ b/pollen-services/src/main/config/PollenServices.ini @@ -153,4 +153,9 @@ defaultValue = "0 0/1 * * * ?" description = pollen.configuration.resource.maxSize key = pollen.resource.maxSize type = long -defaultValue = 10000000 +defaultValue = 10000000 + +[option emailAddressPatternForRegistration] +description = pollen.configuration.registration.emailAddressPattern +key = pollen.registration.emailAddressPattern +type = string \ No newline at end of file diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java index 62704bd4..f78d185a 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java @@ -383,6 +383,17 @@ public abstract class PollenServiceSupport implements PollenService { } + protected boolean checkEmailPattern(ErrorMap errors, String field, String value, String error) { + + String emailAddressPatternForRegistration = getPollenServiceConfig().getEmailAddressPatternForRegistration(); + return check(errors, + field, + emailAddressPatternForRegistration == null || + value != null && value.matches(emailAddressPatternForRegistration), + error); + + } + protected boolean check(ErrorMap errors, String field, boolean condition, String error) { if (!condition) { diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenUserService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenUserService.java index 7be28756..58f7fc72 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenUserService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenUserService.java @@ -333,6 +333,8 @@ public class PollenUserService extends PollenServiceSupport implements PollenSer checkValidEmail(errors, "email", userEmail, l(getLocale(), "pollen.error.user.mailInvalid")); + checkEmailPattern(errors, "email", userEmail, l(getLocale(), "pollen.error.user.mailInvalid")); + if (userExists) { // check if email is available only if has changed diff --git a/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties b/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties index ac628b1a..ae82fd6d 100644 --- a/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties +++ b/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties @@ -20,6 +20,7 @@ pollen.configuration.defaultVoteNotification=Default notification type for the v pollen.configuration.defaultVoteVisibility=Default vote visiblity pollen.configuration.devMode=Dev mode pollen.configuration.logConfigurationFile=Path to log configuration file +pollen.configuration.registration.emailAddressPattern=Regular expression that the user email address must match for registration pollen.configuration.resource.maxSize=Maximum size of pollen resource pollen.configuration.secret= pollen.configuration.sendEndPollRemindersCronSchedule=Time between two cron jobs of poll end reminder sending diff --git a/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties b/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties index b1f2958c..5b242705 100644 --- a/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties +++ b/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties @@ -20,6 +20,7 @@ pollen.configuration.defaultVoteNotification=Type de notification par défaut po pollen.configuration.defaultVoteVisibility=Visibilité des votes par défaut pollen.configuration.devMode=Mode développement pollen.configuration.logConfigurationFile=Chemin vers le fichier de configuration des logs +pollen.configuration.registration.emailAddressPattern=Expression régulière que doivent vérifier les adresses email des utilisateurs lors de l'inscription pollen.configuration.resource.maxSize=Taille maximal pour un fichier de resource de Pollen pollen.configuration.secret= pollen.configuration.sendEndPollRemindersCronSchedule=Intervalle entre deux lancements de la tâche d'envoi de mails de rappel de fin de sondage -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.