Index: lams_central/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r626edac7e22ded609d12f8df41fd7f776c129779 -r8e454f8298f642d44db16ee5ade01b0c0afde504 --- lams_central/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 626edac7e22ded609d12f8df41fd7f776c129779) +++ lams_central/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 8e454f8298f642d44db16ee5ade01b0c0afde504) @@ -205,6 +205,6 @@ error.email.does.not.match =The email address does not match your saved email address. Please try again. error.support.email.not.set =Email could not be sent. The LAMS server has not been configured to handle emails. Please contact your System Administrator. error.password.request.expired =This request for a new password has expired. Please click the "Forgot your Password" link again to make a new request. +error.forgot.password.fields =Both fields are required. Please try again. - #======= End labels: Exported 199 labels for en AU ===== Index: lams_central/src/java/org/lamsfoundation/lams/web/ForgotPasswordServlet.java =================================================================== diff -u -re9d226f1680751f53da50848214c85df0e1f06fb -r8e454f8298f642d44db16ee5ade01b0c0afde504 --- lams_central/src/java/org/lamsfoundation/lams/web/ForgotPasswordServlet.java (.../ForgotPasswordServlet.java) (revision e9d226f1680751f53da50848214c85df0e1f06fb) +++ lams_central/src/java/org/lamsfoundation/lams/web/ForgotPasswordServlet.java (.../ForgotPasswordServlet.java) (revision 8e454f8298f642d44db16ee5ade01b0c0afde504) @@ -44,16 +44,17 @@ private static Logger log = Logger.getLogger(ForgotPasswordServlet.class); // states - public static int SMTP_SERVER_NOT_SET = 100; - public static int EMAIL_DOES_NOT_MATCH = 101; - public static int USER_NOT_FOUND = 102; - public static int PASSWORD_REQUEST_EXPIRED = 103; - public static int SUCCESS_REQUEST_EMAIL = 104; - public static int SUCCESS_CHANGE_PASS = 105; + public static String SMTP_SERVER_NOT_SET = "error.support.email.not.set"; + public static String EMAIL_DOES_NOT_MATCH = "error.email.does.not.match"; + public static String USER_NOT_FOUND = "error.user.not.found"; + public static String PASSWORD_REQUEST_EXPIRED = "error.password.request.expired"; + public static String SUCCESS_REQUEST_EMAIL = "forgot.password.email.sent"; + public static String SUCCESS_CHANGE_PASS = "heading.password.changed.screen"; public static int MILLISECONDS_IN_A_DAY = 86400000; - private static String STATE = "?state="; + private static String STATE = "&state="; + private static String LANGUAGE_KEY = "&languageKey="; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException @@ -79,11 +80,24 @@ } + /** + * Handles the first step of the forgot login process, sending the email to the user. + * An email is sent with a link and key attached to identify the forgot login request + * @param login + * @param email + * @param response + * @throws ServletException + * @throws IOException + */ public void handleEmailRequest(String login, String email, HttpServletResponse response) throws ServletException, IOException { + + int success=0; + String languageKey = ""; - String state = STATE; + + boolean err = false; if (login==null||login.equals("")||email==null||email.equals("")) @@ -99,8 +113,8 @@ if (SMPTServer==null||SMPTServer.equals("")||supportEmail==null||supportEmail.equals("")) { - // Validate - state += this.SMTP_SERVER_NOT_SET; + // Validate SMTP not set up + languageKey = this.SMTP_SERVER_NOT_SET; } else { @@ -138,7 +152,8 @@ email, body ); - state += this.SUCCESS_REQUEST_EMAIL; + languageKey = this.SUCCESS_REQUEST_EMAIL; + success = 1; } catch (AddressException e) { @@ -163,18 +178,22 @@ else { // validate email does not match user - state += this.EMAIL_DOES_NOT_MATCH; + languageKey = this.EMAIL_DOES_NOT_MATCH; } } else { // validate user is not found - state += this.USER_NOT_FOUND; + languageKey = this.USER_NOT_FOUND; } } - response.sendRedirect(Configuration.get("ServerURL") + "forgotPasswordProc.jsp" + state); + response.sendRedirect(Configuration.get("ServerURL") + "forgotPasswordProc.jsp?" + + STATE + + success + + LANGUAGE_KEY + + languageKey); } @@ -185,7 +204,8 @@ public void handlePasswordChange(String newPassword, String key, HttpServletResponse response) throws ServletException, IOException { - String state = STATE; + int success=0; + String languageKey = ""; if (key==null||key.equals("")||newPassword==null||newPassword.equals("")) { @@ -205,15 +225,20 @@ { User user = (User)userService.findById(User.class, fp.getUserId()); userService.updatePassword(user.getLogin(), newPassword); - state += this.SUCCESS_CHANGE_PASS; + languageKey = this.SUCCESS_CHANGE_PASS; + success = 1; } else { // validate password request expired - state += this.PASSWORD_REQUEST_EXPIRED; + languageKey = this.PASSWORD_REQUEST_EXPIRED; } - response.sendRedirect(Configuration.get("ServerURL") + "forgotPasswordProc.jsp" + state); + response.sendRedirect(Configuration.get("ServerURL") + "forgotPasswordProc.jsp?" + + STATE + + success + + LANGUAGE_KEY + + languageKey); } /** @@ -233,8 +258,4 @@ return ((String) uuidGen.generate(null, null)).toLowerCase(); } - - - - } Index: lams_central/web/forgotPassword.jsp =================================================================== diff -u -re9d226f1680751f53da50848214c85df0e1f06fb -r8e454f8298f642d44db16ee5ade01b0c0afde504 --- lams_central/web/forgotPassword.jsp (.../forgotPassword.jsp) (revision e9d226f1680751f53da50848214c85df0e1f06fb) +++ lams_central/web/forgotPassword.jsp (.../forgotPassword.jsp) (revision 8e454f8298f642d44db16ee5ade01b0c0afde504) @@ -1,6 +1,7 @@ <%@page import="org.apache.struts.action.ActionMessages" %> +<%@ page import="org.lamsfoundation.lams.util.Configuration" %> +<%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys" %> - <%@ taglib uri="tags-html" prefix="html" %> <%@ taglib uri="tags-logic" prefix="logic" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> @@ -16,65 +17,109 @@ -
- - -

