summaryrefslogtreecommitdiff
path: root/app/Model/SubTask.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Model/SubTask.php')
-rw-r--r--app/Model/SubTask.php24
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;
+ }
+ }
+ });
}
/**