Skip to content

Commit 03537da

Browse files
committed
work in progres
1 parent c319a2a commit 03537da

File tree

2 files changed

+30
-51
lines changed

2 files changed

+30
-51
lines changed

src/main/java/org/woehlke/simpleworklist/breadcrumb/BreadcrumbServiceImpl.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ public Breadcrumb getBreadcrumbForShowOneProject(Project thisProject, Locale loc
3939
log.info("getBreadcrumbForShowOneProject");
4040
Breadcrumb breadcrumb = new Breadcrumb(locale);
4141
breadcrumb.addProjectRoot();
42+
if(thisProject == null){
43+
return breadcrumb;
44+
} else {
4245
if (thisProject.getId() > 0) {
4346
Stack<Project> stack = new Stack<>();
4447
Project breadcrumbProject = thisProject;
@@ -50,7 +53,8 @@ public Breadcrumb getBreadcrumbForShowOneProject(Project thisProject, Locale loc
5053
breadcrumb.addProject(stack.pop());
5154
}
5255
}
53-
return breadcrumb;
56+
return breadcrumb;
57+
}
5458
}
5559

5660
@Override

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

Lines changed: 25 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -98,18 +98,18 @@ public final String editTaskGet(
9898
Locale locale, Model model
9999
) {
100100
log.info("editTaskGet");
101-
UserAccount userAccount = userAccountLoginSuccessService.retrieveCurrentUser();
102-
List<Context> contexts = contextService.getAllForUser(userAccount);
103101
if(task != null) {
104-
Project thisProject = null;
105-
if (task.getProject() == null) {
102+
UserAccount userAccount = userAccountLoginSuccessService.retrieveCurrentUser();
103+
List<Context> contexts = contextService.getAllForUser(userAccount);
104+
Project thisProject;
105+
if (task.getContext() == null) {
106106
thisProject = new Project();
107107
thisProject.setId(0L);
108108
} else {
109109
thisProject = task.getProject();
110110
}
111111
Context thisContext = task.getContext();
112-
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowOneProject(thisProject,locale);
112+
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForTaskstate(task.getTaskState(),locale);
113113
model.addAttribute("breadcrumb", breadcrumb);
114114
model.addAttribute("thisProject", thisProject);
115115
model.addAttribute("thisContext", thisContext);
@@ -131,63 +131,38 @@ public final String editTaskPost(
131131
Model model
132132
) {
133133
log.info("editTaskPost");
134-
if (result.hasErrors() || taskId != task.getId()) {
135-
if(result.hasErrors()) {
136-
log.warn("result.hasErrors");
137-
for (ObjectError e : result.getAllErrors()) {
138-
log.error(e.toString());
139-
}
140-
}
141-
if (taskId != task.getId()) {
142-
log.error("taskId "+taskId+" != task.getId "+task.getId());
134+
if (result.hasErrors() ) {
135+
log.warn("result.hasErrors");
136+
for (ObjectError e : result.getAllErrors()) {
137+
log.error(e.toString());
143138
}
144139
Task persistentTask = taskService.findOne(taskId);
145-
if(task.getId()!= persistentTask.getId()){
146-
log.error("task.getId()!= persistentTask.getId()");
147-
}
148-
if(persistentTask.isInRootProject()) {
149-
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowRootProject(locale);
150-
model.addAttribute("breadcrumb", breadcrumb);
151-
task.setRootProject();
140+
persistentTask.merge(task);
141+
task = persistentTask;
142+
UserAccount userAccount = userAccountLoginSuccessService.retrieveCurrentUser();
143+
List<Context> contexts = contextService.getAllForUser(userAccount);
144+
Project thisProject;
145+
if (task.getContext() == null) {
146+
thisProject = new Project();
147+
thisProject.setId(0L);
152148
} else {
153-
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowOneProject(persistentTask.getProject(),locale);
154-
model.addAttribute("breadcrumb", breadcrumb);
155-
task.setProject(persistentTask.getProject());
149+
thisProject = task.getProject();
156150
}
151+
Context thisContext = task.getContext();
152+
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowOneProject(thisProject,locale);
153+
model.addAttribute("breadcrumb", breadcrumb);
154+
model.addAttribute("thisProject", thisProject);
155+
model.addAttribute("thisContext", thisContext);
157156
model.addAttribute("task", task);
157+
model.addAttribute("areas", contexts);
158158
return "taskstate/task/edit";
159159
} else {
160-
/*
161-
Task persistentTask = taskService.findOne(taskId);
162-
persistentTask.updateTo(task);
163-
persistentTask.switchTaskState(task.getTaskState(), task.getContext(), task.getDueDate(), thisProject); if(task.getDueDate()==null){
164-
persistentTask.setDueDate(null);
165-
if(persistentTask.getTaskState().compareTo(TaskState.SCHEDULED)==0){
166-
persistentTask.setTaskState(task.getTaskState());
167-
}
168-
} else {
169-
persistentTask.setDueDate(task.getDueDate());
170-
persistentTask.setTaskState(TaskState.SCHEDULED);
171-
}
172-
boolean contextChanged = persistentTask.getContext().equalsById();
173-
if(contextChanged){
174-
persistentTask.setContext(task.getContext());
175-
if(thisProject.getId()==0L) {
176-
persistentTask.setRootProject();
177-
} else if(thisProject.getContext().equalsById(task.getContext())){
178-
persistentTask.setProject(thisProject);
179-
}
180-
userSession.setContextId(task.getContext().getId());
181-
model.addAttribute("userSession", userSession);
182-
return "redirect:/project/root";
183-
}
184-
*/
185160
task.unsetFocus();
186161
task.setRootProject();
187162
Task persistentTask = taskService.findOne(task.getId());
188163
persistentTask.merge(task);
189164
task = taskService.updatedViaTaskstate(persistentTask);
190-
return "redirect:" + task.getTaskState().getUrl();
165+
return task.getTaskState().getUrl();
191166
}
192167
}
193168

0 commit comments

Comments
 (0)