Index: lams_central/src/java/org/lamsfoundation/lams/web/IndexController.java =================================================================== diff -u -r3ec6f7db6edbcd0d8a9e9ba89952ffe39df68eb5 -r4e1d370d53087af71b8682b99a59e9ee389d5393 --- lams_central/src/java/org/lamsfoundation/lams/web/IndexController.java (.../IndexController.java) (revision 3ec6f7db6edbcd0d8a9e9ba89952ffe39df68eb5) +++ lams_central/src/java/org/lamsfoundation/lams/web/IndexController.java (.../IndexController.java) (revision 4e1d370d53087af71b8682b99a59e9ee389d5393) @@ -24,6 +24,7 @@ import java.io.File; import java.io.IOException; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; @@ -118,16 +119,22 @@ User user = userManagementService.getUserByLogin(userDTO.getLogin()); request.setAttribute("portraitUuid", user.getPortraitUuid()); - String redirectURL = WebUtil.readStrParam(request, "redirect", true); - if (StringUtils.equals(redirectURL, "profile")) { + String redirectParam = WebUtil.readStrParam(request, "redirect", true); + if (StringUtils.equals(redirectParam, "profile")) { return "redirect:/profile/view.do"; - } else if (StringUtils.equals(redirectURL, "editprofile")) { + } else if (StringUtils.equals(redirectParam, "editprofile")) { return "forward:/profile/edit.do"; - } else if (StringUtils.equals(redirectURL, "password")) { - return "redirect:/password.do"; - } else if (StringUtils.equals(redirectURL, "portrait")) { + } else if (StringUtils.equals(redirectParam, "password")) { + String passwordUrl = "redirect:/password.do"; + String redirectUrlParam = WebUtil.readStrParam(request, "redirectURL", true); + if (StringUtils.isNotBlank(redirectUrlParam)) { + passwordUrl = WebUtil.appendParameterToURL(passwordUrl, "redirectURL", + URLEncoder.encode(redirectUrlParam, "UTF-8")); + } + return passwordUrl; + } else if (StringUtils.equals(redirectParam, "portrait")) { return "redirect:/portrait.do"; - } else if (StringUtils.equals(redirectURL, "lessons")) { + } else if (StringUtils.equals(redirectParam, "lessons")) { return "redirect:/profile/lessons.do"; } Index: lams_central/web/profile/profile.jsp =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -r4e1d370d53087af71b8682b99a59e9ee389d5393 --- lams_central/web/profile/profile.jsp (.../profile.jsp) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd) +++ lams_central/web/profile/profile.jsp (.../profile.jsp) (revision 4e1d370d53087af71b8682b99a59e9ee389d5393) @@ -73,7 +73,7 @@ + href="index.do?redirect=password&redirectURL=index.do%3Fstate%3Dactive%26redirect%3Dprofile" role="button">