Skip to content

Commit 506d938

Browse files
committed
bugfixing
1 parent f2262bf commit 506d938

File tree

3 files changed

+111
-119
lines changed

3 files changed

+111
-119
lines changed
Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,23 @@
11
package org.woehlke.simpleworklist.task;
22

3+
import org.springframework.data.domain.Page;
4+
import org.springframework.ui.Model;
5+
import org.woehlke.simpleworklist.user.UserSessionBean;
6+
7+
import java.util.Locale;
8+
39
public interface TaskControllerService {
410

5-
String getView(Task task, String back);
11+
String getView(
12+
Task task,
13+
String back
14+
);
15+
16+
String getTaskStatePage(
17+
TaskState taskState,
18+
Page<Task> taskPage,
19+
UserSessionBean userSession,
20+
Locale locale,
21+
Model model
22+
);
623
}

src/main/java/org/woehlke/simpleworklist/task/TaskControllerServiceImpl.java

Lines changed: 33 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,51 @@
11
package org.woehlke.simpleworklist.task;
22

33
import lombok.extern.slf4j.Slf4j;
4+
import org.springframework.beans.factory.annotation.Autowired;
5+
import org.springframework.data.domain.Page;
46
import org.springframework.stereotype.Service;
7+
import org.springframework.ui.Model;
8+
import org.woehlke.simpleworklist.breadcrumb.Breadcrumb;
9+
import org.woehlke.simpleworklist.breadcrumb.BreadcrumbService;
10+
import org.woehlke.simpleworklist.user.UserSessionBean;
11+
12+
import java.util.Locale;
513

