This is an automated email from the git hooks/post-receive script. New commit to branch feature/permissionPollRestricted in repository pollen. See http://git.chorem.org/pollen.git commit 260c45932d66a41033366f68fed36ff5748e6690 Author: Adrien Garandel <a.garandel@dralagen.fr> Date: Tue Aug 5 10:41:11 2014 +0200 create link with VoterListMember and PollenUser, create permission for VoterListMember --- .../pollen/services/bean/VoterListMemberBean.java | 9 ++++-- .../pollen/services/service/VoterListService.java | 32 ++++++++++++++-------- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoterListMemberBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoterListMemberBean.java index 80b8932..f2d35e4 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoterListMemberBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoterListMemberBean.java @@ -21,6 +21,7 @@ package org.chorem.pollen.services.bean; * #L% */ +import org.chorem.pollen.persistence.entity.PollenPrincipalImpl; import org.chorem.pollen.persistence.entity.VoterListMember; import org.chorem.pollen.persistence.entity.VoterListMemberImpl; @@ -59,10 +60,12 @@ public class VoterListMemberBean extends PollenBean<VoterListMember> { VoterListMember entity = new VoterListMemberImpl(); entity.setTopiaId(getEntityId()); - if (entity.getMember() != null) { - entity.getMember().setEmail(getEmail()); - entity.getMember().setName(getName()); + if (entity.getMember() == null) { + entity.setMember(new PollenPrincipalImpl()); } + + entity.getMember().setEmail(getEmail()); + entity.getMember().setName(getName()); entity.setWeight(getWeight()); return entity; diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoterListService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoterListService.java index 1d74c3e..cc85b2b 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoterListService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoterListService.java @@ -417,16 +417,26 @@ public class VoterListService extends PollenServiceSupport { toSave = getVoterListMemberDao().create(); - PollenPrincipal member = getPollenPrincipalDao().forEmailEquals(voterListMember.getEmail()).findUniqueOrNull(); - - if (member == null) { + toSave.setVoterList(voterList); + + } + + // when create or edit email + if ( !voterListMemberExists || !voterListMember.getEmail().equals(toSave.getMember().getEmail()) ) { + PollenPrincipal member; + PollenUser user = getPollenUserDao().forEquals(PollenUser.PROPERTY_EMAIL, voterListMember.getEmail()).findUniqueOrNull(); + if (user != null ) { + member = getPollenPrincipalDao().create(); + member.setPollenUser(user); + member.setEmail(user.getEmail()); + member.setName(user.getName()); + member.setPermission(getSecurityService().generateNewToken()); + } + else { member = getSecurityService().generatePollenPrincipal(); } toSave.setMember(member); - - toSave.setVoterList(voterList); - } toSave.getMember().setName(voterListMember.getName()); @@ -516,24 +526,24 @@ public class VoterListService extends PollenServiceSupport { } String voterListMemberName = voterListMember.getName(); - boolean nameNotblank = checkNotBlank(errors, VoterListMember.PROPERTY_MEMBER+"."+PollenPrincipal.PROPERTY_NAME, voterListMemberName, "member name can not be empty"); + boolean nameNotblank = checkNotBlank(errors, PollenPrincipal.PROPERTY_NAME, voterListMemberName, "member name can not be empty"); if (nameNotblank) { boolean nameAdded = voterListMemberNames.add(voterListMemberName); - check(errors, VoterListMember.PROPERTY_MEMBER+"."+PollenPrincipal.PROPERTY_NAME, nameAdded, "member name already used in this list"); + check(errors, PollenPrincipal.PROPERTY_NAME, nameAdded, "member name already used in this list"); } String voterListMemberEmail = getCleanMail(voterListMember.getEmail()); - boolean emailNotBlank = checkNotBlank(errors, VoterListMember.PROPERTY_MEMBER+"."+PollenPrincipal.PROPERTY_EMAIL, voterListMemberEmail, "member email can not be empty"); + boolean emailNotBlank = checkNotBlank(errors, PollenPrincipal.PROPERTY_EMAIL, voterListMemberEmail, "member email can not be empty"); if (emailNotBlank) { - checkValidEmail(errors, VoterListMember.PROPERTY_MEMBER+"."+PollenPrincipal.PROPERTY_EMAIL, voterListMemberEmail, "member email is not valid"); + checkValidEmail(errors, PollenPrincipal.PROPERTY_EMAIL, voterListMemberEmail, "member email is not valid"); boolean emailAdded = voterListMemberEmails.add(voterListMemberEmail); - check(errors, VoterListMember.PROPERTY_MEMBER+"."+PollenPrincipal.PROPERTY_EMAIL, emailAdded, "member email already used in this list"); + check(errors, PollenPrincipal.PROPERTY_EMAIL, emailAdded, "member email already used in this list"); } -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.