/** Selects the home page and populates the model with a message */ @RequestMapping(value = "/addfriend", method = RequestMethod.GET) @Transactional public String home(Model model, @RequestParam(required = false, value = "id") String id) { logger.info("Welcome home!"); User user = service.getCurrentUser(); Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, -7); if (StringUtils.isEmpty(id)) { SocialUserImpl userImpl = socailUserRepo.findOne(user.getId()); AddFriendLinkImpl link = linkRepo.findByUser_IdAndCreateDateGreaterThan(user.getId(), calendar.getTime()); if (link == null) { link = new AddFriendLinkImpl(); link.setUser(userImpl); link.setCreateDate(new Date()); link = linkRepo.save(link); } return "redirect:/social/addfriend.do?id=" + link.getId(); } else { AddFriendLinkImpl link = linkRepo.findOne(id); boolean expired = calendar.getTime().compareTo(link.getCreateDate()) >= 0; model.addAttribute("link", link); model.addAttribute("expired", expired); boolean self = link.getUser().getId().equals(user.getId()); model.addAttribute("self", self); AddFriendForm form = new AddFriendForm(); if (!self) { SocialRelationshipImpl relation = socialRelationRepo.findByFrom_IdAndTo_Id(user.getId(), link.getUser().getId()); if (relation != null) { form.setRating(relation.getRating()); form.setFriendshipType(ArrayUtil.toLongArray(relation.getRelationType())); } else { form.setRating(3F); } } else { form.setRating(3f); } model.addAttribute("addFriendForm", form); SocialUserImpl userImpl = socailUserRepo.findOne(user.getId()); model.addAttribute("hasProfile", user != null); model.addAttribute("friendshipTypes", categoryService.findByParent("friendship.type", null)); } return "social.addfriend"; }