diff options
author | Frédéric Guillot <fred@kanboard.net> | 2014-11-23 18:23:20 -0500 |
---|---|---|
committer | Frédéric Guillot <fred@kanboard.net> | 2014-11-23 18:23:20 -0500 |
commit | 81df22de238bc36d810b95ad67a4426db095fbab (patch) | |
tree | 53231a3d46b6b7c54eaec515016247984cf7a4e4 /app/Model/SubTask.php | |
parent | f684602ebedc0adc4a329693ba524ad46d5cd8b0 (diff) |
Create TaskDuplication model
Diffstat (limited to 'app/Model/SubTask.php')
-rw-r--r-- | app/Model/SubTask.php | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/app/Model/SubTask.php b/app/Model/SubTask.php index 25979eda..87820c69 100644 --- a/app/Model/SubTask.php +++ b/app/Model/SubTask.php @@ -193,22 +193,22 @@ class SubTask extends Base */ public function duplicate($src_task_id, $dst_task_id) { - $subtasks = $this->db->table(self::TABLE) - ->columns('title', 'time_estimated') - ->eq('task_id', $src_task_id) - ->findAll(); + return $this->db->transaction(function ($db) use ($src_task_id, $dst_task_id) { - foreach ($subtasks as &$subtask) { + $subtasks = $db->table(self::TABLE) + ->columns('title', 'time_estimated') + ->eq('task_id', $src_task_id) + ->findAll(); - $subtask['task_id'] = $dst_task_id; - $subtask['time_spent'] = 0; + foreach ($subtasks as &$subtask) { - if (! $this->db->table(self::TABLE)->save($subtask)) { - return false; - } - } + $subtask['task_id'] = $dst_task_id; - return true; + if (! $db->table(self::TABLE)->save($subtask)) { + return false; + } + } + }); } /** |