37 @Autowired |
36 @Autowired |
38 private ProjectsRepository projectsRepository; |
37 private ProjectsRepository projectsRepository; |
39 |
38 |
40 @Autowired |
39 @Autowired |
41 private SpacesRepository spacesRepository; |
40 private SpacesRepository spacesRepository; |
42 |
|
43 private String buildBaseUrl(HttpServletRequest request) { |
|
44 StringBuffer baseUrl = request.getRequestURL(); |
|
45 boolean firstParam = true; |
|
46 Enumeration<?> namesEnum = request.getParameterNames(); |
|
47 while(namesEnum.hasMoreElements()) { |
|
48 String paramName = |
|
49 (String)namesEnum.nextElement(); |
|
50 |
|
51 if("p.page".equals(paramName)) { |
|
52 continue; |
|
53 } |
|
54 for(String val:request.getParameterValues(paramName)) { |
|
55 if(firstParam) { |
|
56 baseUrl.append('?'); |
|
57 firstParam = false; |
|
58 } |
|
59 else { |
|
60 baseUrl.append('&'); |
|
61 } |
|
62 baseUrl.append(paramName).append('=').append(val); |
|
63 } |
|
64 } |
|
65 return baseUrl.toString(); |
|
66 } |
|
67 |
41 |
68 @RequestMapping(value="", method = RequestMethod.GET, produces={"text/html;charset=UTF-8"}) |
42 @RequestMapping(value="", method = RequestMethod.GET, produces={"text/html;charset=UTF-8"}) |
69 public String renkanIndex(Model model, @PageableDefaults(sort={"created"}, sortDir=Direction.DESC, pageNumber=0, value=Constants.PAGINATION_SIZE) Pageable p, HttpServletRequest request) { |
43 public String renkanIndex(Model model, @PageableDefaults(sort={"created"}, sortDir=Direction.DESC, pageNumber=0, value=Constants.PAGINATION_SIZE) Pageable p, HttpServletRequest request) { |
70 |
44 |
71 Page<Space> page = this.spacesRepository.findAll(p); |
45 Page<Space> page = this.spacesRepository.findAll(p); |
72 |
46 |
73 model.addAttribute("page", page); |
47 model.addAttribute("page", page); |
74 model.addAttribute("baseUrl", this.buildBaseUrl(request)); |
48 model.addAttribute("baseUrl", Utils.buildBaseUrl(request)); |
75 model.addAttribute("projectsCount", this.projectsRepository.getCountBySpace()); |
49 model.addAttribute("projectsCount", this.projectsRepository.getCountBySpace()); |
76 |
50 |
77 return "renkanIndex"; |
51 return "renkanIndex"; |
78 } |
52 } |
79 |
53 |
97 model.put("space", space); |
71 model.put("space", space); |
98 |
72 |
99 Page<Project> page = this.projectsRepository.findBySpaceId(spaceId, p); |
73 Page<Project> page = this.projectsRepository.findBySpaceId(spaceId, p); |
100 |
74 |
101 model.put("page", page); |
75 model.put("page", page); |
102 model.put("baseUrl", this.buildBaseUrl(request)); |
76 model.put("baseUrl", Utils.buildBaseUrl(request)); |
103 |
77 |
104 return new ModelAndView("projectIndex", model); |
78 return new ModelAndView("projectIndex", model); |
105 } |
79 } |
106 |
80 |
107 |
81 |