diff --git a/lib/Service/BoardService.php b/lib/Service/BoardService.php index 18bc3d24d..ec0351411 100644 --- a/lib/Service/BoardService.php +++ b/lib/Service/BoardService.php @@ -765,6 +765,8 @@ class BoardService { $fullCards = []; foreach ($cards as $card) { $fullCard = $this->cardMapper->find($card->getId()); + $assignedUsers = $this->assignedUsersMapper->findAll($card->getId()); + $fullCard->setAssignedUsers($assignedUsers); array_push($fullCards, $fullCard); } $stack->setCards($fullCards); diff --git a/src/services/BoardApi.js b/src/services/BoardApi.js index 51ced312e..41c5a0ea1 100644 --- a/src/services/BoardApi.js +++ b/src/services/BoardApi.js @@ -143,7 +143,7 @@ export class BoardApi { return axios.get(this.url(`/boards/${board.id}/export`)) .then( (response) => { - const fields = { title: t('deck', 'Card title'), description: t('deck', 'Description'), stackId: t('deck', 'List name'), labels: t('deck', 'Tags'), duedate: t('deck', 'Due date'), createdAt: t('deck', 'Created'), lastModified: t('deck', 'Modified') } + const fields = { title: t('deck', 'Card title'), description: t('deck', 'Description'), stackId: t('deck', 'List name'), labels: t('deck', 'Tags'), assignedUsers: t('deck', 'Assigned users'), duedate: t('deck', 'Due date'), createdAt: t('deck', 'Created'), lastModified: t('deck', 'Modified') } let row = '' Object.keys(fields).forEach(field => { row += '"' + fields[field] + '"' + '\t' @@ -160,16 +160,27 @@ export class BoardApi { const date = new Date(Number(card[field]) * 1000) row += '"' + date.toLocaleDateString() + '"' + '\t' } else if (field === 'stackId') { - row += '"' + stack.title + '"' + '\t' + row += '"' + stack.title.replaceAll('"', '""') + '"' + '\t' } else if (field === 'labels') { row += '"' card[field].forEach(label => { - row += label.title + ', ' + row += label.title.replaceAll('"', '""') + ', ' }) if (card[field].length > 0) { row = row.slice(0, -1) } row += '"' + '\t' + } else if (field === 'assignedUsers') { + row += '"' + card[field].forEach(assignedUsers => { + row += assignedUsers.participant.displayname.replaceAll('"', '""') + ', ' + }) + if (card[field].length > 0) { + row = row.slice(0, -1) + } + row += '"' + '\t' + } else if (field === 'description' || field === 'title') { + row += '"' + card[field].replaceAll('"', '""') + '"' + '\t' } else { row += '"' + card[field] + '"' + '\t' }