r3100 - in branches/pollen-2.0-beta-1: . pollen-services pollen-services/src/main/java/org/chorem/pollen/services
Author: bleny Date: 2012-01-23 10:25:50 +0100 (Mon, 23 Jan 2012) New Revision: 3100 Url: http://chorem.org/repositories/revision/pollen/3100 Log: moving business stuff from tapestry ui to the new service module Modified: branches/pollen-2.0-beta-1/ branches/pollen-2.0-beta-1/pollen-services/pom.xml branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollService.java branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/UserService.java Property changes on: branches/pollen-2.0-beta-1 ___________________________________________________________________ Modified: svn:ignore - *.ipr *.iws *.iml .classpath .project target .pollen .settings nbactions.xml + *.ipr *.iws *.iml .classpath .project target .pollen .settings nbactions.xml . .idea Modified: branches/pollen-2.0-beta-1/pollen-services/pom.xml =================================================================== --- branches/pollen-2.0-beta-1/pollen-services/pom.xml 2012-01-21 13:05:10 UTC (rev 3099) +++ branches/pollen-2.0-beta-1/pollen-services/pom.xml 2012-01-23 09:25:50 UTC (rev 3100) @@ -98,6 +98,10 @@ <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </dependency> + <dependency> + <groupId>org.nuiton.i18n</groupId> + <artifactId>nuiton-i18n</artifactId> + </dependency> </dependencies> <!-- ************************************************************* --> Modified: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollService.java =================================================================== --- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollService.java 2012-01-21 13:05:10 UTC (rev 3099) +++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollService.java 2012-01-23 09:25:50 UTC (rev 3100) @@ -23,6 +23,7 @@ */ package org.chorem.pollen.services; +import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import org.chorem.pollen.PollenBusinessException; import org.chorem.pollen.PollenException; @@ -36,11 +37,11 @@ import org.chorem.pollen.entity.PollAccount; import org.chorem.pollen.entity.UserAccount; import org.chorem.pollen.service.legacy.ServicePollImpl; -import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; import org.nuiton.topia.framework.EntityFilter; import java.util.Collection; +import java.util.Date; import java.util.List; public class PollService extends PollenServiceSupport { @@ -264,4 +265,36 @@ } } + public void validatePoll(Poll poll) { + + Date currentTime = serviceContext.getCurrentTime(); + + if (poll.getBeginDate() == null) { + poll.setBeginDate(currentTime); + } + + if (poll.getEndDate() != null) { + Preconditions.checkArgument(poll.getEndDate().before(poll.getBeginDate())); + } + + // Add choices if allowed after creation + if (poll.isChoiceAddAllowed()) { + + // Initialize beginChoiceDate if needed + if (poll.getBeginChoiceDate() == null) { + poll.setBeginChoiceDate(currentTime); + } + + // Check beginChoiceDate + if (poll.getEndDate() != null) { + Preconditions.checkArgument(poll.getBeginChoiceDate().before(poll.getEndDate())); + } + + // Check endChoiceDate + if (poll.getEndChoiceDate() != null) { + Preconditions.checkArgument(poll.getEndChoiceDate().after(poll.getBeginChoiceDate())); + } + } + + } } Modified: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/UserService.java =================================================================== --- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/UserService.java 2012-01-21 13:05:10 UTC (rev 3099) +++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/UserService.java 2012-01-23 09:25:50 UTC (rev 3100) @@ -30,6 +30,7 @@ import org.chorem.pollen.PollenDAOHelper; import org.chorem.pollen.PollenException; import org.chorem.pollen.PollenTechnicalException; +import org.chorem.pollen.bean.PollenEmail; import org.chorem.pollen.entity.UserAccount; import org.chorem.pollen.entity.UserAccountDAO; import org.chorem.pollen.service.legacy.ServiceUserImpl; @@ -43,6 +44,7 @@ import java.util.Map; import static org.nuiton.i18n.I18n._; +import static org.nuiton.i18n.I18n.l_; public class UserService extends PollenServiceSupport { @@ -71,8 +73,11 @@ } } - public UserAccount createUser(UserAccount user) throws UserLoginAlreadyUsedException, UserEmailAlreadyUsedException { + public UserAccount createUser(UserAccount user, String url) throws UserLoginAlreadyUsedException, UserEmailAlreadyUsedException { + String password = user.getPassword(); // le mot de passe en clair + + UserAccount userAccount; try { UserAccountDAO dao = PollenDAOHelper.getUserAccountDAO(getTransaction()); @@ -85,18 +90,34 @@ if (userByEmail != null) { throw new UserEmailAlreadyUsedException(); } - String password = encodePassword(user.getPassword()); - UserAccount userAccount = dao.create( + String encodedPassword = encodePassword(password); + userAccount = dao.create( UserAccount.PROPERTY_LOGIN, user.getLogin(), - UserAccount.PROPERTY_PASSWORD, password + UserAccount.PROPERTY_PASSWORD, encodedPassword ); user.setTopiaId(userAccount.getTopiaId()); copyUserAccount(user, userAccount); - return userAccount; } catch (TopiaException e) { throw new PollenTechnicalException(e); } + + if (StringUtil.isEmail(user.getEmail())) { + + String subject = l_(serviceContext.getLocale(), + "pollen.email.userRegister.subject", user.getLogin()); + String content = l_(serviceContext.getLocale(), + "pollen.email.userRegister.content", user.getDisplayName(), + user.getLogin(), password, url); + + EmailService emailService = newService(EmailService.class); + PollenEmail pollenEmail = emailService.getNewEmail(user); + pollenEmail.setSubject(subject); + pollenEmail.setContent(content); + emailService.sendEmail(pollenEmail); + } + + return userAccount; } public UserAccount updateUser(UserAccount user, @@ -193,7 +214,7 @@ user.setEmail(getConfiguration().getAdminEmail()); user.setNewPassword(getConfiguration().getAdminPassword()); try { - createUser(user); + createUser(user, ""); if (log.isInfoEnabled()) { log.info(_("pollen.info.admin.created", login)); }
participants (1)
-
bleny@users.chorem.org