This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository pollen. See http://git.chorem.org/pollen.git commit 2bdb75d0936199c44d387ce3594695c90aa4c11f Author: Adrien Garandel <a.garandel@dralagen.fr> Date: Mon Aug 11 14:20:43 2014 +0200 translate VoteService error message --- .../java/org/chorem/pollen/services/service/PollService.java | 10 +++++++++- .../chorem/pollen/services/service/VoteCountingService.java | 6 ++++-- .../java/org/chorem/pollen/services/service/VoteService.java | 12 ++++++------ .../src/main/resources/i18n/pollen-services_en_GB.properties | 8 +++++++- .../src/main/resources/i18n/pollen-services_fr_FR.properties | 6 ++++++ 5 files changed, 32 insertions(+), 10 deletions(-) diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java index 4a83ae3..dc37162 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java @@ -63,7 +63,15 @@ public class PollService extends PollenServiceSupport { input.setResultIsVisible(isPermitted(PermissionVerb.readPollResult, input.getEntityId())); - input.setCanVote(isPermitted(PermissionVerb.addVote, input.getEntityId()) && (!input.isClosed() && getNow().compareTo(input.getEndDate()) == -1)); + boolean canVote = !input.isClosed(); + if (canVote && input.getEndDate() != null) { + canVote = getNow().compareTo(input.getEndDate()) == -1; + } + if (canVote) { + canVote = isPermitted(PermissionVerb.addVote, input.getEntityId()); + } + + input.setCanVote(canVote); return input; } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingService.java index 5471f15..e469da1 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingService.java @@ -51,6 +51,8 @@ import java.util.List; import java.util.Map; import java.util.Set; +import static org.nuiton.i18n.I18n.l; + /** * TODO * @@ -267,14 +269,14 @@ public class VoteCountingService extends PollenServiceSupport { check(errors, "voteValue[" + choice.getChoiceId().getReducedId() + "]", voteCounting.isVoteValueValid(choice.getVoteValue()), - "Value is invalid"); + l(getLocale(), "pollen.error.vote.voteValue.invalid")); } } check(errors, "totalVoteValue", voteCounting.isTotalVoteValueValid(total), - "Total vote value is invalid"); + l(getLocale(), "pollen.error.vote.totalVote.invalid")); return errors; } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java index 441c2ba..97910a1 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java @@ -34,6 +34,8 @@ import org.chorem.pollen.services.service.security.PermissionVerb; import java.util.*; +import static org.nuiton.i18n.I18n.l; + /** * TODO * @@ -178,16 +180,14 @@ public class VoteService extends PollenServiceSupport { boolean voteExists = vote.isPersisted(); Set<String> voterNames = new HashSet<>(); - // poll can't be closed - boolean notClosed = checkNot(errors, "poll", poll.isClosed(), "poll can not be closed"); + boolean notClosed = checkNot(errors, "poll", poll.isClosed(), l(getLocale(), "pollen.error.vote.poll.isClosed")); if (notClosed) { Date now = serviceContext.getNow(); - // poll must be started - check(errors, "poll", Polls.isStarted(poll, now), "poll is not started"); + check(errors, "poll", Polls.isStarted(poll, now), l(getLocale(), "pollen.error.vote.poll.notStarted")); - boolean voteNameNotBlank = checkNotBlank(errors, "voter.name", vote.getVoterName(), "voter name can not be empty"); + boolean voteNameNotBlank = checkNotBlank(errors, "voter.name", vote.getVoterName(), l(getLocale(), "pollen.error.vote.voterName.mandatory")); if ( voteNameNotBlank ) { List<Vote> existingVote = getVoteDao().findAll(poll); @@ -208,7 +208,7 @@ public class VoteService extends PollenServiceSupport { } boolean voterNameAdded = voterNames.add(vote.getVoterName()); - check(errors, "voter.name", voterNameAdded, "voter name is already used"); + check(errors, "voter.name", voterNameAdded, l(getLocale(), "pollen.error.vote.voterName.alreadyExist")); } 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 41bdce0..6c772c0 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 @@ -29,6 +29,7 @@ pollen.error.favoriteListMember.email.empty=member email can not be empty pollen.error.favoriteListMember.email.invalid=member email is not valid pollen.error.favoriteListMember.name.already.used=member name already used pollen.error.favoriteListMember.name.empty=member name can not be empty +pollen.error.poll.beginChoiceDate.afterEndDate=the begin date of adding choice is after the end of poll pollen.error.poll.choice.mandatory=At least a choice is mandatory pollen.error.poll.commentVisibility.mandatory=comment visiblity is mandatory pollen.error.poll.endChoiceDate.beforeBeginChoiceDate=The end date of adding choice is before the begin date @@ -49,6 +50,12 @@ pollen.error.user.mailExist=email already exists pollen.error.user.mailInvalid=email is not valid pollen.error.user.passwordEmpty=password can not be empty pollen.error.user.passwordInvalid=password is not valid +pollen.error.vote.poll.isClosed=poll is closed, you can't vote +pollen.error.vote.poll.notStarted=poll is not started +pollen.error.vote.totalVote.invalid=Total vote value is invalid +pollen.error.vote.voteValue.invalid=Value is invalid +pollen.error.vote.voterName.alreadyExist=voter name is already used +pollen.error.vote.voterName.mandatory=voter name can not be empty pollen.service.mail.ChoiceAddedEmail.subject=[Pollen] A choice was added in poll %s pollen.service.mail.ChoiceDeletedEmail.subject=[Pollen] A choice was deleted in poll %s pollen.service.mail.ChoiceEditedEmail.subject=[Pollen] A choice was edited in poll %s @@ -68,4 +75,3 @@ pollen.service.mail.UserAccountCreatedEmail.subject=[Pollen] Confirmation of acc pollen.service.mail.VoteAddedEmail.subject=[Pollen] A vote was added in poll %s pollen.service.mail.VoteDeletedEmail.subject=[Pollen] A vote was edited in poll %s pollen.service.mail.VoteEditedEmail.subject=[Pollen] A vote was deleted in poll %s -pollen.error.poll.beginChoiceDate.afterEndDate=the begin date of adding choice is after the end of poll 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 0eae21b..bd143c7 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 @@ -49,6 +49,12 @@ pollen.error.user.mailExist=Courriel existe déjà pollen.error.user.mailInvalid=Courriel est invalide pollen.error.user.passwordEmpty=Mot de passe ne peut pas être vide pollen.error.user.passwordInvalid=Mot de passe est invalide +pollen.error.vote.poll.isClosed=Le sondage est clos, vous pouvez voter +pollen.error.vote.poll.notStarted=les votes n'ont pas commencé +pollen.error.vote.totalVote.invalid=le total des valuers est invalide +pollen.error.vote.voteValue.invalid=la valeur est invalid +pollen.error.vote.voterName.alreadyExist=le nom existe déjà +pollen.error.vote.voterName.mandatory=le nom est obligatoire pollen.service.mail.ChoiceAddedEmail.subject=[Pollen] Un choix a été ajouté au sondage %s pollen.service.mail.ChoiceDeletedEmail.subject=[Pollen] Un choix a été supprimé du sondage %s pollen.service.mail.ChoiceEditedEmail.subject=[Pollen] Un choix a été modifié sur le sondage %s -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.