Skip to content

Commit 4349099

Browse files
committed
work
1 parent 5eb9cb5 commit 4349099

File tree

4 files changed

+58
-59
lines changed

4 files changed

+58
-59
lines changed

src/main/java/org/woehlke/java/simpleworklist/application/framework/AbstractController.java

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import org.woehlke.java.simpleworklist.config.SimpleworklistProperties;
1010
import org.woehlke.java.simpleworklist.domain.context.Context;
1111
import org.woehlke.java.simpleworklist.domain.project.Project;
12+
import org.woehlke.java.simpleworklist.domain.task.Task;
1213
import org.woehlke.java.simpleworklist.domain.task.TaskService;
1314
import org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState;
1415
import org.woehlke.java.simpleworklist.domain.user.account.UserAccount;
@@ -184,6 +185,52 @@ protected UserSessionBean updateUserSession(UserSessionBean userSession){
184185
return userSession;
185186
}
186187

188+
/**
189+
* @param task
190+
* @param model
191+
* @return Project thisProject
192+
*/
193+
protected Project addProjectFromTaskToModel(Task task, Model model){
194+
Project lastProject;
195+
Project thisProject;
196+
if (task.getProject() == null) {
197+
thisProject = new Project();
198+
thisProject.setId(0L);
199+
} else {
200+
thisProject = task.getProject();
201+
}
202+
if (task.getProject() == null) {
203+
lastProject = new Project();
204+
lastProject.setId(0L);
205+
} else {
206+
lastProject = task.getLastProject();
207+
}
208+
model.addAttribute("thisProject", thisProject);
209+
model.addAttribute("lastProject", lastProject);
210+
return thisProject;
211+
}
212+
213+
protected Task addProject(Task task){
214+
Task persistentTask = taskService.findOne(task.getId());
215+
if(task.getProject() != null){
216+
Long pidt = task.getProject().getId();
217+
if (persistentTask.getProject() != null) {
218+
Long pidp = persistentTask.getProject().getId();
219+
if(pidt != null && pidt != 0L) {
220+
Project newProject = projectService.findByProjectId(pidt);
221+
persistentTask.setProject(newProject);
222+
if (pidp != null && pidp != 0L) {
223+
if (!newProject.equals(persistentTask.getProject())) {
224+
persistentTask.setLastProject(persistentTask.getProject());
225+
}
226+
}
227+
}
228+
}
229+
}
230+
persistentTask.merge(task);
231+
return persistentTask;
232+
}
233+
187234
/*
188235
protected Context getContext(UserSessionBean userSession){
189236
UserAccount thisUser = this.getUser();

src/main/java/org/woehlke/java/simpleworklist/domain/ProjectIdController.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,7 @@ public final String editTaskGet(
427427
model.addAttribute("userSession", userSession);
428428
model.addAttribute("taskstateType",PROJECTS.getType());
429429
model.addAttribute("dataPage", true);
430+
model.addAttribute("addProjectToTask", true);
430431
return "project/id/task/edit";
431432
}
432433

@@ -443,6 +444,7 @@ public final String editTaskPost(
443444
log.info("editTaskPost");
444445
model.addAttribute("taskstateType",PROJECTS.getType());
445446
model.addAttribute("dataPage", true);
447+
model.addAttribute("addProjectToTask", true);
446448
if(task.getTaskState()==TaskState.SCHEDULED && task.getDueDate()==null){
447449
String objectName="task";
448450
String field="dueDate";
@@ -460,9 +462,7 @@ public final String editTaskPost(
460462
}
461463
UserAccount userAccount = userAccountLoginSuccessService.retrieveCurrentUser();
462464
List<Context> contexts = contextService.getAllForUser(userAccount);
463-
Task persistentTask = taskService.findOne(taskId);
464-
persistentTask.merge(task);
465-
task = persistentTask;
465+
task = addProject(task);
466466
Context thisContext = task.getContext();
467467
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowOneProject(thisProject,locale,userSession);
468468
model.addAttribute("breadcrumb", breadcrumb);
@@ -477,8 +477,8 @@ public final String editTaskPost(
477477
model.addAttribute("userSession", userSession);
478478
return "project/id/task/edit";
479479
} else {
480-
task.setProject(thisProject);
481-
Task persistentTask = taskService.findOne(task.getId());
480+
task.setLastProject(thisProject);
481+
Task persistentTask = addProject(task);
482482
persistentTask.merge(task);
483483
task = taskService.updatedViaProject(persistentTask);
484484
userSession.setLastProjectId(Project.rootProjectId);

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

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -198,14 +198,8 @@ public final String editTaskGet(
198198
log.info("editTaskGet");
199199
UserAccount userAccount = userAccountLoginSuccessService.retrieveCurrentUser();
200200
List<Context> contexts = contextService.getAllForUser(userAccount);
201-
Project thisProject;
202-
if (task.getContext() == null) {
203-
thisProject = new Project();
204-
thisProject.setId(0L);
205-
} else {
206-
thisProject = task.getProject();
207-
}
208201
Context thisContext = task.getContext();
202+
Project thisProject = addProjectFromTaskToModel( task, model );
209203
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForTaskstate(task.getTaskState(),locale,userSession);
210204
model.addAttribute("breadcrumb", breadcrumb);
211205
model.addAttribute("thisProject", thisProject); //TODO: remove?
@@ -253,8 +247,8 @@ public final String editTaskPost(
253247
persistentTask.merge(task);
254248
task = persistentTask;
255249
Context thisContext = task.getContext();
256-
Project thisProject = new Project();
257-
thisProject.setId(0L);
250+
Project thisProject = addProjectFromTaskToModel( task, model );
251+
//thisProject.setId(0L);
258252
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowOneProject(thisProject,locale,userSession);
259253
model.addAttribute("breadcrumb", breadcrumb);
260254
model.addAttribute("thisProject", thisProject); //TODO: remove?

src/main/java/org/woehlke/java/simpleworklist/domain/TaskStateTaskController.java

Lines changed: 3 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -114,31 +114,6 @@ public final String addNewTaskToInboxPost(
114114
}
115115
}
116116

117-
/**
118-
* @param task
119-
* @param model
120-
* @return Project thisProject
121-
*/
122-
private Project addProjectFromTaskToModel(Task task, Model model){
123-
Project lastProject;
124-
Project thisProject;
125-
if (task.getProject() == null) {
126-
thisProject = new Project();
127-
thisProject.setId(0L);
128-
} else {
129-
thisProject = task.getProject();
130-
}
131-
if (task.getProject() == null) {
132-
lastProject = new Project();
133-
lastProject.setId(0L);
134-
} else {
135-
lastProject = task.getLastProject();
136-
}
137-
model.addAttribute("thisProject", thisProject);
138-
model.addAttribute("lastProject", lastProject);
139-
return thisProject;
140-
}
141-
142117
@RequestMapping(path = "/{taskId}/edit", method = RequestMethod.GET)
143118
public final String editTaskGet(
144119
@NotNull @PathVariable("taskId") Task task,
@@ -188,9 +163,8 @@ public final String editTaskPost(
188163
for (ObjectError e : result.getAllErrors()) {
189164
log.warn(e.toString());
190165
}
191-
Task persistentTask = taskService.findOne(taskId);
192-
persistentTask.merge(task);
193-
task = persistentTask;
166+
//Task persistentTask = taskService.findOne(taskId);
167+
task = addProject(task);
194168
UserAccount userAccount = userAccountLoginSuccessService.retrieveCurrentUser();
195169
List<Context> contexts = contextService.getAllForUser(userAccount);
196170
Project thisProject = addProjectFromTaskToModel( task, model );
@@ -204,23 +178,7 @@ public final String editTaskPost(
204178
return "taskstate/task/edit";
205179
} else {
206180
task.unsetFocus();
207-
Task persistentTask = taskService.findOne(task.getId());
208-
if(task.getProject() != null){
209-
Long pidt = task.getProject().getId();
210-
if (persistentTask.getProject() != null) {
211-
Long pidp = persistentTask.getProject().getId();
212-
if(pidt != null && pidt != 0L) {
213-
Project newProject = projectService.findByProjectId(pidt);
214-
persistentTask.setProject(newProject);
215-
if (pidp != null && pidp != 0L) {
216-
if (!newProject.equals(persistentTask.getProject())) {
217-
persistentTask.setLastProject(persistentTask.getProject());
218-
}
219-
}
220-
}
221-
}
222-
}
223-
persistentTask.merge(task);
181+
Task persistentTask = addProject(task);
224182
task = taskService.updatedViaTaskstate(persistentTask);
225183
model.addAttribute("userSession", userSession);
226184
return task.getTaskState().getUrl();

0 commit comments

Comments
 (0)