package tudu.web.mvc; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import tudu.domain.User; import tudu.service.UserAlreadyExistsException; import tudu.service.UserService; import javax.validation.Valid; /** * Register a new Tudu Lists user. * * @author Julien Dubois */ @Controller @RequestMapping("/register") public class RegisterController { @Autowired private UserService userService; /** * Show the "register a new user" page. */ @RequestMapping(method = RequestMethod.GET) public ModelAndView display() { ModelAndView mv = new ModelAndView("register"); mv.addObject("user", new User()); return mv; } /** * Register a new user. */ @RequestMapping(method = RequestMethod.POST) public String register(@Valid User user, BindingResult result) { if (result.hasErrors()) { return "register"; } if (!user.getPassword().equals(user.getVerifyPassword())) { result.rejectValue("verifyPassword", "user.info.password.not.matching"); return "register"; } try { userService.createUser(user); } catch (UserAlreadyExistsException e) { result.rejectValue("login", "register.user.already.exists"); return "register"; } return "register_ok"; } /** * Cancel the action. */ public String cancel() { return "cancel"; } }