summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/Export/TaskExport.php16
1 files changed, 13 insertions, 3 deletions
diff --git a/app/Export/TaskExport.php b/app/Export/TaskExport.php
index 3019906d..f0685576 100644
--- a/app/Export/TaskExport.php
+++ b/app/Export/TaskExport.php
@@ -30,11 +30,13 @@ class TaskExport extends Base
public function export($project_id, $from, $to)
{
$tasks = $this->getTasks($project_id, $from, $to);
+ $taskIds = array_column($tasks, 'id');
+ $tags = $this->taskTagModel->getTagsByTaskIds($taskIds);
$colors = $this->colorModel->getList();
$results = array($this->getColumns());
foreach ($tasks as &$task) {
- $task = $this->format($task, $colors);
+ $task = $this->format($task, $colors, $tags);
$results[] = array_values($task);
}
@@ -104,14 +106,16 @@ class TaskExport extends Base
*
* @access protected
* @param array $task
- * @param array $colors
+ * @param array $colors
+ * @param array $tags
* @return array
*/
- protected function format(array &$task, array $colors)
+ protected function format(array &$task, array $colors, array &$tags)
{
$task['is_active'] = $task['is_active'] == TaskModel::STATUS_OPEN ? e('Open') : e('Closed');
$task['color_id'] = $colors[$task['color_id']];
$task['score'] = $task['score'] ?: 0;
+ $task['tags'] = '';
$task = $this->dateParser->format(
$task,
@@ -119,6 +123,11 @@ class TaskExport extends Base
$this->dateParser->getUserDateTimeFormat()
);
+ if (isset($tags[$task['id']])) {
+ $taskTags = array_column($tags[$task['id']], 'name');
+ $task['tags'] = implode(', ', $taskTags);
+ }
+
return $task;
}
@@ -154,6 +163,7 @@ class TaskExport extends Base
e('Time estimated'),
e('Time spent'),
e('Priority'),
+ e('Tags'),
);
}
}