예제 #1
0
파일: QnaService.java 프로젝트: shinC/slipp
 public void likeAnswer(SocialUser loginUser, Long answerId) {
   if (!scoreLikeService.alreadyLikedAnswer(answerId, loginUser.getId())) {
     scoreLikeService.saveLikeAnswer(answerId, loginUser.getId());
     Answer answer = answerRepository.findOne(answerId);
     answer.upRank();
     answerRepository.save(answer);
   }
 }
예제 #2
0
  @RequestMapping("{id}/form")
  public String updateForm(@LoginUser SocialUser loginUser, @PathVariable Long id, Model model)
      throws Exception {
    SocialUser socialUser = userService.findById(id);
    if (!loginUser.isSameUser(socialUser)) {
      throw new IllegalArgumentException("You cann't change another user!");
    }

    model.addAttribute("user", new UserForm(socialUser.getUserId(), socialUser.getEmail()));
    model.addAttribute("socialUser", socialUser);
    return "users/form";
  }
예제 #3
0
 public SocialUser build() {
   SocialUser socialUser = new SocialUser();
   socialUser.setUserId(userId);
   socialUser.setProviderId(providerId);
   socialUser.setProviderUserId(providerUserId);
   socialUser.setRank(rank);
   socialUser.setDisplayName(displayName);
   socialUser.setProfileUrl(profileUrl);
   socialUser.setImageUrl(imageUrl);
   return socialUser;
 }
예제 #4
0
  @RequestMapping("{id}/changepassword")
  public String changePasswordForm(
      @LoginUser SocialUser loginUser, @PathVariable Long id, Model model) throws Exception {
    SocialUser socialUser = userService.findById(id);
    if (!loginUser.isSameUser(socialUser)) {
      throw new IllegalArgumentException("You cann't change another user!");
    }

    model.addAttribute("socialUser", socialUser);
    model.addAttribute("password", new PasswordDto(id));
    return "users/changepassword";
  }
예제 #5
0
  @RequestMapping(value = "{id}", method = RequestMethod.PUT)
  public String update(@LoginUser SocialUser loginUser, @PathVariable Long id, UserForm userForm)
      throws Exception {
    SocialUser socialUser = userService.findById(id);
    if (!loginUser.isSameUser(socialUser)) {
      throw new IllegalArgumentException("You cann't change another user!");
    }

    userService.updateSlippUser(loginUser, userForm.getEmail(), userForm.getUserId());

    return "redirect:/users/logout";
  }
예제 #6
0
  @RequestMapping(value = "{id}/changepassword", method = RequestMethod.POST)
  public String changePassword(
      @LoginUser SocialUser loginUser, @PathVariable Long id, PasswordDto password, Model model)
      throws Exception {
    SocialUser socialUser = userService.findById(id);

    if (!loginUser.isSameUser(socialUser)) {
      throw new IllegalArgumentException("You cann't change another user!");
    }

    try {
      userService.changePassword(loginUser, password);
      return "redirect:/users/logout";
    } catch (BadCredentialsException e) {
      model.addAttribute("errorMessage", e.getMessage());
      model.addAttribute("socialUser", socialUser);
      model.addAttribute("password", new PasswordDto(id));
      return "users/changepassword";
    }
  }
예제 #7
0
 @RequestMapping("/{id}")
 public String profileById(@PathVariable Long id) throws Exception {
   SocialUser socialUser = userService.findById(id);
   return String.format(
       "redirect:/users/%d/%s", id, URLEncoder.encode(socialUser.getUserId(), "UTF-8"));
 }
예제 #8
0
 @RequestMapping(value = "", method = RequestMethod.POST)
 public String create(UserForm user, HttpServletRequest request, HttpServletResponse response) {
   SocialUser socialUser = userService.createSlippUser(user.getUserId(), user.getEmail());
   autoLoginAuthenticator.login(socialUser.getEmail(), socialUser.getRawPassword());
   return "redirect:/";
 }