diff --git a/module/task/control.php b/module/task/control.php index 5bccbd8e92..b021810187 100644 --- a/module/task/control.php +++ b/module/task/control.php @@ -1070,6 +1070,9 @@ class task extends control continue; } + /* Skip parent task when batch close task. */ + if($task->parent == '-1') continue; + /* Skip closed task when batch close task. */ if($task->status == 'closed') continue; $changes = $this->task->close($taskID); diff --git a/module/task/model.php b/module/task/model.php index 0762521ffe..330260246a 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -525,12 +525,12 @@ class taskModel extends model $newParentTask = $this->dao->select('*')->from(TABLE_TASK)->where('id')->eq($parentID)->fetch(); $changes = common::createChanges($oldParentTask, $newParentTask); $action = ''; - if($status == 'done') $action = 'Finished'; - if($status == 'closed') $action = 'Closed'; - if($status == 'pause') $action = 'Paused'; - if($status == 'cancel') $action = 'Canceled'; - if($status == 'doing' and $parentTask->status == 'wait') $action = 'Started'; - if($status == 'doing' and $parentTask->status == 'pause') $action = 'Restarted'; + if($status == 'done' and $parentTask->status != 'done') $action = 'Finished'; + if($status == 'closed' and $parentTask->status != 'closed') $action = 'Closed'; + if($status == 'pause' and $parentTask->status != 'paused') $action = 'Paused'; + if($status == 'cancel' and $parentTask->status != 'cancel') $action = 'Canceled'; + if($status == 'doing' and $parentTask->status == 'wait') $action = 'Started'; + if($status == 'doing' and $parentTask->status == 'pause') $action = 'Restarted'; if($status == 'doing' and $parentTask->status != 'wait' and $parentTask->status != 'pause') $action = 'Activated'; if($action) {