From b6b733b22f9e9f38786166c1274b135a99bce02a Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sat, 20 Jun 2015 16:50:52 -0400 Subject: Close all subtasks when a task is closed --- app/Model/Subtask.php | 12 ++++++++++++ app/Model/TaskStatus.php | 3 ++- app/Template/task/close.php | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) (limited to 'app') diff --git a/app/Model/Subtask.php b/app/Model/Subtask.php index 65fa0f0c..a869ae91 100644 --- a/app/Model/Subtask.php +++ b/app/Model/Subtask.php @@ -227,6 +227,18 @@ class Subtask extends Base return $result; } + /** + * Close all subtasks of a task + * + * @access public + * @param integer $task_id + * @return boolean + */ + public function closeAll($task_id) + { + return $this->db->table(self::TABLE)->eq('task_id', $task_id)->update(array('status' => self::STATUS_DONE)); + } + /** * Get subtasks with consecutive positions * diff --git a/app/Model/TaskStatus.php b/app/Model/TaskStatus.php index 30a65e1e..3f62667c 100644 --- a/app/Model/TaskStatus.php +++ b/app/Model/TaskStatus.php @@ -62,6 +62,7 @@ class TaskStatus extends Base */ public function close($task_id) { + $this->subtask->closeAll($task_id); return $this->changeStatus($task_id, Task::STATUS_CLOSED, time(), Task::EVENT_CLOSE); } @@ -113,7 +114,7 @@ class TaskStatus extends Base } /** - * Check the status of task + * Check the status of a task * * @access private * @param integer $task_id Task id diff --git a/app/Template/task/close.php b/app/Template/task/close.php index 79150333..160d5400 100644 --- a/app/Template/task/close.php +++ b/app/Template/task/close.php @@ -4,7 +4,7 @@

- e($task['title'])) ?> + e($task['title'])) ?>

-- cgit v1.2.3