59 lines
2.2 KiB
Java
59 lines
2.2 KiB
Java
package com.eactive.httpmockserver.user.controller;
|
|
|
|
import com.eactive.httpmockserver.user.dto.PasswordChangeRequestDTO;
|
|
import com.eactive.httpmockserver.user.entity.StaffUser;
|
|
import com.eactive.httpmockserver.user.entity.User;
|
|
import com.eactive.httpmockserver.user.service.UserService;
|
|
import com.eactive.httpmockserver.common.security.CurrentUser;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.ui.ModelMap;
|
|
import org.springframework.validation.BindingResult;
|
|
import org.springframework.validation.Validator;
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
|
@Controller
|
|
public class AccountController {
|
|
|
|
@Autowired
|
|
private Validator validator;
|
|
|
|
@Autowired
|
|
private UserService userService;
|
|
|
|
@GetMapping("/change_password.do")
|
|
public String changePassword(ModelMap model, @ModelAttribute("passwordChangeRequest") PasswordChangeRequestDTO passwordChangeRequestDTO) {
|
|
return "page/updatePw";
|
|
}
|
|
|
|
@PostMapping(value = "/update_password.do")
|
|
@Transactional
|
|
public String updatePassword(ModelMap model, @ModelAttribute("passwordChangeRequest") PasswordChangeRequestDTO passwordChangeRequestDTO,
|
|
@CurrentUser StaffUser user,
|
|
BindingResult result) {
|
|
|
|
validator.validate(passwordChangeRequestDTO, result);
|
|
|
|
if (result.hasErrors()) {
|
|
model.addAttribute("errors", result);
|
|
return "page/updatePw";
|
|
}
|
|
|
|
String oldPassword = passwordChangeRequestDTO.getOldPassword();
|
|
String newPassword = passwordChangeRequestDTO.getNewPassword();
|
|
String newPassword2 = passwordChangeRequestDTO.getNewPassword2();
|
|
|
|
String resultMsg = userService.updateUserPassword(user.getUserId(), oldPassword, newPassword, newPassword2);
|
|
|
|
model.addAttribute("resultMsg", resultMsg);
|
|
model.addAttribute("passwordChangeRequest", new PasswordChangeRequestDTO());
|
|
|
|
return "page/updatePw";
|
|
}
|
|
|
|
|
|
}
|