Author: fdesbois Date: 2012-04-30 17:52:41 +0200 (Mon, 30 Apr 2012) New Revision: 3333 Url: http://chorem.org/repositories/revision/pollen/3333 Log: #529 : improve redirect after login - redirect to home if page is security - error redirect to the same page and not home (same behavior if login success) - do not override struts2 methods for messages/errors > rename all methods with Flash keyword Removed: trunk/pollen-ui-struts2/src/main/resources/org/chorem/pollen/ui/actions/user/Login-validation.xml Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/PollenActionSupport.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/admin/DeleteUser.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/admin/ManageUsers.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ClosePoll.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/LoadPoll.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ResultForPoll.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/VoteForPoll.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/DeleteFavoriteList.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/DeletePollAccount.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/Login.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/LostPassword.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/ManageFavoriteList.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/ManageFavoriteLists.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/Register.java trunk/pollen-ui-struts2/src/main/resources/config/struts-user.xml trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/decorators/layout-default.jsp Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/PollenActionSupport.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/PollenActionSupport.java 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/PollenActionSupport.java 2012-04-30 15:52:41 UTC (rev 3333) @@ -232,8 +232,7 @@ return result; } - @Override - public void addActionMessage(String message) { + public void addFlashMessage(String message) { List<String> messages = getPollenSession().getDynamicData(PollenSession.SESSION_TOKEN_MESSAGES); if (messages == null) { messages = Lists.newArrayList(message); @@ -243,8 +242,7 @@ } } - @Override - public void addActionError(String message) { + public void addFlashError(String message) { List<String> messages = getPollenSession().getDynamicData(PollenSession.SESSION_TOKEN_ERRORS); if (messages == null) { messages = Lists.newArrayList(message); @@ -254,8 +252,7 @@ } } - @Override - public Collection<String> getActionMessages() { + public Collection<String> getFlashMessages() { List<String> result = getPollenSession().getDynamicData(PollenSession.SESSION_TOKEN_MESSAGES); if (result == null) { result = Collections.emptyList(); @@ -265,8 +262,7 @@ return result; } - @Override - public Collection<String> getActionErrors() { + public Collection<String> getFlashErrors() { List<String> result = getPollenSession().getDynamicData(PollenSession.SESSION_TOKEN_ERRORS); if (result == null) { result = Collections.emptyList(); @@ -276,37 +272,32 @@ return result; } - @Override - public boolean hasActionMessages() { + public boolean hasFlashMessages() { List<String> result = getPollenSession().getDynamicData(PollenSession.SESSION_TOKEN_MESSAGES); return CollectionUtils.isNotEmpty(result); } - @Override - public boolean hasActionErrors() { + public boolean hasFlashErrors() { List<String> result = getPollenSession().getDynamicData(PollenSession.SESSION_TOKEN_ERRORS); return CollectionUtils.isNotEmpty(result); } - @Override - public void clearMessages() { + public void clearFlashMessages() { List<String> result = getPollenSession().getDynamicData(PollenSession.SESSION_TOKEN_MESSAGES); if (result != null) { result.clear(); } } - @Override - public void clearActionErrors() { + public void clearFlashErrors() { List<String> result = getPollenSession().getDynamicData(PollenSession.SESSION_TOKEN_ERRORS); if (result != null) { result.clear(); } } - @Override - public boolean hasErrors() { + public boolean hasAnyErrors() { boolean result = super.hasErrors(); - return result || hasActionErrors(); + return result || hasFlashErrors(); } } Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/admin/DeleteUser.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/admin/DeleteUser.java 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/admin/DeleteUser.java 2012-04-30 15:52:41 UTC (rev 3333) @@ -69,7 +69,7 @@ service.deleteUser(userId); getTransaction().commitTransaction(); - addActionMessage( + addFlashMessage( _("pollen.information.user.deleted", user.getDisplayName())); result = SUCCESS; Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/admin/ManageUsers.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/admin/ManageUsers.java 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/admin/ManageUsers.java 2012-04-30 15:52:41 UTC (rev 3333) @@ -79,7 +79,7 @@ try { newService(UserService.class).createUser(user, true); - addActionMessage( + addFlashMessage( _("pollen.information.user.created", user.getDisplayName())); // remove this user, otherwise it will be reused in the user lists @@ -109,7 +109,7 @@ try { service.updateUser(user, null, true); getTransaction().commitTransaction(); - addActionMessage( + addFlashMessage( _("pollen.information.user.updated", user.getDisplayName())); @@ -139,7 +139,7 @@ // try { // service.deleteUser(user.getTopiaId()); // getTransaction().commitTransaction(); -// addActionMessage( +// addFlashMessage( // _("pollen.information.user.deleted", user.getDisplayName())); // // // remove this user, otherwise it will be reused in the user lists Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java 2012-04-30 15:52:41 UTC (rev 3333) @@ -257,9 +257,6 @@ public void prepareFormPage() throws Exception { - // remove all stuff from session - getPollenSession().clearDynamicData(); - pollTypes = decorateToName(PollType.values()); choiceTypes = decorateToName(ChoiceType.values()); voteCountingTypes = decorateToName(VoteCountingType.values()); Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java 2012-04-30 15:52:41 UTC (rev 3333) @@ -315,16 +315,16 @@ // Messages if (poll.isClosed()) { - addActionMessage(_("pollen.information.pollClosed")); + addFlashMessage(_("pollen.information.pollClosed")); } else if (!isPollStarted()) { - addActionMessage(_("pollen.information.pollNotStarted")); + addFlashMessage(_("pollen.information.pollNotStarted")); } else if (isPollFinished()) { - addActionMessage(_("pollen.information.pollFinished")); + addFlashMessage(_("pollen.information.pollFinished")); } else if (pollCreator.equals(pollAccount)) { - addActionMessage(_("pollen.information.vote.creatorUser")); + addFlashMessage(_("pollen.information.vote.creatorUser")); } if (isPollChoiceRunning()) { - addActionMessage(_("pollen.information.pollChoiceRunning")); + addFlashMessage(_("pollen.information.pollChoiceRunning")); } if (log.isInfoEnabled()) { Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ClosePoll.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ClosePoll.java 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ClosePoll.java 2012-04-30 15:52:41 UTC (rev 3333) @@ -52,7 +52,7 @@ service.closePoll(getPollId(), getPollenUserAccount(), getAccountId()); - addActionMessage(_("pollen.information.poll.closed")); + addFlashMessage(_("pollen.information.poll.closed")); return SUCCESS; } Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/LoadPoll.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/LoadPoll.java 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/LoadPoll.java 2012-04-30 15:52:41 UTC (rev 3333) @@ -92,7 +92,7 @@ } if (isVoteStarted()) { - addActionMessage(_("pollen.information.poll.form.voteStarted")); + addFlashMessage(_("pollen.information.poll.form.voteStarted")); } return SUCCESS; Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ResultForPoll.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ResultForPoll.java 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ResultForPoll.java 2012-04-30 15:52:41 UTC (rev 3333) @@ -161,7 +161,7 @@ poll = service.getPollByPollId(pollId); if (poll == null) { - addActionError(_("pollen.error.pollNotFound")); + addFlashError(_("pollen.error.pollNotFound")); } else { if (byGroup == null) { @@ -182,10 +182,10 @@ } if (!userAllowed) { - addActionError(_("pollen.error.userNotAllowed")); + addFlashError(_("pollen.error.userNotAllowed")); } else if (poll.isRunning(serviceContext.getCurrentTime())) { - addActionMessage(_("pollen.information.pollRunning")); + addFlashMessage(_("pollen.information.pollRunning")); loadResults(); } else { Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java 2012-04-30 15:52:41 UTC (rev 3333) @@ -275,11 +275,11 @@ if (isEdit()) { getPollService().updatePoll(poll); - addActionMessage(_("pollen.information.poll.updated")); + addFlashMessage(_("pollen.information.poll.updated")); } else { getPollService().createPoll(poll); - addActionMessage(_("pollen.information.poll.created")); + addFlashMessage(_("pollen.information.poll.created")); } // remove all stuff from session Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/VoteForPoll.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/VoteForPoll.java 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/VoteForPoll.java 2012-04-30 15:52:41 UTC (rev 3333) @@ -118,7 +118,7 @@ getPollService().addVoteToPoll(getPoll(), voteCreated); } - clearMessages(); + clearFlashMessages(); // For free Poll, display the update Url (useless if user is logged) if (PollType.FREE == getPoll().getPollType() && !isUserLoggued()) { @@ -133,11 +133,11 @@ log.debug(String.format("UpdateURL for poll '%s' and account '%s' = %s", pollId, accountId, updateUrl)); } - addActionMessage(_("pollen.information.vote.createdWithUpdateUrl", updateUrl)); + addFlashMessage(_("pollen.information.vote.createdWithUpdateUrl", updateUrl)); } else{ - addActionMessage(_("pollen.information.vote.created")); + addFlashMessage(_("pollen.information.vote.created")); } return SUCCESS; } Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/DeleteFavoriteList.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/DeleteFavoriteList.java 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/DeleteFavoriteList.java 2012-04-30 15:52:41 UTC (rev 3333) @@ -72,8 +72,8 @@ getTransaction().commitTransaction(); - addActionMessage(_("pollen.information.favoriteList.deleted", - deletedFavoritedList.getName())); + addFlashMessage(_("pollen.information.favoriteList.deleted", + deletedFavoritedList.getName())); result = SUCCESS; } catch (UserNotFoundException e) { Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/DeletePollAccount.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/DeletePollAccount.java 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/DeletePollAccount.java 2012-04-30 15:52:41 UTC (rev 3333) @@ -77,7 +77,7 @@ getTransaction().commitTransaction(); - addActionMessage( + addFlashMessage( _("pollen.information.pollAccount.removedFromFavoriteList", pollAccount.getVotingId())); Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/Login.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/Login.java 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/Login.java 2012-04-30 15:52:41 UTC (rev 3333) @@ -23,7 +23,7 @@ */ package org.chorem.pollen.ui.actions.user; -import com.opensymphony.xwork2.interceptor.annotations.InputConfig; +import org.apache.commons.lang.StringUtils; import org.chorem.pollen.business.persistence.UserAccount; import org.chorem.pollen.services.exceptions.UserInvalidPasswordException; import org.chorem.pollen.services.exceptions.UserNotFoundException; @@ -39,6 +39,8 @@ public class Login extends PollenActionSupport { private static final long serialVersionUID = 1L; + + private static final String HOME = "home"; protected String login; @@ -70,24 +72,39 @@ this.redirectUrl = redirectUrl; } - @InputConfig(resultName = "error") @Override public String execute() throws Exception { UserService service = newService(UserService.class); + + if (StringUtils.isBlank(login) || StringUtils.isBlank(password)) { + addFlashError(_("pollen.error.user.bad.login.or.password")); - String result = ERROR; - try { - UserAccount userAccount = service.connect(login, password); - getPollenSession().setUserAccount(userAccount); - addActionMessage(_("pollen.information.your.are.loggued")); + } else { + try { + UserAccount userAccount = service.connect(login, password); + + getPollenSession().setUserAccount(userAccount); + addFlashMessage(_("pollen.information.your.are.loggued")); + + } catch (UserNotFoundException e) { + addFlashError(_("pollen.error.user.bad.login.or.password")); + } catch (UserInvalidPasswordException e) { + addFlashError(_("pollen.error.user.bad.login.or.password")); + } + } + + String result; + if (redirectUrl == null || redirectUrl.contains("/security")) { + + // After security problem, redirect to home + result = HOME; + + } else { + + // Stay on the same page identified by redirectUrl result = SUCCESS; - } catch (UserNotFoundException e) { - addActionError(_("pollen.error.user.bad.login.or.password")); - } catch (UserInvalidPasswordException e) { - addActionError(_("pollen.error.user.bad.login.or.password")); } - return result; } } Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/LostPassword.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/LostPassword.java 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/LostPassword.java 2012-04-30 15:52:41 UTC (rev 3333) @@ -53,7 +53,7 @@ public String execute() throws Exception { if (StringUtils.isBlank(email) || !StringUtil.isEmail(email)) { - addActionError( _("pollen.error.lostPassword.email")); + addFlashError(_("pollen.error.lostPassword.email")); } else { @@ -61,10 +61,10 @@ try { service.lostPassword(email); - addActionMessage(_("pollen.information.lostPassword.success")); + addFlashMessage(_("pollen.information.lostPassword.success")); } catch (UserNotFoundException e) { - addActionError(_("pollen.error.lostPassword.user")); + addFlashError(_("pollen.error.lostPassword.user")); } } return SUCCESS; Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/ManageFavoriteList.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/ManageFavoriteList.java 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/ManageFavoriteList.java 2012-04-30 15:52:41 UTC (rev 3333) @@ -105,9 +105,9 @@ favoriteList = service.getFavoriteList( getPollenUserAccount(), favoriteListId); } catch (FavoriteListNotFoundException e) { - addActionError(_("pollen.error.favoriteList.not.found")); + addFlashError(_("pollen.error.favoriteList.not.found")); } catch (FavoriteListNotOwnedByUserException e) { - addActionError(_("pollen.error.favoriteList.not.owned.by.user")); + addFlashError(_("pollen.error.favoriteList.not.owned.by.user")); } } @@ -125,7 +125,7 @@ service.addPollAccountToFavoriteList(favoriteList, pollAccount); getTransaction().commitTransaction(); - addActionMessage( + addFlashMessage( _("pollen.information.pollAccount.addedTofavoriteList", pollAccount.getVotingId())); @@ -153,7 +153,7 @@ service.editPollAccountToFavoriteList(favoriteList, pollAccount); getTransaction().commitTransaction(); - addActionMessage( + addFlashMessage( _("pollen.information.pollAccount.updatedTofavoriteList", pollAccount.getVotingId())); @@ -178,7 +178,7 @@ service.removePollAccountToFavoriteList(favoriteList, pollAccount); getTransaction().commitTransaction(); - addActionMessage( + addFlashMessage( _("pollen.information.pollAccount.removedFromFavoriteList", pollAccount.getVotingId())); Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/ManageFavoriteLists.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/ManageFavoriteLists.java 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/ManageFavoriteLists.java 2012-04-30 15:52:41 UTC (rev 3333) @@ -143,14 +143,14 @@ } String result; - if (hasErrors()) { + if (hasAnyErrors()) { result = INPUT; } else { getTransaction().commitTransaction(); - addActionMessage(_("pollen.information.favoriteList.created", - favoriteList.getName())); + addFlashMessage(_("pollen.information.favoriteList.created", + favoriteList.getName())); action = null; favoriteList = null; result = SUCCESS; @@ -167,8 +167,8 @@ favoriteList); getTransaction().commitTransaction(); - addActionMessage(_("pollen.information.favoriteList.deleted", - deletedFavoritedList.getName())); + addFlashMessage(_("pollen.information.favoriteList.deleted", + deletedFavoritedList.getName())); action = null; favoriteList = null; return SUCCESS; @@ -194,16 +194,16 @@ } catch (ParticipantAlreadyFoundInListException ex) { // WARNING ? - addActionError( + addFlashError( _("pollen.error.favoriteList.import.participantExists" - ,importedAccount.getEmail()) + , importedAccount.getEmail()) ); } } } catch (FavoriteListImportException ex) { String message = ex.getLocalizedMessage(getLocale()); - addActionError(message); + addFlashError(message); } } } Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/Register.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/Register.java 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/Register.java 2012-04-30 15:52:41 UTC (rev 3333) @@ -74,7 +74,7 @@ newService(UserService.class).createUser(user, false); getPollenSession().setUserAccount(createdUser); - addActionMessage(_("pollen.information.your.are.loggued")); + addFlashMessage(_("pollen.information.your.are.loggued")); result = SUCCESS; } catch (UserLoginAlreadyUsedException e) { addFieldError("user.login", _("pollen.error.user.login.already.used")); Modified: trunk/pollen-ui-struts2/src/main/resources/config/struts-user.xml =================================================================== --- trunk/pollen-ui-struts2/src/main/resources/config/struts-user.xml 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/resources/config/struts-user.xml 2012-04-30 15:52:41 UTC (rev 3333) @@ -34,7 +34,7 @@ <!-- login --> <action name="login" class="org.chorem.pollen.ui.actions.user.Login"> - <result name="error">/WEB-INF/jsp/home.jsp</result> + <result name="home" type="redirectToHome"/> <result type="redirect2"/> </action> Deleted: trunk/pollen-ui-struts2/src/main/resources/org/chorem/pollen/ui/actions/user/Login-validation.xml =================================================================== --- trunk/pollen-ui-struts2/src/main/resources/org/chorem/pollen/ui/actions/user/Login-validation.xml 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/resources/org/chorem/pollen/ui/actions/user/Login-validation.xml 2012-04-30 15:52:41 UTC (rev 3333) @@ -1,43 +0,0 @@ -<!-- - #%L - Pollen :: UI (strust2) - - $Id$ - $HeadURL$ - %% - Copyright (C) 2009 - 2012 CodeLutin, Tony Chemit - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --> -<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" - "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd"> -<validators> - - <field name="login"> - - <field-validator type="requiredstring"> - <message key="pollen.error.login.required"/> - </field-validator> - </field> - - <field name="password"> - - <field-validator type="requiredstring"> - <message key="pollen.error.password.required"/> - </field-validator> - - </field> - -</validators> Modified: trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/decorators/layout-default.jsp =================================================================== --- trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/decorators/layout-default.jsp 2012-04-30 15:52:29 UTC (rev 3332) +++ trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/decorators/layout-default.jsp 2012-04-30 15:52:41 UTC (rev 3333) @@ -270,20 +270,20 @@ </noscript> <%--<div t:type="nuiton/feedback" t:id="borderFeedback" t:autoClear="false"/>--%> - <s:if test="hasActionMessages()"> + <s:if test="hasFlashMessages()"> <div class="info_success clearfix"> <ul class="actionMessages fleft"> - <s:iterator value="actionMessages" var="message"> + <s:iterator value="flashMessages" var="message"> <li><span><s:property value="#message" escapeHtml="false"/></span></li> </s:iterator> </ul> </div> </s:if> - <s:if test="hasActionErrors()"> + <s:if test="hasFlashErrors()"> <div class="info_error clearfix"> <ul class="actionErrors fleft"> - <s:iterator value="actionErrors" var="message"> + <s:iterator value="flashErrors" var="message"> <li><span><s:property value="#message" escapeHtml="false"/></span></li> </s:iterator> </ul>