This is an automated email from the git hooks/post-receive script. New commit to branch feature/pollen-riot-js in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git commit 1b13441724ba41ded81b003031a015d4c466e84d Author: Tony CHEMIT <dev@tchemit.fr> Date: Thu Feb 23 10:42:44 2017 +0100 Generate poll participants for restricted poll --- .../pollen/services/service/PollService.java | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) 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 c56e175..16a2259 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 @@ -22,10 +22,12 @@ package org.chorem.pollen.services.service; */ import com.google.common.base.Joiner; +import com.google.common.collect.Sets; import org.apache.commons.collections4.CollectionUtils; import org.chorem.pollen.persistence.entity.Choice; import org.chorem.pollen.persistence.entity.ChoiceType; import org.chorem.pollen.persistence.entity.Poll; +import org.chorem.pollen.persistence.entity.PollType; import org.chorem.pollen.persistence.entity.PollenPrincipal; import org.chorem.pollen.persistence.entity.PollenUser; import org.chorem.pollen.persistence.entity.VoterList; @@ -43,9 +45,13 @@ import org.nuiton.util.pagination.PaginationResult; import java.io.File; import java.util.ArrayList; +import java.util.Arrays; import java.util.Calendar; import java.util.Date; +import java.util.LinkedHashSet; +import java.util.LinkedList; import java.util.List; +import java.util.Set; import java.util.function.Function; import static org.nuiton.i18n.I18n.l; @@ -189,6 +195,25 @@ public class PollService extends PollenServiceSupport { errorMap.failIfNotEmpty(); Poll savedPoll = savePoll(poll, choices); + + if (poll.getPollType() == PollType.RESTRICTED) { + Set<String> emails = new LinkedHashSet<>(poll.getParticipants()); + if (poll.isWithMe()) { + emails.add(poll.getCreatorEmail()); + } + VoterListBean voterList = getVoterListService().newRestrictedVoterList(); + List<VoterListMemberBean> members = new LinkedList<>(); + for (String email : emails) { + VoterListMemberBean member = new VoterListMemberBean(); + member.setEmail(email); + //FIXME Try to get name from email + member.setName(email); + member.setWeight(1.0); + members.add(member); + } + getVoterListService().addVoterList(savedPoll.getTopiaId(), voterList, members); + + } commit(); getNotificationService().onPollCreated(savedPoll); @@ -247,6 +272,8 @@ public class PollService extends PollenServiceSupport { clonedPoll.setEndDate(null); clonedPoll.setBeginChoiceDate(null); clonedPoll.setEndChoiceDate(null); + clonedPoll.setParticipants(Sets.newLinkedHashSet(Arrays.asList(poll.getParticipants().split("\\s")))); + clonedPoll.setWithMe(poll.isWithMe()); clonedPoll.setTitle(clonedPoll.getTitle() + " (clone)"); -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.