Skip to content

Commit 86ae7cb

Browse files
committed
URL PATH of Actions - Controller Methods Refactoring
1 parent 77e6e7e commit 86ae7cb

File tree

2 files changed

+127
-171
lines changed

2 files changed

+127
-171
lines changed

src/main/java/org/woehlke/simpleworklist/project/ProjectController.java

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,133 @@ public ProjectController(ProjectControllerService projectControllerService, Task
4343
this.taskMoveService = taskMoveService;
4444
}
4545

46+
@RequestMapping(path="/root", method = RequestMethod.GET)
47+
public final String showRootProject(
48+
@PageableDefault(sort = "orderIdProject", direction = Sort.Direction.DESC) Pageable pageable,
49+
@RequestParam(required = false) String message,
50+
@RequestParam(required = false) boolean isDeleted,
51+
@ModelAttribute("userSession") UserSessionBean userSession,
52+
Locale locale, Model model
53+
) {
54+
log.info("/project/root");
55+
Context context = super.getContext(userSession);
56+
userSession.setLastProjectId(0L);
57+
model.addAttribute("userSession",userSession);
58+
Page<Task> taskPage = taskService.findByRootProject(context,pageable);
59+
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowRootProject(locale);
60+
model.addAttribute("breadcrumb", breadcrumb);
61+
model.addAttribute("taskPage", taskPage);
62+
if(message != null){
63+
model.addAttribute("message",message);
64+
model.addAttribute("isDeleted",isDeleted);
65+
model.addAttribute("myTaskState","PROJECT");
66+
}
67+
return "project/root/show";
68+
}
69+
70+
@RequestMapping(path = "/root/add/project", method = RequestMethod.GET)
71+
public final String addNewTopLevelProjectForm(
72+
@ModelAttribute("userSession") UserSessionBean userSession,
73+
Locale locale, Model model
74+
){
75+
log.info("/project/root/add/project (GET)");
76+
Context context = super.getContext(userSession);
77+
projectControllerService.addNewProjectToRoot(userSession, context, locale, model);
78+
return "project/root/add/project";
79+
}
80+
81+
@RequestMapping(path = "/root/add/project", method = RequestMethod.POST)
82+
public final String addNewTopLevelProjectSave(
83+
@Valid Project project,
84+
@ModelAttribute("userSession") UserSessionBean userSession,
85+
BindingResult result,
86+
Locale locale, Model model
87+
){
88+
log.info("/project/root/add/project (POST)");
89+
Context context = super.getContext(userSession);
90+
return projectControllerService.addNewProjectToRootPersist(
91+
userSession,
92+
project,
93+
context,
94+
result,
95+
locale,
96+
model,
97+
"project/root"
98+
);
99+
}
100+
101+
@RequestMapping(path = "/root/add/task", method = RequestMethod.GET)
102+
public final String addNewTaskToRootProjectGet(
103+
@ModelAttribute("userSession") UserSessionBean userSession,
104+
Locale locale, Model model
105+
) {
106+
log.info("/project/root/add/task (GET)");
107+
Context context = super.getContext(userSession);
108+
UserAccount userAccount = context.getUserAccount();
109+
Task task = new Task();
110+
task.setTaskState(TaskState.INBOX);
111+
task.setTaskEnergy(TaskEnergy.NONE);
112+
task.setTaskTime(TaskTime.NONE);
113+
Project thisProject;
114+
Boolean mustChooseArea = false;
115+
thisProject = new Project();
116+
thisProject.setId(0L);
117+
if(userSession.getContextId() == 0L){
118+
mustChooseArea = true;
119+
task.setContext(userAccount.getDefaultContext());
120+
thisProject.setContext(userAccount.getDefaultContext());
121+
} else {
122+
task.setContext(context);
123+
thisProject.setContext(context);
124+
}
125+
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowOneProject(thisProject,locale);
126+
model.addAttribute("breadcrumb", breadcrumb);
127+
model.addAttribute("mustChooseArea", mustChooseArea);
128+
model.addAttribute("thisProject", thisProject);
129+
model.addAttribute("thisProjectId", thisProject.getId());
130+
model.addAttribute("breadcrumb", breadcrumb);
131+
model.addAttribute("task", task);
132+
return "project/root/add/task";
133+
}
134+
135+
@RequestMapping(path = "/root/add/task", method = RequestMethod.POST)
136+
public final String addNewTaskToRootProjectPost(
137+
@ModelAttribute("userSession") UserSessionBean userSession,
138+
@Valid Task task,
139+
BindingResult result, Locale locale, Model model
140+
) {
141+
log.info("/project/root/add/task (POST)");
142+
Context context = super.getContext(userSession);
143+
if (result.hasErrors()) {
144+
for (ObjectError e : result.getAllErrors()) {
145+
log.info(e.toString());
146+
}
147+
Boolean mustChooseArea = false;
148+
task.setContext(context);
149+
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForTaskstate(TaskState.INBOX,locale);
150+
model.addAttribute("mustChooseArea", mustChooseArea);
151+
model.addAttribute("breadcrumb", breadcrumb);
152+
model.addAttribute("task", task);
153+
return "project/root/add/task";
154+
} else {
155+
task.setProject(null);
156+
if(task.getDueDate()==null){
157+
task.setTaskState(TaskState.INBOX);
158+
} else {
159+
task.setTaskState(TaskState.SCHEDULED);
160+
}
161+
task.setFocus(false);
162+
task.setContext(context);
163+
long maxOrderIdProject = taskMoveService.getMaxOrderIdProject(task.getProject(),context);
164+
task.setOrderIdProject(++maxOrderIdProject);
165+
long maxOrderIdTaskState = taskMoveService.getMaxOrderIdTaskState(task.getTaskState(),task.getContext());
166+
task.setOrderIdTaskState(++maxOrderIdTaskState);
167+
task = taskService.saveAndFlush(task);
168+
log.info(task.toString());
169+
return "redirect:/project/root";
170+
}
171+
}
172+
46173
@RequestMapping(path = "/{projectId}", method = RequestMethod.GET)
47174
public final String showProject(
48175
@PathVariable long projectId,

src/main/java/org/woehlke/simpleworklist/project/ProjectRootController.java

Lines changed: 0 additions & 171 deletions
This file was deleted.

0 commit comments

Comments
 (0)