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 6533396ca12a22822751e06053d0809bb0a4352b Author: Kevin Morin <morin@codelutin.com> Date: Fri Jun 2 10:08:06 2017 +0200 modification des emails (pas d'affichage du contenu du vote) --- .../services/service/NotificationService.java | 2 +- .../services/service/mail/AbstractVoteEmail.java | 36 +++++----------------- .../pollen/services/service/mail/EmailService.java | 27 ++-------------- .../services/service/mail/VoteAddedEmail.java | 15 ++------- .../services/service/mail/VoteDeletedEmail.java | 15 ++------- .../services/service/mail/VoteEditedEmail.java | 15 ++------- .../main/resources/email/VoteAddedEmail.mustache | 12 +------- .../resources/email/VoteAddedEmail_fr.mustache | 12 +------- .../main/resources/email/VoteDeletedEmail.mustache | 12 +------- .../resources/email/VoteDeletedEmail_fr.mustache | 12 +------- .../main/resources/email/VoteEditedEmail.mustache | 12 +------- .../resources/email/VoteEditedEmail_fr.mustache | 10 ------ .../main/resources/email/VoteSummaryEmail.mustache | 26 ---------------- .../resources/email/VoteSummaryEmail_fr.mustache | 26 ---------------- .../i18n/pollen-services_en_GB.properties | 1 + .../i18n/pollen-services_fr_FR.properties | 2 +- 16 files changed, 28 insertions(+), 207 deletions(-) diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/NotificationService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/NotificationService.java index 325f1831..54adbbfd 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/NotificationService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/NotificationService.java @@ -147,7 +147,7 @@ public class NotificationService extends PollenServiceSupport { List<VoterListMember> allMembers = getVoterListDao().getAllMembers(mainVoterList); allMembers.stream() - .map(member -> member.getMember()) + .map(VoterListMember::getMember) .distinct() .forEach(pollenPrincipal -> { RestrictedPollInvitationEmail mail = emailService.newRestrictedPollInvitationEmail(poll, pollenPrincipal); diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/AbstractVoteEmail.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/AbstractVoteEmail.java index 1251865a..aa200a1c 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/AbstractVoteEmail.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/AbstractVoteEmail.java @@ -22,51 +22,31 @@ package org.chorem.pollen.services.service.mail; */ import org.chorem.pollen.persistence.entity.Poll; -import org.chorem.pollen.persistence.entity.VoteVisibility; -import org.chorem.pollen.votecounting.VoteCounting; -import org.chorem.pollen.votecounting.model.ChoiceToVoteRenderType; +import org.chorem.pollen.persistence.entity.Vote; import java.util.Locale; -import java.util.function.Function; /** * @author Kevin Morin */ public abstract class AbstractVoteEmail extends PollenMail { - protected Poll poll; + protected final Poll poll; - protected Function<String, String> voteCountingDisplayVoteValueFunction; + protected final Vote vote; - protected boolean voteCountingCheckboxEditorType; - - protected AbstractVoteEmail(Locale locale) { + protected AbstractVoteEmail(Locale locale, Poll poll, Vote vote) { super(locale); + this.poll = poll; + this.vote = vote; } public Poll getPoll() { return poll; } - public void setPoll(Poll poll) { - this.poll = poll; - } - - public Function<String, String> getVoteCountingDisplayVoteValue() { - return voteCountingDisplayVoteValueFunction; + public Vote getVote() { + return vote; } - public boolean isVoteCountingCheckboxEditorType() { - return voteCountingCheckboxEditorType; - } - - public void setVoteCounting(VoteCounting voteCounting) { - this.voteCountingDisplayVoteValueFunction = - voteValue -> voteCounting.getDisplayVoteValue(Double.parseDouble(voteValue)); - this.voteCountingCheckboxEditorType = voteCounting.getVoteValueEditorType() == ChoiceToVoteRenderType.CHECKBOX; - } - - public boolean isVoteVisible() { - return poll.getVoteVisibility() == VoteVisibility.CREATOR || poll.getVoteVisibility() == VoteVisibility.EVERYBODY; - } } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/EmailService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/EmailService.java index b2809702..d47eff68 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/EmailService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/EmailService.java @@ -26,7 +26,6 @@ import com.github.mustachejava.Mustache; import com.github.mustachejava.MustacheException; import com.github.mustachejava.MustacheFactory; import com.google.common.base.Charsets; -import com.google.common.base.Preconditions; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.commons.mail.Email; @@ -43,8 +42,6 @@ import org.chorem.pollen.services.PollenUIContext; import org.chorem.pollen.services.bean.PollenEntityId; import org.chorem.pollen.services.config.PollenServicesConfig; import org.chorem.pollen.services.service.PollenServiceSupport; -import org.chorem.pollen.votecounting.VoteCounting; -import org.chorem.pollen.votecounting.VoteCountingFactory; import java.io.StringWriter; import java.util.Locale; @@ -103,33 +100,15 @@ public class EmailService extends PollenServiceSupport { } public VoteAddedEmail newVoteAddedEmail(Poll poll, Vote vote) { - VoteAddedEmail email = new VoteAddedEmail(getLocale()); - initAbstractVoteEmail(email, poll); - email.setVote(vote); - return email; + return new VoteAddedEmail(getLocale(), poll, vote); } public VoteEditedEmail newVoteEditedEmail(Poll poll, Vote vote) { - VoteEditedEmail email = new VoteEditedEmail(getLocale()); - initAbstractVoteEmail(email, poll); - email.setVote(vote); - return email; + return new VoteEditedEmail(getLocale(), poll, vote); } public VoteDeletedEmail newVoteDeletedEmail(Poll poll, Vote vote) { - VoteDeletedEmail email = new VoteDeletedEmail(getLocale()); - email.setPoll(poll); - email.setVote(vote); - return email; - } - - private void initAbstractVoteEmail(AbstractVoteEmail email, Poll poll) { - email.setPoll(poll); - VoteCountingFactory voteCountingFactory = serviceContext.getVoteCountingFactory(); - VoteCounting voteCounting = voteCountingFactory.getVoteCounting(poll.getVoteCountingType()); - Preconditions.checkNotNull( - voteCounting, "Could not find vote counting for id " + poll.getVoteCountingType()); - email.setVoteCounting(voteCounting); + return new VoteDeletedEmail(getLocale(), poll, vote); } public PollCreatedEmail newPollCreatedEmail(Poll poll) { diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/VoteAddedEmail.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/VoteAddedEmail.java index 82000f0d..20d6725e 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/VoteAddedEmail.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/VoteAddedEmail.java @@ -21,6 +21,7 @@ package org.chorem.pollen.services.service.mail; * #L% */ +import org.chorem.pollen.persistence.entity.Poll; import org.chorem.pollen.persistence.entity.Vote; import org.nuiton.i18n.I18n; @@ -34,10 +35,8 @@ import java.util.Locale; */ public class VoteAddedEmail extends AbstractVoteEmail { - protected Vote vote; - - protected VoteAddedEmail(Locale locale) { - super(locale); + protected VoteAddedEmail(Locale locale, Poll poll, Vote vote) { + super(locale, poll, vote); } @Override @@ -45,12 +44,4 @@ public class VoteAddedEmail extends AbstractVoteEmail { return I18n.l(locale, "pollen.service.mail.VoteAddedEmail.subject", poll.getTitle()); } - public Vote getVote() { - return vote; - } - - public void setVote(Vote vote) { - this.vote = vote; - } - } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/VoteDeletedEmail.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/VoteDeletedEmail.java index c12841f6..3fa17def 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/VoteDeletedEmail.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/VoteDeletedEmail.java @@ -21,6 +21,7 @@ package org.chorem.pollen.services.service.mail; * #L% */ +import org.chorem.pollen.persistence.entity.Poll; import org.chorem.pollen.persistence.entity.Vote; import org.nuiton.i18n.I18n; @@ -34,10 +35,8 @@ import java.util.Locale; */ public class VoteDeletedEmail extends AbstractVoteEmail { - protected Vote vote; - - protected VoteDeletedEmail(Locale locale) { - super(locale); + protected VoteDeletedEmail(Locale locale, Poll poll, Vote vote) { + super(locale, poll, vote); } @Override @@ -45,12 +44,4 @@ public class VoteDeletedEmail extends AbstractVoteEmail { return I18n.l(locale, "pollen.service.mail.VoteDeletedEmail.subject", poll.getTitle()); } - public Vote getVote() { - return vote; - } - - public void setVote(Vote vote) { - this.vote = vote; - } - } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/VoteEditedEmail.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/VoteEditedEmail.java index eeac3b65..cb3b22b9 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/VoteEditedEmail.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/VoteEditedEmail.java @@ -21,6 +21,7 @@ package org.chorem.pollen.services.service.mail; * #L% */ +import org.chorem.pollen.persistence.entity.Poll; import org.chorem.pollen.persistence.entity.Vote; import org.nuiton.i18n.I18n; @@ -34,22 +35,12 @@ import java.util.Locale; */ public class VoteEditedEmail extends AbstractVoteEmail { - protected Vote vote; - - protected VoteEditedEmail(Locale locale) { - super(locale); + protected VoteEditedEmail(Locale locale, Poll poll, Vote vote) { + super(locale, poll, vote); } @Override public String getSubject() { return I18n.l(locale, "pollen.service.mail.VoteEditedEmail.subject", poll.getTitle()); } - - public Vote getVote() { - return vote; - } - - public void setVote(Vote vote) { - this.vote = vote; - } } \ No newline at end of file diff --git a/pollen-services/src/main/resources/email/VoteAddedEmail.mustache b/pollen-services/src/main/resources/email/VoteAddedEmail.mustache index 89008dff..21a76ad1 100644 --- a/pollen-services/src/main/resources/email/VoteAddedEmail.mustache +++ b/pollen-services/src/main/resources/email/VoteAddedEmail.mustache @@ -5,14 +5,4 @@ Someone answered your poll '{{poll.title}}'. {{/vote.anonymous}} {{^vote.anonymous}} {{vote.voter.name}} answered your poll '{{poll.title}}'. -{{/vote.anonymous}} -{{#voteVisible}} -{{#vote.voteToChoice}} -{{#voteCountingCheckboxEditorType}} -{{#voteCountingDisplayVoteValueFunction}}{{voteValue}}{{/voteCountingDisplayVoteValueFunction}} {{choice.choiceValue}} -{{/voteCountingCheckboxEditorType}} -{{^voteCountingCheckboxEditorType}} -- {{choice.choiceValue}}: {{#voteCountingDisplayVoteValueFunction}}{{voteValue}}{{/voteCountingDisplayVoteValueFunction}} -{{/voteCountingCheckboxEditorType}} -{{/vote.voteToChoice}} -{{/voteVisible}} \ No newline at end of file +{{/vote.anonymous}} \ No newline at end of file diff --git a/pollen-services/src/main/resources/email/VoteAddedEmail_fr.mustache b/pollen-services/src/main/resources/email/VoteAddedEmail_fr.mustache index f908540c..62958101 100644 --- a/pollen-services/src/main/resources/email/VoteAddedEmail_fr.mustache +++ b/pollen-services/src/main/resources/email/VoteAddedEmail_fr.mustache @@ -5,14 +5,4 @@ Quelqu'un a répondu à votre sondage '{{poll.title}}'. {{/vote.anonymous}} {{^vote.anonymous}} {{vote.voter.name}} a répondu à votre sondage '{{poll.title}}'. -{{/vote.anonymous}} -{{#voteVisible}} -{{#vote.voteToChoice}} -{{#voteCountingCheckboxEditorType}} -{{#voteCountingDisplayVoteValueFunction}}{{voteValue}}{{/voteCountingDisplayVoteValueFunction}} {{choice.choiceValue}} -{{/voteCountingCheckboxEditorType}} -{{^voteCountingCheckboxEditorType}} -- {{choice.choiceValue}} : {{#voteCountingDisplayVoteValueFunction}}{{voteValue}}{{/voteCountingDisplayVoteValueFunction}} -{{/voteCountingCheckboxEditorType}} -{{/vote.voteToChoice}} -{{/voteVisible}} \ No newline at end of file +{{/vote.anonymous}} \ No newline at end of file diff --git a/pollen-services/src/main/resources/email/VoteDeletedEmail.mustache b/pollen-services/src/main/resources/email/VoteDeletedEmail.mustache index eb7aa228..509377bd 100644 --- a/pollen-services/src/main/resources/email/VoteDeletedEmail.mustache +++ b/pollen-services/src/main/resources/email/VoteDeletedEmail.mustache @@ -5,14 +5,4 @@ Someone deleted his vote on your poll '{{poll.title}}'. {{/vote.anonymous}} {{^vote.anonymous}} {{vote.voter.name}} deleted his vote on your poll '{{poll.title}}'. -{{/vote.anonymous}} -{{#voteVisible}} -{{#vote.voteToChoice}} -{{#voteCountingCheckboxEditorType}} -{{#voteCountingDisplayVoteValueFunction}}{{voteValue}}{{/voteCountingDisplayVoteValueFunction}} {{choice.choiceValue}} -{{/voteCountingCheckboxEditorType}} -{{^voteCountingCheckboxEditorType}} -- {{choice.choiceValue}}: {{#voteCountingDisplayVoteValueFunction}}{{voteValue}}{{/voteCountingDisplayVoteValueFunction}} -{{/voteCountingCheckboxEditorType}} -{{/vote.voteToChoice}} -{{/voteVisible}} \ No newline at end of file +{{/vote.anonymous}} \ No newline at end of file diff --git a/pollen-services/src/main/resources/email/VoteDeletedEmail_fr.mustache b/pollen-services/src/main/resources/email/VoteDeletedEmail_fr.mustache index dfeef3b4..8eab06ae 100644 --- a/pollen-services/src/main/resources/email/VoteDeletedEmail_fr.mustache +++ b/pollen-services/src/main/resources/email/VoteDeletedEmail_fr.mustache @@ -5,14 +5,4 @@ Bonjour {{poll.creator.name}}, {{/vote.anonymous}} {{^vote.anonymous}} {{vote.voter.name}} a supprimé son vote sur votre sondage '{{poll.title}}'. -{{/vote.anonymous}} -{{#voteVisible}} - {{#vote.voteToChoice}} - {{#voteCountingCheckboxEditorType}} - {{#voteCountingDisplayVoteValueFunction}}{{voteValue}}{{/voteCountingDisplayVoteValueFunction}} {{choice.choiceValue}} - {{/voteCountingCheckboxEditorType}} - {{^voteCountingCheckboxEditorType}} - - {{choice.choiceValue}} : {{#voteCountingDisplayVoteValueFunction}}{{voteValue}}{{/voteCountingDisplayVoteValueFunction}} - {{/voteCountingCheckboxEditorType}} - {{/vote.voteToChoice}} -{{/voteVisible}} \ No newline at end of file +{{/vote.anonymous}} \ No newline at end of file diff --git a/pollen-services/src/main/resources/email/VoteEditedEmail.mustache b/pollen-services/src/main/resources/email/VoteEditedEmail.mustache index 482feddd..b48433a9 100644 --- a/pollen-services/src/main/resources/email/VoteEditedEmail.mustache +++ b/pollen-services/src/main/resources/email/VoteEditedEmail.mustache @@ -5,14 +5,4 @@ Someone edited his vote on your poll '{{poll.title}}'. {{/vote.anonymous}} {{^vote.anonymous}} {{vote.voter.name}} edited his vote on your poll '{{poll.title}}'. -{{/vote.anonymous}} -{{#voteVisible}} -{{#vote.voteToChoice}} -{{#voteCountingCheckboxEditorType}} -{{#voteCountingDisplayVoteValueFunction}}{{voteValue}}{{/voteCountingDisplayVoteValueFunction}} {{choice.choiceValue}} -{{/voteCountingCheckboxEditorType}} -{{^voteCountingCheckboxEditorType}} -- {{choice.choiceValue}}: {{#voteCountingDisplayVoteValueFunction}}{{voteValue}}{{/voteCountingDisplayVoteValueFunction}} -{{/voteCountingCheckboxEditorType}} -{{/vote.voteToChoice}} -{{/voteVisible}} \ No newline at end of file +{{/vote.anonymous}} \ No newline at end of file diff --git a/pollen-services/src/main/resources/email/VoteEditedEmail_fr.mustache b/pollen-services/src/main/resources/email/VoteEditedEmail_fr.mustache index 4f9c6f6a..6ec8a8e5 100644 --- a/pollen-services/src/main/resources/email/VoteEditedEmail_fr.mustache +++ b/pollen-services/src/main/resources/email/VoteEditedEmail_fr.mustache @@ -5,14 +5,4 @@ Quelqu'un a modifié son vote sur votre sondage '{{poll.title}}'. {{/vote.anonymous}} {{^vote.anonymous}} {{vote.voter.name}} a modifié son vote sur votre sondage '{{poll.title}}'. -{{#voteVisible}} -{{#vote.voteToChoice}} -{{#voteCountingCheckboxEditorType}} -{{#voteCountingDisplayVoteValueFunction}}{{voteValue}}{{/voteCountingDisplayVoteValueFunction}} {{choice.choiceValue}} -{{/voteCountingCheckboxEditorType}} -{{^voteCountingCheckboxEditorType}} -- {{choice.choiceValue}} : {{#voteCountingDisplayVoteValueFunction}}{{voteValue}}{{/voteCountingDisplayVoteValueFunction}} -{{/voteCountingCheckboxEditorType}} -{{/vote.voteToChoice}} -{{/voteVisible}} {{/vote.anonymous}} \ No newline at end of file diff --git a/pollen-services/src/main/resources/email/VoteSummaryEmail.mustache b/pollen-services/src/main/resources/email/VoteSummaryEmail.mustache deleted file mode 100644 index 5367b60c..00000000 --- a/pollen-services/src/main/resources/email/VoteSummaryEmail.mustache +++ /dev/null @@ -1,26 +0,0 @@ -Hello {{poll.creator.name}}, - -Since {{lastVoteNotification}}, {{votes.size}} person(s) answered your poll '{{poll.title}}' -{{#votes}} -{{#voteVisible}} -{{#anonymous}} -Someone answered: -{{/anonymous}} -{{^anonymous}} -{{voter.name}} answered: -{{/anonymous}} -{{#voteToChoice}} -{{#voteCountingCheckboxEditorType}} -{{#voteCountingDisplayVoteValueFunction}}{{voteValue}}{{/voteCountingDisplayVoteValueFunction}} {{choice.choiceValue}} -{{/voteCountingCheckboxEditorType}} -{{^voteCountingCheckboxEditorType}} -- {{choice.choiceValue}}: {{#voteCountingDisplayVoteValueFunction}}{{voteValue}}{{/voteCountingDisplayVoteValueFunction}} -{{/voteCountingCheckboxEditorType}} -{{/voteToChoice}} -{{/voteVisible}} -{{^voteVisible}} -{{^anonymous}} -- {{voter.name}} -{{/anonymous}} -{{/voteVisible}} -{{/votes}} \ No newline at end of file diff --git a/pollen-services/src/main/resources/email/VoteSummaryEmail_fr.mustache b/pollen-services/src/main/resources/email/VoteSummaryEmail_fr.mustache deleted file mode 100644 index 6bf86b3b..00000000 --- a/pollen-services/src/main/resources/email/VoteSummaryEmail_fr.mustache +++ /dev/null @@ -1,26 +0,0 @@ -Bonjour {{poll.creator.name}}, - -Depuis le {{lastVoteNotification}}, {{votes.size}} personne(s) a(ont) répondu à votre sondage '{{poll.title}}' -{{#votes}} -{{#voteVisible}} -{{#anonymous}} -Quelqu'un a répondu : -{{/anonymous}} -{{^anonymous}} -{{voter.name}} a répondu : -{{/anonymous}} -{{#voteToChoice}} -{{#voteCountingCheckboxEditorType}} -{{#voteCountingDisplayVoteValueFunction}}{{voteValue}}{{/voteCountingDisplayVoteValueFunction}} {{choice.choiceValue}} -{{/voteCountingCheckboxEditorType}} -{{^voteCountingCheckboxEditorType}} -- {{choice.choiceValue}} : {{#voteCountingDisplayVoteValueFunction}}{{voteValue}}{{/voteCountingDisplayVoteValueFunction}} -{{/voteCountingCheckboxEditorType}} -{{/voteToChoice}} -{{/voteVisible}} -{{^voteVisible}} -{{^anonymous}} -- {{voter.name}} -{{/anonymous}} -{{/voteVisible}} -{{/votes}} \ No newline at end of file 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 472f0ee8..6293aeb4 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 @@ -102,6 +102,7 @@ pollen.error.voterList.member.weight.greaterThan0=member weight must be greater pollen.error.voterList.name.alreadyUsed=voterList name already used pollen.error.voterList.name.mandatory=voterList name can not be empty pollen.error.voterList.weight.greaterThan0=voterList weight must be greater than 0 +pollen.service.feed.anonymous= pollen.service.feed.pollCreated.description=On the %s, %s created the poll "%s". pollen.service.feed.pollCreated.title=%s created the poll "%s" pollen.service.feed.voteAdded.title=%s voted 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 3e8bc045..5189223c 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 @@ -101,6 +101,7 @@ pollen.error.voterList.member.weight.greaterThan0=Le membre doit avoir un poid s pollen.error.voterList.name.alreadyUsed=Le nom de la liste de votant existe déjà pollen.error.voterList.name.mandatory=Nom de la liste de votant est obligatoire pollen.error.voterList.weight.greaterThan0=Poid de la liste de votant doit être supérieur à 0 +pollen.service.feed.anonymous=Quelqu'un pollen.service.feed.pollCreated.description=Le %s, %s a créé le sondage %s. pollen.service.feed.pollCreated.title=%s a créé le sondage "%s" pollen.service.feed.voteAdded.title=%s a voté @@ -127,4 +128,3 @@ pollen.service.mail.UserAccountCreatedEmail.subject=[Pollen] Confirmation de cr pollen.service.mail.VoteAddedEmail.subject=[Pollen] Un nouveau vote a été ajouté au sondage %s pollen.service.mail.VoteDeletedEmail.subject=[Pollen] Un vote a été supprimé sur le sondage %s pollen.service.mail.VoteEditedEmail.subject=[Pollen] Un vote a été modifié du sondage %s -pollen.service.mail.VoteSummaryEmail.subject=[Pollen] Résumé des votes depuis le %s pour le sondage %s -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.