Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/SignupManagementController.java =================================================================== diff -u -r7a30f18a459a60eb784a1f15ab1efdecde562972 -re952488de6475350bc2fab3272b5350b3a7a6d51 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/SignupManagementController.java (.../SignupManagementController.java) (revision 7a30f18a459a60eb784a1f15ab1efdecde562972) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/SignupManagementController.java (.../SignupManagementController.java) (revision e952488de6475350bc2fab3272b5350b3a7a6d51) @@ -65,6 +65,7 @@ signupForm.setAddAsStaff(signup.getAddAsStaff()); signupForm.setAddWithAuthor(signup.getAddWithAuthor()); signupForm.setAddWithMonitor(signup.getAddWithMonitor()); + signupForm.setEmailVerify(signup.getEmailVerify()); signupForm.setCourseKey(signup.getCourseKey()); signupForm.setBlurb(signup.getBlurb()); signupForm.setDisabled(signup.getDisabled()); @@ -115,6 +116,7 @@ signup.setAddAsStaff(signupForm.isAddAsStaff()); signup.setAddWithAuthor(signupForm.isAddWithAuthor()); signup.setAddWithMonitor(signupForm.isAddWithMonitor()); + signup.setEmailVerify(signupForm.getEmailVerify()); signup.setDisabled(signupForm.isDisabled()); signup.setLoginTabActive(signupForm.isLoginTabActive()); signup.setOrganisation((Organisation) userManagementService.findById(Organisation.class, Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -r671c0123933f9264962a7a2a9aba940ded111d57 -re952488de6475350bc2fab3272b5350b3a7a6d51 Binary files differ Index: lams_central/src/java/org/lamsfoundation/lams/web/controller/SignupController.java =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -re952488de6475350bc2fab3272b5350b3a7a6d51 --- lams_central/src/java/org/lamsfoundation/lams/web/controller/SignupController.java (.../SignupController.java) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd) +++ lams_central/src/java/org/lamsfoundation/lams/web/controller/SignupController.java (.../SignupController.java) (revision e952488de6475350bc2fab3272b5350b3a7a6d51) @@ -19,6 +19,7 @@ import org.lamsfoundation.lams.util.ConfigurationKeys; import org.lamsfoundation.lams.util.Emailer; import org.lamsfoundation.lams.util.HashUtil; +import org.lamsfoundation.lams.util.LanguageUtil; import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.util.ValidationUtil; import org.lamsfoundation.lams.util.WebUtil; @@ -46,41 +47,32 @@ @Qualifier("timezoneService") private ITimezoneService timezoneService ; - @RequestMapping("") - public String execute(@ModelAttribute SignupForm signupForm, HttpServletRequest request, + @RequestMapping("init") + public String execute(@ModelAttribute("SignupForm") SignupForm signupForm, HttpServletRequest request, HttpServletResponse response) { - String method = WebUtil.readStrParam(request, "method", true); - if (StringUtils.equals(method, "emailVerify")) { - return emailVerify(request); - } String context = WebUtil.readStrParam(request, "context", true); - SignupOrganisation signupOrganisation = null; - if (StringUtils.isNotBlank(context)) { - signupOrganisation = signupService.getSignupOrganisation(context); - request.setAttribute("signupOrganisation", signupOrganisation); + SignupOrganisation signupOrganisation = StringUtils.isNotBlank(context) + ? signupService.getSignupOrganisation(context) + : null; + if (signupOrganisation == null) { + request.setAttribute("messageKey", "no.such.signup.page.exist"); + return "msgContent"; } - if ((signupForm.getSubmitted() == null) || !((Boolean) signupForm.getSubmitted())) { - if (signupOrganisation == null) { - request.setAttribute("messageKey", "no.such.signup.page.exist"); - return "msgContent"; - } - - // no context and unsubmitted form means it's the initial request - return "signup/signup"; - } else if (StringUtils.equals(method, "register")) { - return signUp(signupForm, request); - } else { - return signIn(signupForm, request, response); - } + + request.setAttribute("countryCodes", LanguageUtil.getCountryCodes(true)); + + request.setAttribute("signupOrganisation", signupOrganisation); + return "signup/signup"; } - @RequestMapping("/signUp") - private String signUp(@ModelAttribute SignupForm signupForm, HttpServletRequest request) { + @RequestMapping("signup") + private String signup(@ModelAttribute("SignupForm") SignupForm signupForm, HttpServletRequest request) { try { // validation MultiValueMap errorMap = validateSignup(signupForm); if (!errorMap.isEmpty()) { + request.setAttribute("countryCodes", LanguageUtil.getCountryCodes(true)); request.setAttribute("errorMap", errorMap); return "signup/signup"; } else { @@ -153,8 +145,8 @@ throws AddressException, MessagingException, UnsupportedEncodingException { String hash = HashUtil.sha256(user.getEmail(), user.getSalt()); StringBuilder stringBuilder = new StringBuilder().append(Configuration.get(ConfigurationKeys.SERVER_URL)) - .append("signup/signup.do?method=emailVerify&login=") - .append(URLEncoder.encode(user.getLogin(), "UTF-8")).append("&hash=").append(hash); + .append("signup/emailVerify.do?login=").append(URLEncoder.encode(user.getLogin(), "UTF-8")) + .append("&hash=").append(hash); String link = stringBuilder.toString(); String subject = messageService.getMessage("signup.email.verify.subject"); @@ -169,8 +161,8 @@ Emailer.sendFromSupportEmail(subject, user.getEmail(), body, isHtmlFormat); } - @RequestMapping("/signIn") - private String signIn(@ModelAttribute SignupForm signupForm, HttpServletRequest request, + @RequestMapping("login") + public String login(@ModelAttribute("SignupForm") SignupForm signupForm, HttpServletRequest request, HttpServletResponse response) { try { @@ -292,6 +284,7 @@ /** * Checks whether incoming hash is the same as the expected hash for email verification */ + @RequestMapping("emailVerify") public String emailVerify(HttpServletRequest request) { String login = WebUtil.readStrParam(request, "login", false); String hash = WebUtil.readStrParam(request, "hash", false); Index: lams_central/web/WEB-INF/urlrewrite.xml =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -re952488de6475350bc2fab3272b5350b3a7a6d51 --- lams_central/web/WEB-INF/urlrewrite.xml (.../urlrewrite.xml) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_central/web/WEB-INF/urlrewrite.xml (.../urlrewrite.xml) (revision e952488de6475350bc2fab3272b5350b3a7a6d51) @@ -12,7 +12,7 @@ ^/signup/([a-zA-Z0-9]+)$ - /signup/signup.do?context=$1 + /signup/init.do?context=$1 Index: lams_central/web/signup/loginTab.jsp =================================================================== diff -u -r24ebb6c91f49a10f1e5718036b3a3c1a80c3314f -re952488de6475350bc2fab3272b5350b3a7a6d51 --- lams_central/web/signup/loginTab.jsp (.../loginTab.jsp) (revision 24ebb6c91f49a10f1e5718036b3a3c1a80c3314f) +++ lams_central/web/signup/loginTab.jsp (.../loginTab.jsp) (revision e952488de6475350bc2fab3272b5350b3a7a6d51) @@ -1,8 +1,13 @@ +<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8"%> +<%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="tags-fmt" prefix="fmt"%> +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> + - + -
- - Index: lams_central/web/signup/signup.jsp =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -re952488de6475350bc2fab3272b5350b3a7a6d51 --- lams_central/web/signup/signup.jsp (.../signup.jsp) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd) +++ lams_central/web/signup/signup.jsp (.../signup.jsp) (revision e952488de6475350bc2fab3272b5350b3a7a6d51) @@ -28,7 +28,7 @@ - +