Duplicate external links when duplicating tasks

Fixes #4748
This commit is contained in:
Frédéric Guillot
2023-04-06 20:04:15 -07:00
committed by Frédéric Guillot
parent 9c5f5a5854
commit 38e82fe5e5
6 changed files with 30 additions and 36 deletions

View File

@@ -58,9 +58,21 @@ class TaskDuplicationModel extends Base
if ($new_task_id !== false) {
$this->tagDuplicationModel->duplicateTaskTags($task_id, $new_task_id);
$this->taskLinkModel->create($new_task_id, $task_id, 4);
$externalLinks = $this->taskExternalLinkModel->getAll($task_id);
foreach ($externalLinks as $externalLink) {
$this->taskExternalLinkModel->create([
'task_id' => $new_task_id,
'creator_id' => $externalLink['creator_id'],
'dependency' => $externalLink['dependency'],
'title' => $externalLink['title'],
'link_type' => $externalLink['link_type'],
'url' => $externalLink['url'],
]);
}
}
$hook_values = [ 'source_task_id' => $task_id, 'destination_task_id' => $new_task_id];
$hook_values = ['source_task_id' => $task_id, 'destination_task_id' => $new_task_id];
$this->hook->reference('model:task:duplication:aftersave', $hook_values);
return $new_task_id;

View File

@@ -92,6 +92,18 @@ class TaskRecurrenceModel extends TaskDuplicationModel
if ($recurring_task_id !== false) {
$this->tagDuplicationModel->duplicateTaskTags($task_id, $recurring_task_id);
$externalLinks = $this->taskExternalLinkModel->getAll($task_id);
foreach ($externalLinks as $externalLink) {
$this->taskExternalLinkModel->create([
'task_id' => $recurring_task_id,
'creator_id' => $externalLink['creator_id'],
'dependency' => $externalLink['dependency'],
'title' => $externalLink['title'],
'link_type' => $externalLink['link_type'],
'url' => $externalLink['url'],
]);
}
$parent_update = $this->db
->table(TaskModel::TABLE)
->eq('id', $task_id)