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 @@
+
+
-
-
-
-
-
-
-
-
-
- <%=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 @@
-
-
-
-
+
+
+
+