Fix for not completing down the chain in cascading mode

pull/14/head
Tim Su 14 years ago
parent b3eb181c17
commit 2d8ee0ad96

@ -221,15 +221,18 @@ public class SubtasksFragmentHelper {
final long itemId = item.getId(); final long itemId = item.getId();
final Task model = new Task(); final Task model = new Task();
model.setValue(Task.COMPLETION_DATE, completedState ? DateUtilities.now() : 0); final long completionDate = completedState ? DateUtilities.now() : 0;
if(completedState == false) { if(completedState == false) {
ArrayList<Long> chained = chainedCompletions.get(itemId); ArrayList<Long> chained = chainedCompletions.get(itemId);
if(chained != null) { if(chained != null) {
for(Long taskId : chained) { for(Long taskId : chained) {
taskAdapter.getCompletedItems().put(taskId, false);
model.setId(taskId); model.setId(taskId);
model.setValue(Task.COMPLETION_DATE, completionDate);
taskService.save(model); taskService.save(model);
model.clear();
taskAdapter.getCompletedItems().put(taskId, false);
} }
taskAdapter.notifyDataSetInvalidated(); taskAdapter.notifyDataSetInvalidated();
} }
@ -241,7 +244,10 @@ public class SubtasksFragmentHelper {
@Override @Override
public void visitNode(Node node) { public void visitNode(Node node) {
model.setId(node.taskId); model.setId(node.taskId);
model.setValue(Task.COMPLETION_DATE, completionDate);
taskService.save(model); taskService.save(model);
model.clear();
taskAdapter.getCompletedItems().put(node.taskId, true); taskAdapter.getCompletedItems().put(node.taskId, true);
chained.add(node.taskId); chained.add(node.taskId);
} }

Loading…
Cancel
Save