Author: fdesbois Date: 2012-04-23 11:42:26 +0200 (Mon, 23 Apr 2012) New Revision: 3300 Url: http://chorem.org/repositories/revision/pollen/3300 Log: fixes #529 : redirect on same page after login 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/user/Login.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-23 09:42:14 UTC (rev 3299) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/PollenActionSupport.java 2012-04-23 09:42:26 UTC (rev 3300) @@ -26,6 +26,7 @@ import com.google.common.collect.Lists; import com.opensymphony.xwork2.ActionContext; import org.apache.commons.collections.CollectionUtils; +import org.apache.struts2.ServletActionContext; import org.apache.struts2.StrutsStatics; import org.chorem.pollen.PollenConfiguration; import org.chorem.pollen.business.persistence.UserAccount; @@ -219,6 +220,12 @@ } return result; } + + public String getCurrentUrl() { + HttpServletRequest request = ServletActionContext.getRequest(); + String result = request.getRequestURL().toString(); + return result; + } @Override public void addActionMessage(String message) { 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-23 09:42:14 UTC (rev 3299) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/user/Login.java 2012-04-23 09:42:26 UTC (rev 3300) @@ -44,6 +44,8 @@ protected String password; + protected String redirectUrl; + public String getLogin() { return login; } @@ -60,6 +62,14 @@ this.password = password; } + public String getRedirectUrl() { + return redirectUrl; + } + + public void setRedirectUrl(String redirectUrl) { + this.redirectUrl = redirectUrl; + } + @InputConfig(resultName = "error") @Override public String execute() throws Exception { 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-23 09:42:14 UTC (rev 3299) +++ trunk/pollen-ui-struts2/src/main/resources/config/struts-user.xml 2012-04-23 09:42:26 UTC (rev 3300) @@ -35,7 +35,7 @@ <!-- login --> <action name="login" class="org.chorem.pollen.ui.actions.user.Login"> <result name="error">/WEB-INF/jsp/home.jsp</result> - <result type="redirectToHome"/> + <result type="redirect2"/> </action> <!-- register user --> 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-23 09:42:14 UTC (rev 3299) +++ trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/decorators/layout-default.jsp 2012-04-23 09:42:26 UTC (rev 3300) @@ -135,6 +135,7 @@ <sj:dialog id="lostPasswordDialog" autoOpen="false" modal="true" width="500"/> <s:form id="connection" method="POST" namespace="/user" action="login"> + <s:hidden name="redirectUrl" value="%{currentUrl}"/> <ul class="top_middle${pageLogo}"> <li> <label for="connection_login">