614
@Slf4j
715
@Service
816
public class TaskControllerServiceImpl implements TaskControllerService {
917

10-
public String getView(Task task,String back){
18+
@Autowired
19+
protected BreadcrumbService breadcrumbService;
20+
21+
public String getTaskStatePage(
22+
TaskState taskState,
23+
Page<Task> taskPage,
24+
UserSessionBean userSession,
25+
Locale locale,
26+
Model model
27+
){
28+
userSession.setLastTaskState(taskState);
29+
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForTaskstate(taskState,locale);
30+
model.addAttribute("breadcrumb", breadcrumb);
31+
model.addAttribute("taskPage", taskPage);
32+
model.addAttribute("taskstateType", taskState.name().toLowerCase());
33+
model.addAttribute("userSession", userSession);
34+
return taskState.name().toLowerCase();
35+
}
36+
37+
38+
//TODO: String back -> boolean project
39+
public String getView(Task task, String back){
1140
if(back != null && back.contentEquals("project")){
1241
if(task.getProject() != null) {
1342
return "redirect:/project/" + task.getProject().getId();
1443
} else {
44+
//TODO: /project/0" -> /project/root"
1545
return "redirect:/project/0";
1646
}
17-
}
18-
switch (task.getTaskState()) {
19-
case TODAY:
20-
return "redirect:/taskstate/today";
21-
case NEXT:
22-
return "redirect:/taskstate/next";
23-
case WAITING:
24-
return "redirect:/taskstate/waiting";
25-
case SCHEDULED:
26-
return "redirect:/taskstate/scheduled";
27-
case SOMEDAY:
28-
return "redirect:/taskstate/someday";
29-
case COMPLETED:
30-
return "redirect:/taskstate/completed";
31-
default:
32-
return "redirect:/taskstate/inbox";
47+
} else {
48+
return "redirect:/taskstate/"+task.getTaskState().name().toLowerCase();
3349
}
3450
}
3551

src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateController.java

Lines changed: 60 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,11 @@ public class TaskStateController extends AbstractController {
3434
private final TaskControllerService taskControllerService;
3535

3636
@Autowired
37-
public TaskStateController(TaskStateService taskStateService, TaskMoveService taskMoveService, TaskControllerService taskControllerService) {
37+
public TaskStateController(
38+
TaskStateService taskStateService,
39+
TaskMoveService taskMoveService,
40+
TaskControllerService taskControllerService
41+
) {
3842
this.taskStateService = taskStateService;
3943
this.taskMoveService = taskMoveService;
4044
this.taskControllerService = taskControllerService;
@@ -43,154 +47,118 @@ public TaskStateController(TaskStateService taskStateService, TaskMoveService ta
4347
@RequestMapping(value = "/inbox", method = RequestMethod.GET)
4448
public final String inbox(
4549
@PageableDefault(sort = "orderIdTaskState") Pageable pageable,
46-
@ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model
50+
@ModelAttribute("userSession") UserSessionBean userSession,
51+
Locale locale,
52+
Model model
4753
) {
4854
Context context = super.getContext(userSession);
49-
userSession.setLastTaskState(TaskState.INBOX);
5055
Page<Task> taskPage = taskStateService.getInbox(context, pageable);
51-
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForTaskstate(TaskState.INBOX,locale);
52-
model.addAttribute("breadcrumb", breadcrumb);
53-
model.addAttribute("taskPage", taskPage);
54-
model.addAttribute("taskstateType", "inbox");
55-
model.addAttribute("userSession", userSession);
56-
return "taskstate/inbox";
56+
return taskControllerService.getTaskStatePage(TaskState.INBOX, taskPage, userSession, locale, model);
5757
}
5858

5959
@RequestMapping(value = "/today", method = RequestMethod.GET)
6060
public final String today(
6161
@PageableDefault(sort = "orderIdTaskState", direction = Sort.Direction.DESC) Pageable pageable,
62-
@ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model
62+
@ModelAttribute("userSession") UserSessionBean userSession,
63+
Locale locale,
64+
Model model
6365
) {
6466
Context context = super.getContext(userSession);
65-
userSession.setLastTaskState(TaskState.TODAY);
6667
Page<Task> taskPage = taskStateService.getToday(context, pageable);
67-
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForTaskstate(TaskState.TODAY,locale);
68-
model.addAttribute("breadcrumb", breadcrumb);
69-
model.addAttribute("taskPage", taskPage);
70-
model.addAttribute("taskstateType", "today");
71-
model.addAttribute("userSession", userSession);
72-
return "taskstate/today";
68+
return taskControllerService.getTaskStatePage(TaskState.TODAY, taskPage, userSession, locale, model);
7369
}
7470

7571
@RequestMapping(value = "/next", method = RequestMethod.GET)
7672
public final String next(
7773
@PageableDefault(sort = "orderIdTaskState", direction = Sort.Direction.DESC) Pageable pageable,
78-
@ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model
74+
@ModelAttribute("userSession") UserSessionBean userSession,
75+
Locale locale,
76+
Model model
7977
) {
8078
Context context = super.getContext(userSession);
81-
userSession.setLastTaskState(TaskState.NEXT);
8279
Page<Task> taskPage = taskStateService.getNext(context, pageable);
83-
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForTaskstate(TaskState.NEXT,locale);
84-
model.addAttribute("breadcrumb", breadcrumb);
85-
model.addAttribute("taskPage", taskPage);
86-
model.addAttribute("taskstateType", "next");
87-
model.addAttribute("userSession", userSession);
88-
return "taskstate/next";
80+
return taskControllerService.getTaskStatePage(TaskState.NEXT, taskPage, userSession, locale, model);
8981
}
9082

9183
@RequestMapping(value = "/waiting", method = RequestMethod.GET)
9284
public final String waiting(
9385
@PageableDefault(sort = "orderIdTaskState", direction = Sort.Direction.DESC) Pageable pageable,
94-
@ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model
86+
@ModelAttribute("userSession") UserSessionBean userSession,
87+
Locale locale,
88+
Model model
9589
) {
9690
Context context = super.getContext(userSession);
97-
userSession.setLastTaskState(TaskState.WAITING);
9891
Page<Task> taskPage = taskStateService.getWaiting(context, pageable);
99-
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForTaskstate(TaskState.WAITING,locale);
100-
model.addAttribute("breadcrumb", breadcrumb);
101-
model.addAttribute("taskPage", taskPage);
102-
model.addAttribute("taskstateType", "waiting");
103-
model.addAttribute("userSession", userSession);
104-
return "taskstate/waiting";
92+
return taskControllerService.getTaskStatePage(TaskState.WAITING, taskPage, userSession, locale, model);
10593
}
10694

10795
@RequestMapping(value = "/scheduled", method = RequestMethod.GET)
10896
public final String scheduled(
10997
@PageableDefault(sort = "orderIdTaskState", direction = Sort.Direction.DESC) Pageable pageable,
110-
@ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model
98+
@ModelAttribute("userSession") UserSessionBean userSession,
99+
Locale locale,
100+
Model model
111101
) {
112102
Context context = super.getContext(userSession);
113-
userSession.setLastTaskState(TaskState.SCHEDULED);
114103
Page<Task> taskPage = taskStateService.getScheduled(context, pageable);
115-
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForTaskstate(TaskState.SCHEDULED,locale);
116-
model.addAttribute("breadcrumb", breadcrumb);
117-
model.addAttribute("taskPage", taskPage);
118-
model.addAttribute("taskstateType", "scheduled");
119-
model.addAttribute("userSession", userSession);
120-
return "taskstate/scheduled";
104+
return taskControllerService.getTaskStatePage(TaskState.SCHEDULED, taskPage, userSession, locale, model);
121105
}
122106

123107
@RequestMapping(value = "/someday", method = RequestMethod.GET)
124108
public final String someday(
125109
@PageableDefault(sort = "orderIdTaskState", direction = Sort.Direction.DESC) Pageable pageable,
126-
@ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model
110+
@ModelAttribute("userSession") UserSessionBean userSession,
111+
Locale locale,
112+
Model model
127113
) {
128114
Context context = super.getContext(userSession);
129-
userSession.setLastTaskState(TaskState.SOMEDAY);
130115
Page<Task> taskPage = taskStateService.getSomeday(context, pageable);
131-
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForTaskstate(TaskState.SOMEDAY,locale);
132-
model.addAttribute("breadcrumb", breadcrumb);
133-
model.addAttribute("taskPage", taskPage);
134-
model.addAttribute("taskstateType", "someday");
135-
model.addAttribute("userSession", userSession);
136-
return "taskstate/someday";
116+
return taskControllerService.getTaskStatePage(TaskState.SOMEDAY, taskPage, userSession, locale, model);
137117
}
138118

139119
@RequestMapping(value = "/completed", method = RequestMethod.GET)
140120
public final String completed(
141121
@PageableDefault(sort = "orderIdTaskState", direction = Sort.Direction.DESC) Pageable pageable,
142-
@ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model
122+
@ModelAttribute("userSession") UserSessionBean userSession,
123+
Locale locale,
124+
Model model
143125
) {
144126
Context context = super.getContext(userSession);
145-
userSession.setLastTaskState(TaskState.COMPLETED);
146127
Page<Task> taskPage = taskStateService.getCompleted(context, pageable);
147-
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForTaskstate(TaskState.COMPLETED,locale);
148-
model.addAttribute("breadcrumb", breadcrumb);
149-
model.addAttribute("taskPage", taskPage);
150-
model.addAttribute("taskstateType", "completed");
151-
model.addAttribute("userSession", userSession);
152-
return "taskstate/completed";
128+
return taskControllerService.getTaskStatePage(TaskState.COMPLETED, taskPage, userSession, locale, model);
153129
}
154130

155131
@RequestMapping(value = "/trash", method = RequestMethod.GET)
156132
public final String trash(
157133
@PageableDefault(sort = "orderIdTaskState", direction = Sort.Direction.DESC) Pageable pageable,
158-
@ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model
134+
@ModelAttribute("userSession") UserSessionBean userSession,
135+
Locale locale,
136+
Model model
159137
) {
160138
Context context = super.getContext(userSession);
161-
userSession.setLastTaskState(TaskState.TRASH);
162139
Page<Task> taskPage = taskStateService.getTrash(context, pageable);
163-
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForTaskstate(TaskState.TRASH,locale);
164-
model.addAttribute("breadcrumb", breadcrumb);
165-
model.addAttribute("taskPage", taskPage);
166-
model.addAttribute("taskstateType", "trash");
167-
model.addAttribute("userSession", userSession);
168-
return "taskstate/trash";
140+
return taskControllerService.getTaskStatePage(TaskState.TRASH, taskPage, userSession, locale, model);
169141
}
170142

171143
@RequestMapping(value = "/focus", method = RequestMethod.GET)
172144
public final String focus(
173145
@PageableDefault(sort = "orderIdTaskState", direction = Sort.Direction.DESC) Pageable pageable,
174-
@ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model
146+
@ModelAttribute("userSession") UserSessionBean userSession,
147+
Locale locale,
148+
Model model
175149
) {
176150
Context context = super.getContext(userSession);
177-
userSession.setLastTaskState(TaskState.FOCUS);
178151
Page<Task> taskPage = taskStateService.getFocus(context, pageable);
179-
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForTaskstate(TaskState.FOCUS,locale);
180-
model.addAttribute("breadcrumb", breadcrumb);
181-
model.addAttribute("taskPage", taskPage);
182-
model.addAttribute("taskstateType", "focus");
183-
model.addAttribute("userSession", userSession);
184-
return "taskstate/focus";
152+
return taskControllerService.getTaskStatePage(TaskState.FOCUS, taskPage, userSession, locale, model);
185153
}
186154

187155
@RequestMapping(value = "/{sourceTaskId}/changeorderto/{destinationTaskId}", method = RequestMethod.GET)
188156
public String changeTaskOrderId(
189-
@PathVariable("sourceTaskId") Task sourceTask,
190-
@PathVariable("destinationTaskId") Task destinationTask,
191-
@ModelAttribute("userSession") UserSessionBean userSession, Model model
157+
@PathVariable("sourceTaskId") Task sourceTask,
158+
@PathVariable("destinationTaskId") Task destinationTask,
159+
@ModelAttribute("userSession") UserSessionBean userSession,
160+
Model model
192161
){
193-
Context context = super.getContext(userSession);
194162
userSession.setLastTaskState(sourceTask.getTaskState());
195163
model.addAttribute("userSession", userSession);
196164
log.info("------------- changeTaskOrderId -------------");
@@ -203,7 +171,9 @@ public String changeTaskOrderId(
203171
}
204172

205173
@RequestMapping(path = "/complete/{taskId}", method = RequestMethod.GET)
206-
public final String setDoneTaskGet(@PathVariable("taskId") Task task) {
174+
public final String setDoneTaskGet(
175+
@PathVariable("taskId") Task task
176+
) {
207177
if(task != null){
208178
long maxOrderIdTaskState = taskMoveService.getMaxOrderIdTaskState(TaskState.COMPLETED,task.getContext());
209179
task.setOrderIdTaskState(++maxOrderIdTaskState);
@@ -213,38 +183,25 @@ public final String setDoneTaskGet(@PathVariable("taskId") Task task) {
213183
}
214184

215185
@RequestMapping(path = "/incomplete/{taskId}", method = RequestMethod.GET)
216-
public final String unsetDoneTaskGet(@PathVariable("taskId") Task task) {
186+
public final String unsetDoneTaskGet(
187+
@PathVariable("taskId") Task task
188+
) {
217189
if(task !=null) {
218190
taskService.incomplete(task);
219191
long maxOrderIdTaskState = taskMoveService.getMaxOrderIdTaskState(task.getTaskState(),task.getContext());
220192
task.setOrderIdTaskState(++maxOrderIdTaskState);
221193
taskService.saveAndFlush(task);
222-
switch (task.getTaskState()) {
223-
case TODAY:
224-
return "redirect:/taskstate/today";
225-
case NEXT:
226-
return "redirect:/taskstate/next";
227-
case WAITING:
228-
return "redirect:/taskstate/waiting";
229-
case SCHEDULED:
230-
return "redirect:/taskstate/scheduled";
231-
case SOMEDAY:
232-
return "redirect:/taskstate/someday";
233-
case COMPLETED:
234-
return "redirect:/taskstate/completed";
235-
case TRASH:
236-
return "redirect:/taskstate/trash";
237-
default:
238-
return "redirect:/taskstate/inbox";
239-
}
194+
return "redirect:/taskstate/"+task.getTaskState().name().toLowerCase();
240195
} else {
241196
return "redirect:/taskstate/inbox";
242197
}
243198
}
244199

245200
@RequestMapping(path = "/setfocus/{taskId}", method = RequestMethod.GET)
246-
public final String setFocusGet(@PathVariable("taskId") Task task,
247-
@RequestParam(required=false) String back){
201+
public final String setFocusGet(
202+
@PathVariable("taskId") Task task,
203+
@RequestParam(required=false) String back
204+
){
248205
if(task !=null) {
249206
taskService.setFocus(task);
250207
return taskControllerService.getView(task,back);
@@ -254,8 +211,10 @@ public final String setFocusGet(@PathVariable("taskId") Task task,
254211
}
255212

256213
@RequestMapping(path = "/unsetfocus/{taskId}", method = RequestMethod.GET)
257-
public final String unsetFocusGet(@PathVariable("taskId") Task task,
258-
@RequestParam(required=false) String back){
214+
public final String unsetFocusGet(
215+
@PathVariable("taskId") Task task,
216+
@RequestParam(required=false) String back
217+
){
259218
if(task !=null) {
260219
taskService.unsetFocus(task);
261220
return taskControllerService.getView(task,back);

0 commit comments

Comments
 (0)