-
-
- -
-

-
+ +
+ + + +

+
+
+
- - - - - - - - - - - - - - - - - -
- : - - -
- : - - - -
  - - - -
- -
- +
+ + + + + + + + + + + + + + + + +
+ : + + +
+ : + + + +
  + + + + +
+ + + + +

+ + + + + + \ No newline at end of file Index: lams_central/web/forgotPasswordChange.jsp =================================================================== diff -u -re9d226f1680751f53da50848214c85df0e1f06fb -r8e454f8298f642d44db16ee5ade01b0c0afde504 --- lams_central/web/forgotPasswordChange.jsp (.../forgotPasswordChange.jsp) (revision e9d226f1680751f53da50848214c85df0e1f06fb) +++ lams_central/web/forgotPasswordChange.jsp (.../forgotPasswordChange.jsp) (revision 8e454f8298f642d44db16ee5ade01b0c0afde504) @@ -1,6 +1,7 @@ <%@page import="org.apache.struts.action.ActionMessages" %> +<%@ page import="org.lamsfoundation.lams.util.Configuration" %> +<%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys" %> - <%@ taglib uri="tags-html" prefix="html" %> <%@ taglib uri="tags-logic" prefix="logic" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> @@ -19,59 +20,91 @@ -
- - -

-
-
+
+ + + +

+
+
+ + + + + + + + + + + + + + + +
+ : + + +
+ : + + +
  + +
+
+ + + -
-

-
- - - - - - - - - - - - - - - -
- : - - -
- : - - -
  - -
-
-
-

+ + \ No newline at end of file Index: lams_central/web/forgotPasswordProc.jsp =================================================================== diff -u -re9d226f1680751f53da50848214c85df0e1f06fb -r8e454f8298f642d44db16ee5ade01b0c0afde504 --- lams_central/web/forgotPasswordProc.jsp (.../forgotPasswordProc.jsp) (revision e9d226f1680751f53da50848214c85df0e1f06fb) +++ lams_central/web/forgotPasswordProc.jsp (.../forgotPasswordProc.jsp) (revision 8e454f8298f642d44db16ee5ade01b0c0afde504) @@ -3,32 +3,17 @@ <%@page import="org.lamsfoundation.lams.util.MessageService" %> <%@page import="org.springframework.web.context.WebApplicationContext" %> <%@page import="org.springframework.web.context.support.WebApplicationContextUtils" %> +<%@ page import="org.lamsfoundation.lams.util.Configuration" %> +<%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys" %> <%@ taglib uri="tags-html" prefix="html" %> <%@ taglib uri="tags-logic" prefix="logic" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> <%@ taglib uri="tags-lams" prefix="lams" %> <% - -String message=""; - +String languageKey = request.getParameter("languageKey"); String stateStr = request.getParameter("state"); -int state = Integer.parseInt(stateStr); - -WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext()); -MessageService messageService = (MessageService)ctx.getBean("centralMessageService"); - -switch (state) -{ -case 100: message = "" + messageService.getMessage("error.support.email.not.set") + ""; break; -case 101: message = "" + messageService.getMessage("error.email.does.not.match") + ""; break; -case 102: message = "" + messageService.getMessage("error.user.not.found") + ""; break; -case 103: message = "" + messageService.getMessage("error.password.request.expired") + ""; break; -case 104: message = messageService.getMessage("forgot.password.email.sent"); break; -case 105: message = messageService.getMessage("heading.password.changed.screen"); break; -} - %> @@ -39,25 +24,43 @@ <fmt:message key="title.forgot.password"/> + + - - -
-
-
-
-

-
-
- <%=message %> -

- +
+ + +

+ +
+
+
+ <%if (stateStr.equals("0")){out.print("");}%> + + <%if (stateStr.equals("0")){out.print("");}%> +
+

+ +
+ + -
\ No newline at end of file Index: lams_central/web/login.jsp =================================================================== diff -u -re9d226f1680751f53da50848214c85df0e1f06fb -r8e454f8298f642d44db16ee5ade01b0c0afde504 --- lams_central/web/login.jsp (.../login.jsp) (revision e9d226f1680751f53da50848214c85df0e1f06fb) +++ lams_central/web/login.jsp (.../login.jsp) (revision 8e454f8298f642d44db16ee5ade01b0c0afde504) @@ -134,13 +134,13 @@

- - - -   +   + + +